Manual Unpacking #3

Xmm!Сега май ще unpackn-ем един друг лесен packer PE_Nightmare_v13.И отново нашето примерно exe ще бъде notepad.exe.Не за друго а поради простата причина че нямам този packer за да pack-на някое друго exe пък и не ми се търси а това notepad.exe го намерих готово pack-нато.Нека да започваме!

Tools:

Softice 4.05

Procdump

LordPe

Виждате че в този Tut ще използваме и LordPe но това ще е само за да break-нем на PEP(Packer Entry Point).

Заредете си Softice(ако вече не е зареден и ложете bpint3)

Като сте си набавили вече и другите  необходимите инстументи отидете в директорията с notepad.exe и дайте с дясното копче на мишката.Изберете Break'n'Enter(LordPe) и дайте OK.Би трябвало да ви се появи Softice-a.Напишете 'е eip 60' и сега вече сме готови да trac-ваме из кода на програмата в случая(notpad.exe).Trac-вайте докато видите малко по надолу от реда на който сте popad това е знака че наближава JMP-a към OEP(Original Entry Point) или наближава инструкцията RET,която също ще ни отведе към OEP.Малко по надолу от инстукцията POPAD трябва да видите RЕТ когато стигнете на инстукцията RET е време за dump-ване на unpack-натото еxe.Но преди това си запишете стойността на EAX това е нашия OEP,който трябва да е 004010CC.Когато достигнете тази инструкция RET напишете 'A' в Softice и после натискате 'ENTER'.След това пишете 'JMP eip' така че да зациклим програмата.Излезте от Softice и стартирайте Procdump търсете за процеса notepad.exe.И както вече знаете дайте му Dump(Full).После отворете dump-натото exe с Pe Editor на Procdump и променете Entry Point-a na 000010CC(в миналия Tut обясних защо е 000010CC,а не 004010CC.Сега rebuild-нете exe-то с Rebuild Pe на Procdump.И нашето еxe върви както трябва.Можете да го dissassemblir-ате колкото си искате и все ще виждате всички resource-и на exe-то.

Забележка:

1.При rebuild-ванете пропъснах да спомена че Procdump-a ви трябва да е настроен както трябва за да не крашва вашето exe след rebuilding процеса.Затова към този тут има включен и pic.

2.За улеснние при trac-ването слагайте breakpoints,когато видите цикъл.Слагайте breakpoin-тите след цикъла.Би трябвало да се справите.Не сам сложил примерни картини в този Tut,защото смятам че е достатъчно лесен за да се справите и без такива.Но ако нещо не ви е ясно съм готов да разширя Tutorial-a.Можете да ме намерите в #pulse. 

До следващия път!