W a s m
În acest capitol ne vom uita la mine despachetați-a făcut de către un program de compresie, care este dificil de a câștiga în OllyDbg, deoarece există o parte care nu funcționează în Ollie și dă o eroare. Dar vom utiliza în continuare OllyDbg, indiferent de ce. Am putea folosi un alt debugger, dar este, de asemenea, „Introducere în Cracking folosind OllyDbg», hehe.
Deci, chiar și cu capete umflate, vom folosi OllyDbg în ciuda tuturor. Despachetează-am merge împreună cu articolul, și se pare că el într-adevăr protivoOllinym. Rulați fără un depanator.
Acesta este punctul în care se execută, acesta consumă 99% din resursele de masina mea. Hai să aflăm dacă el o face pentru a proteja sau chiar de ce.
Dacă doriți să-l priattachitsya, atunci ai nevoie pentru a merge la procesul-Atașare fișier și căutare.
Și nu uitați priattachitsya.
Dacă deschis în Ollydbg, patch-uri pentru a găsi OEP, care a fost utilizat în capitolele anterioare:
Dacă faceți clic pe lângă butonul de trimitere:
Și dacă vom alerga:
Reporniți și du-te înapoi la breakpoint SYSTEM STARTUP, dar atunci când ne oprim, apoi du-te la «M» cutie.
Vedem că există o secțiune care este rezultatul unei erori cunoscute la schimbarea RVA și dimensiunea în antetul fișierului. Cu toate acestea, setați BPM privind accesul la secțiunea specificată. Amintiți-vă că această OllyDbg - specială, și se va opri numai la punerea în aplicare a codului, dar nu atunci când este citit sau scris.
Acum, elimina BPM și de a face RUN.
Ok, uite valorile RVA titlu și dimensiuni.
Acum vom merge în jos până când găsiți valoarea.
Aici este valoarea care trebuie să fie egală cu 10 hex. Să vedem ce se întâmplă dacă am schimba.
Încercăm să salvați modificările.
Acum salvați modificările.
Salvați sub un alt nume.
Vedem că la deschiderea are loc în Ollydbg oprire la punctul de intrare (cum ar trebui să fie). File de reparare folosind această recepție a fost corectă. Acum alerga.
Grrrr ... Greșit din nou. Acum, când suntem la punctul de intrare, modificați valoarea în memoria de RVA și dimensiunea celor care au fost mai întâi. Este necesar pentru despachetare corectă.
Din moment ce suntem deja în cazul în care doriți, ne-am stabilit valoarea dorită și a vedea dacă funcționează.
Valoarea găsit este acum RUN.
Este evident că o parte din acest cod nu este târăște prin OllyDbg, ottrassirovat încercați, dar nu găsesc nimic ciudat, am ajunge la punctul în care tranziția este făcută la o secțiune inexistentă și la revedere. În OllyDbg nu a fost efectuată.
Ne dorim în care orice ar fi fost de a arăta metode care sunt utilizate în mod obișnuit în astfel de cazuri. Aici avem nevoie de neobișnuit, este nevoie de inspirație. Otoydom un timp, gândiți-vă la ceea ce se poate veni cu astfel de neașteptate.
Ei bine, vă voi arăta toate posibilitățile. Următoarea metodă nu a fost de ajutor (dar trebuie să fie familiarizați cu aceste tehnici, ori de câte ori lucrează).
Deschideți PARCHEADO 5 și setați ca tocmai la timp Debugger, adică, atunci când programul cauzează eroarea, debugger se conectează automat la acesta.
Împingeți acest buton pentru a pune Ollydbg în modul JIT. Când ați terminat lucrul cu OllyDbg, ar trebui să restabilească debugger-JIT vechi prin apăsarea «RESTORE OLD tocmai la timp Debugger», în caz contrar OllyDbg va rula orice eroare de program, și este foarte obositor.
Acum aproape 5 PARCHEADO și de a face butonul din dreapta click pe fișierul sursă, despachetați-mă. Cel în care ne-am schimbat RVA și alte dimensiuni pot fi șterse, deoarece nu ne-a ajutat.
Pentru aceia dintre noi care utilizează uneori Domnul PE DELUXE în sistemul click-dreapta meniu există o opțiune «BREAK și introduceți», care stabilește INT3 la punctul de intrare al programului, având ca rezultat o eroare și începe JIT-Debugger, care este conectat pentru a declanșa procesul de eroare. Încercăm.
OllyDbg începe și se alătură procesului. Vedem INT3, set LordPE. INT3 pentru a înlocui PUSHAD, care ar trebui să fie aici.
GRRRRR, cât de puțin se face în OllyDbg, trebuie să efectuăm o linie urmă de linie și dau seama ce se întâmplă, dar într-adevăr, nu am nici o dorință de a face acest lucru, așa că este gândit și sa gândit, cred, hehe.
Vom folosi întotdeauna fișierul original. Deschideți-l în PeEditor'e.
Acum, uita-te la secțiunea.
Cu PeEditor'a se poate vedea perfect toate secțiunile.
Noi nu știm nimic despre program, dar este foarte posibil ca acesta are funcționalitatea de majoritatea celorlalte packere sunt despachetat în secțiunea care începe cu 401000, adică cel care vorbim aici în primul rând, din moment ce nu este prezentat antet. Ce se întâmplă dacă modificați setările pentru accesul la unele secțiuni, eliminând dreptul de a înregistra, și nu va fi o încercare de a scrie aici? O eroare se va produce și va PARCHEADO 5, care este setat la JIT debugger-hehe, este adevărat? Putem încerca pe prima secțiune, dar cred că după program pentru a menține API-funcții ale IAT despachetare, și poate fi în secțiunea următoare, așa că încercați să-l mai întâi, și apoi, dacă nu se întâmplă nimic, putem poprovat mai întâi.
Deschideți WIZARD, pentru a modifica setările pentru unitatea.
Deselectați din «inscriptibil».
Execută despacheta-I, pe care le-am schimbat permisiunile, apoi apare OllyDbg patch-uri, instalat ca JIT-Debugger.
Noi vedem că programul sa oprit, atunci când a încercat să salveze valoarea unuia dintre API-funcțiile în secțiunea de mai sus (hehe, presupunerea mea a fost corectă), care a condus la eroarea, care a deschis OllyDbg, care este conectat automat la program.
Acum, pentru a putea continua, trebuie să modificați manual permisiunile în această secțiune, astfel încât ea ar putea scrie. Apăsați «M».
Nu contează ce OllyDbg ne arată doar o singură secțiune. Efectuați următoarele: apăsăm butonul mouse-ului dreapta și acces set complet, și anume «Acces complet».
Acum, încercați să execute instrucțiunea folosind F7, a se vedea dacă întreținute în mod corespunzător, sau din nou o eroare.
Vedem că a supraviețuit fără probleme, este acum amintit ca o secțiune situată în PeEditor'e ca OllyDbg ne arată această informație nu este foarte bun.
Dacă te uiți la ceea ce este în 401000, vom vedea că acesta este programul despachetat.
Acum alerga.
Acum ne oprim la OEP, care se află exact în 401000.
Ok, am făcut cea mai grea parte, ai nevoie acum programul sdampit.
Și noi păstra doamnele sunt acum în căutarea pentru IAT și date pentru IMP REC'a.
OEP este o provocare sub un API-funcții.
Și dacă o facem urma, ne va conduce la tranzițiile în API-funcții.
Completați câmpurile pentru OEP, RVA și dimensiunea, apoi faceți clic pe GET IMPORTURI. Ne Gauvreau că totul este «DA», hehe.
Skipping prin groapa de «FIX DUMP», și atunci când executați, vom obține o eroare.
Trebuie să-l trateze în LordPE c folosind «Rebuild PE».
Fugi, și rămas bun, Packer!
Eforturile noastre au dat roade privind utilizarea tehnicilor neobișnuite. Unele lucruri Packers face același lucru, dar ei, de asemenea, să se protejeze împotriva metodelor convenționale.
[C] Ricardo Narvaha, Acad. Aquila