Anti-Cracking Protection

Concluído Postado Jun 23, 2009 Pago na entrega
Concluído Pago na entrega

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.

Programação C Segurança de computadores Pesquisa Área de trabalho do Windows

ID do Projeto: #456332

Sobre o projeto

4 propostas Projeto remoto Ativo em Jun 24, 2009

Concedido a:

AlifeSoft

Hello. Details is in PM.

$80 USD em 7 dias
(20 Comentários)
4.7

4 freelancers estão ofertando em média $195 nesse trabalho

antelle

Please see PMB.thanks.

$250 USD in 0 dias
(6 Comentários)
3.7
mtomy

I can do it.

$200 USD in 7 dias
(0 Comentários)
0.0
cikara21

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

$250 USD in 0 dias
(0 Comentários)
0.0