Käynnissä

Anti-Cracking Protection

I'm searching for somebody to help me build a simple anti-cracking protection for my windows application. You would be working on a sketch of the application (just the protection).

I just want to focus on making the protection code hard to understand/crack. To do this I need multiple versions of protection code that work on different memory locations and do different levels of protection. I'll try to explain more below:

Right now I have a set of valid licenses that I want to enable. It's just a simple white-list. To make this harder to find in the code I'm thinking of hardcoding the encrypted version of the licenses into the application itself with some asymmetric encryption.

At runtime the app can decrypt the licenses and store them into a complex searcheable data structure (should be hard to understand for the cracker). The decryption should be using hard-coded keys, make them look like program code or function calls (i.e., "73AF" or "GetWindowText").

As I was saying before I need multiple versions of the protection code to use at different places in the program so that to make it harder to bypass all the protection. Some validation code versions should check the licenses only partially (first 3 letters are correct etc), so that to be able to make the checking as different as possible.

Don't just output 1/0 (true/false) from the validation code:

- create IFs with different condition arguments (but always true if license is ok, and false if license can't be proven to be wrong); use macros that define the IF conditions so that to make them non-standard

- create variables that hold the validation value, but also a macro that allows the transformation of the variable so that to get a 1/0 out of it; so define a macro that sets for example "validation_results = 5" but also a macro that takes validation_result and makes it 1/0; in this case if 5 means true and 4 means false then it would do validation_results-4

Create some way of adding conditional jumps (based on variables derived from the license data) that don't do anything just make the disassembly hard to read; this means that they should amount to useless jumping around the actual jumps that protect the code.

Use events (ex: strings of timers for validation) or threads to make the validation code hard to debug.

Do two types of validation macros: instant ones (no delays), and ones that are not instant (using timers/events); try to use wxWidgets all the time Detect SoftIce (new versions) in as many ways as possible (while not using any code that could break the program).

Here are some articles on anti-cracking:

[url removed, login to view]

[url removed, login to view]

[url removed, login to view]

IMPORTANT:

You can implement only a subset of the features I described above. Please let me know which of the types of protection you would be interested in working on.

Taidot: C-ohjelmointi, Tietoturva, Tutkimus, Windows Desktop

Näytä lisää: anti cracking protection, white & case, white and case, use case types, use case simple example, use case levels, types of searching in data structure, types of searching in c, types of data structure, types data structure, strings for c standard, standard c types, sets in data structure, set in data structure, set data structure, searching strings, searching in data structure, searching data structure, list in data structure, list data structure, license use runtime, letters example, explain data structure, example letters, different types of data structure

About the Employer:
( 1 review ) Baia Mare, Romania

Projektin tunnus: #456332

Myönnetty käyttäjälle:

AlifeSoft

Hello. Details is in PM.

80 $ USD 7 päivässä
(20 arvostelua)
4.7

4 freelanceria on tarjonnut keskimäärin 195 $ tähän työhön

antelle

Please see PMB.thanks.

250 $ USD 0 päivässä
(6 arvostelua)
3.7
mtomy

I can do it.

200 $ USD 7 päivässä
(0 arvostelua)
0.0
cikara21

Dear Sir..I do..Let me know when you need me..Thanks

250 $ USD 0 päivässä
(0 arvostelua)
0.0