Pachetul EXE - Calea Hard
Ambalarea ekzeshnikov de mână este o procedură importantă care poate fi efectuată pur și simplu ..
Există multe motive pentru criptarea fișierelor, de exemplu, protejarea programelor de modificări, hacking etc. Hecker Unii l utilizați pentru criptare și viriev troev, pentru introducerea de cod malițios în Exe terminat, mai scurt posibil pentru a ascunde programe rău intenționate lor, script-uri, coduri.
Un alt avantaj al criptării manuale este ocolirea antivirusurilor sau conversia codului malware într-un cod semnat, certificat de un antivirus.
Pentru început, punctul de intrare (.text.date.rsrc) necesită criptare.
Dar dacă locația semnăturii virusului este cunoscută, este necesară criptarea numai secțiunii rău intenționate a codului de program, anumiți octeți.
O funcție mică XOR trebuie codificată (transferată în codul programului infectat) pentru a fi criptată și salvată într-un fișier.
Odată ce un fișier a fost criptat, are nevoie pentru a rula, și XOR funcția începe cu fișierul. În timpul pornirii programului, codul malware criptat este decriptat și executat în memoria programului infectat. În consecință, pentru anti-virus nu funcționează cele două fișiere (EXE cod benigne și rău intenționat), iar unul l-am găsit un antivirus în condiții de siguranță, nu este definit. Care este funcția XOR?
XOR, cunoscută și ca Exclusiv OR, este un operator bitwise al matematicii binare. operatorul XOR returnează 1 atunci când primul sau al doilea bit este 1. În mod similar, operatorul XOR vozvroschaet 0 atunci când niodnogo sau ambele valorile 1 și biții a 2 sunt egale cu 1.
Puteți explica această diagramă:
Operatorul XOR este folosit pentru a schimba, înlocui (zerouri și unul) într-o bucată de cod necriptat pentru a crea text criptat.
Cu alte cuvinte, dacă o bucată de cod este rulată de două ori prin XOR, atunci nu vor exista modificări de la codul sursă, adică după ce XOR criptează codul XOR'om deja criptat - codul este decriptat în starea originală.
Înlocuiți procesul de criptare punctul de intrare, punerea în aplicare a procesului de criptare pe stivă, și apoi să se întoarcă bucata de programul sursă (punct de intrare, în special) substituit, returnează codul original program infectat, după executarea de cod malițios.
Codul de criptare ar trebui să ruleze simultan cu codul curat al programului care este infectat, care ar fi salvat într-o formă criptată într-un fișier (drop).
Data viitoare când programul infectat la început decodifică acest cod.
Acum, la sfârșitul fișierului, căutați DB 00 pe stivă. Dacă această secțiune nu este protejată la scriere, atunci totul este bine, nu trebuie să modificați toleranțele pentru secțiune.
Dacă apare o eroare, această secțiune este protejată și va trebui să modificați secțiunea PE pentru a avea acces la editare.
Acest lucru se poate face cu ușurință cu ajutorul LordPE (schimbarea proprietăților secțiunilor)
Deschidem LordPE, încărcăm fișierul, apucăm secțiunea Buton. După aceea, faceți clic dreapta pe secțiunea de date, selectați proprietățile. Eliminăm \ lăsăm liliecii - în general, facem fișierul accesibil pentru a schimba și a începe (poate fi scris și executabil). Acest fișier este gata.
Următorul algoritm este utilizat pentru secțiunea de criptare XOR. De fapt, aceasta este o criptare banală a fiecărui octet din secțiunea de date (@ 0040129c) cu tasta noastră (0f). Ciclul se va opri la sfârșitul secțiunii de date (@ 0040E46C)
Codul final ar trebui să arate astfel:
Acum, faceți un punct de rupere la sfârșitul buclă, linia 0040e510, și executați codul. Imediat ce execuția sa oprit, salvați fișierul și închideți OllyDbg