Introducere în protecția programelor shareware, vr-online - e-zine gratuit pentru toți

Doar nu construiești iluzii, apărare care nu poate fi încă hacked, nimeni nu putea scrie, chiar și o companie cu un buget uriaș și un personal de specialiști în domeniu. Deci, dacă ați scris ceva meritat, este încă hacked, singura întrebare este cât de mult timp va dura. După cum se spune, dacă nu există nicio crack pentru programul tău Shareware, atunci pur și simplu nu folosește nimeni, bine sau aproape nimeni (numărul de utilizatori în acest caz coincide cu numărul de persoane care ți-au plătit pentru înregistrare).







Mai întâi, amintiți-vă câteva principii de bază:

- Nu atrageți atenția asupra nucleului protecției. nu este necesar să se afișeze tot felul de mesaje stupide de genul „Vă mulțumim pentru înregistrarea“ sau „Parola nevalidă“, este mult mai ușor hacking-ul, mai ales dacă le-au afișat imediat după verificarea datelor de înregistrare, cea mai bună opțiune ar fi întârziată de înregistrare, și anume nu verificați datele de înregistrare imediat după intrare, amintiți-le doar și scoateți un mesaj neutru precum "Pentru a finaliza înregistrarea, trebuie să reporniți programul / reporniți computerul". Verificați corectitudinea înregistrării când închideți (OnCloseQuery) sau când deschideți programul (OnShow), dacă datele sunt corecte, apoi păstrați exact starea înregistrată - o altă întrebare. De exemplu, puteți crea un fișier cu informațiile de înregistrare criptate, așa cum o face DrWeb, sau pentru a crea o duzină de chei în registru, iar combinația valorilor unora dintre ele vor corespunde statului înregistrate și valorile altora vor fi aleatoare. O cheie nu este suficientă, pentru că este ușor de detectat (de exemplu, utilizând utilitarul RegMon) și se traduce în starea dorită.

- Nu comparați parola însăși, va simplifica scrierea cheii. În schimb, ar trebui să comparăm hash-urile lor, obținute cu ajutorul unui algoritm ireversibil de criptare (MD5, SHA1, etc). Dacă decide să facă un hash de conectare a parolei, nu uitați să utilizați criptarea de cel puțin câteva ori, în timp ce simultan executa operațiuni arbitrare (xor, schimbare ciclică, tăiate, înlocuiți subșiruri etc.) deasupra liniei hash curent, de asemenea, nu doare pentru a face parole se lega la astfel încât acestea să devină caduce în timp.







- folosiți exe-ambalatori și protectori. În plus față de reducerea dimensiunii Packers fișier executabil da un bonus suplimentar pentru sistemul de protecție, ca un cracare, înainte de a trece la fisurare, trebuie despachetarea programul, așa că încercați să utilizați ambalaje, pentru care Internetul este nici un Dezarhivator automat deja va speria multi biscuiti. Dar nu fac nici o greșeală, aceasta nu va da o garanție împotriva efracției, ca packer adaugă un fișier și despachetarea că înainte de a executa programul poate decomprima în memorie, aici este și poate lua toplenkoy și lipsit de apărare, va restabili doar tabelul de import, de exemplu, cu ajutorul instrumentului Import REConstructor. Protectoare precum Armadillo vă vor oferi multă protecție, protecția lor este foarte dificil de îndepărtat.

Acum, să ne uităm la modul în care programele se sparg, dacă credeți că hacking-ul se face numai prin puterea gândirii și editare manuală a fișierului într-un notebook, atunci acest lucru este în mod fundamental greșit. Pentru rupere, o întreagă armată de utilități speciale este folosită:

Decompilarele recrea parțial sau complet programul într-un limbaj de nivel înalt, folosind doar fișierul executabil. Există decompilatoare pentru mulți compilatori: Delphi. NET, VB, Java, etc. Suntem interesați în prezent de Delphi (pentru C ++ Builder va fi același lucru), deoarece există două decompilatoare: DeDe și exe2dpr.

Protecția împotriva Decompiler în cazul în care instalația de cracare a packers și protectori deja îndepărtate, este practic imposibil, așa că, în orice caz, nu pun verificări datele de înregistrare în handler OnClick de foarte butonul OK, ceea ce confirmă contribuția lor - este începutul sfârșitului de protecție, nu uitați asta! Dar nu totul este atât de înfricoșător, decompilarea programelor scrise în Delphi este parțială, deci nu este suficientă pentru hacking, după ce este necesar să se folosească
dezasamblare și / sau depanare. Un instrument radical de la decompilatoare va fi scrierea unui program în Visual C ++, din câte știu că decompilatorul nu există (există semnături pentru IDA care vor permite recunoașterea tuturor funcțiilor bibliotecii).

Debuggerii vă permit să rulați programul pas cu pas, astfel încât să puteți scăpa de ele în timpul rulării, când porniți programul, trebuie să apelați o funcție criptată care va întrerupe procesele celor mai populare depanatoare dacă sunt pornite. Și de atunci majoritatea programelor de depanare vă permit să debugați un program care rulează deja, atunci trebuie să apelați aceeași funcție înainte de a verifica datele de înregistrare.

Debuggerii cei mai populari sunt OllyDbg, un depanator integrat în IDA și SoftICE. Primele două sunt instrumentele de depanare ale nivelului de utilizator, astfel încât pentru o protecție simplă este suficient doar să întrerupeți procesele: OllyDbg.exe, idag.exe, idag64.exe. Acest lucru se poate face, de exemplu, printr-o astfel de funcție:

Pentru a opri SoftICE, dacă începe ca serviciu (cel mai des întâlnit caz), trebuie să executați comanda net stop ntice shell, de exemplu:

Acum știți principiile de bază ale hacking-ului și protecției, astfel încât să puteți începe să scrieți protecția care va face ca programul dvs. să vă hrănească o activitate lungă și interesantă pentru cracker.

Scris de: Romul aka Smirnov Roman







Articole similare

Trimiteți-le prietenilor: