|
Not knowingly so. I use debugger only during development. I compile as release from time to time to make sure it behaves as expected.
I use CodeBlocks with GNU CC compiler. Started with C99, I am using C11 (no C++ for my project). Haven't moved up to C17 yet. In any event, the cycle from development to users is short and direct. But the code is getting old and so am I. It's uses GLFW to great extent but link direct (no DLL's).
|
|
|
|
|
BTW, I hate DLL's. They are nothing but lose ends as far as I am concerned. I want as few dependencies as possible when I deliver .exe
|
|
|
|
|
this experience is precious for me.
diligent hands rule....
|
|
|
|
|
I am curious as to how you plan to sell this, and to whom you would offer it...
Is it worth the effort to be a "product"?
Will you serialize the DLL?
One of my favorite techniques is simply that of a Custom KEY that enables the function to work.
So, you call this method, you pass in the key to an initialization function. That sets the flag so the function will work,
and potentially how it will work. (For example, you can make a demo version that requires the DLL to be unloaded and reloaded after EACH or Every 10 uses).
And finally, you can create a custom version of the DLL, signed to a specific customer. And let them know it is duly signed. I would make it work such that their key works with ONLY that signed object.
Now, if you EVER catch a version floating in the wild. You stand a chance of knowing where it leaked out from.
if I were selling this for $200k/license. This would be a no-brainer.
at $20/license... Not sure I would bother.
this is where you analyze your risk/reward... Because it might be a great "function", but are people willing to pay for it?
And will those people tend to "SHARE" or "VIOLATE" their license agreement?
|
|
|
|
|
Encrypt the DLL with Social Security/government ID of the purchaser and have it embedded in each custom built DLL.
No one will ever share their copy!
Say it is “blockchain” and it will sell!
|
|
|
|
|
it is a very good idea, feasible for me.. :
diligent hands rule....
|
|
|
|
|
there are commercial tools that will encrypt your DLL, and only allow decryption if the user has that product's Runtime installed, and a certain hardware- or software-based license is available on the system that tries to run it.
This might be too much investment for a small company, but whether it makes sense for you or not depends on your industry and the price / value of your product.
If you make high-value hardware/software and need to manage client licenses etc, then CodeMeter by Wibu Systems is worth a look. There are plenty of less complicated alternatives, as well.
|
|
|
|
|
thank you very much for CodeMeter info!
diligent hands rule....
|
|
|
|
|
Sorry for the late post.
If a hacker were to reverse engineer your C++ code, they would use IDA Pro by Hex Rays.
Cleaning up the disassembly result and re-constructing your algorithm would take about a day or so.
I have a good mathematical function
Are you sure about that?
In my experience, every algorithm in existence has been written in C++ already.
If pseudo-code exists for it --> it has been written in C++.
If a white-paper exist for it --> it has been written in C++.
If you can do it in MATLAB --> it has been written in C++.
The only area where I could imagine a novel algorithm would be worth anything, is the industrial IoT niche.
Or the embedded hardware niche, if we're talking handicapped chips handling edge cases.
Anything general purpose has been done to death a million times over.
|
|
|
|
|
thanks for your comments!
what I want to protect is a series of data points can be used to forecast future events in a specific domain.
I plan to wrap it up into a function in C/C++.
diligent hands rule....
|
|
|
|
|
So.. flow dynamics for industrial process control? Or something in that ballpark?
If you want to protect a proprietary dataset, the best approach would be to store it encrypted, and decrypt it based on a personal license or hardware key. This implies some level of OS interaction. To cut to the meat of it: C++ is, generally speaking, too low-level for that.
Start with identifying your target OS, look up what mechanisms are provided for signed/tamper proof applications, and try to design your application within the constraints of those examples.
E.g. for a Windows platform you would need to look at guides for creating tamper proof applications with .NET, but you could do the same on MacOS, or Java. The thing is, you need some type of encryption, and OS level support that is impractically hard to circumvent. At the end of the day, it's all just bits and bytes when it runs, nothing can obfuscate the data way, you can only make it impractical to intercept it.
|
|
|
|
|
your input is inspirational
diligent hands rule....
|
|
|
|
|
if you don't know the answer I doubt if your algo is anything worth hiding - everything worth discovering has already been discovered
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
I mean, there's like, nothing, in Web Development for weeks and weeks. Does nobody here do any web development? Or are all such experts that they have no questions?
|
|
|
|
|
I thought about this question long time ago.
My speculation is that lesser people are working on web development areas in US now...
diligent hands rule....
|
|
|
|
|
All the idiots went to Q&A..
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I do 90% web development... It just happened I had no questions I couldn't find the answer for in a long time...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
I can only speak for myself, but posting programming questions here on CP, especially for web development, is a last resort. It's unusual when I have a web development issue where I can't find solutions using Google...which occasionally leads back here!
That's true with all programming questions. I don't ask here because I usually don't need to...even if I did, I'd likely post under Q/A due to the fact that, as you mentioned, the other forums don't get that much traffic.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
technical saturation?
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Too many possible choices!
Good luck, dudes!
Wordle 282 X/6
⬜🟨🟨⬜🟨
🟨🟩🟩⬜⬜
⬜🟩🟩⬜🟩
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
modified 27-Mar-22 16:01pm.
|
|
|
|
|
Sheesh, that tells us it is a common last four letters...
THERE IS THE HINT THEY GAVE US GUYS! USE IT!
|
|
|
|
|
Wordle 282 6/6
⬜⬜⬜⬜⬜
🟨🟩⬜⬜⬜
⬜⬜⬜🟨⬜
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
All those misses helped, I was down to 3 choices for the first letter with two shots left.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Wordle 282 6/6
⬜🟨⬜⬜🟨
⬜⬜🟨🟨🟩
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Many words ending with the same four letters.
|
|
|
|
|
4 for me:
Wordle 282 4/6
⬜⬜⬜⬜⬜
⬜🟩🟩⬜⬜
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩 Lucky guess with # four though.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
2/6
⬜⬜⬜⬜⬜
🟩🟩🟩🟩🟩
Well, exactly today I decided to put a spin on one of my starting words and I hit it right-ish off the bat.
EDIT: And oh my gosh, the two words I used actually describe what's happened with this Wordle I don't know how to put the "spoiler" text though.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|