【文章标题】: ASProtect 2.1x SKE dll文件脱壳+重定位表修复+文件优化 【作 者】: machenglin 【软件名称】: TestDog.dll 【大 小】: 306K 【加壳方式】: ASProtect 2.1x SKE->Alexey Solodovnikov 【编写语言】: Borland Delphi 【工 具】: WinXP、OllyDbg、PEiD、LordPE、RecImport、Dll_LoadEx、ReloX。 【操作平台】: WinXP sp2 【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! -------------------------------------------------------------------------------- 【详细过程】 很多的大侠已经做过N多的ASProtect 2.1x SKE->Alexey Solodovnikov的exe软件的教程,有关ASProtect 2.1x SKE->Alexey Solodovnikov的dll教程不是很多。通过对dll脱壳的学习练习,参考了fly、Volx、syscom、linex很多的大侠的教程,菜鸟就将dll脱壳的笔记发出来,希望高手能指正错误,给初学者提供一些思路。 用 PEid 0.94 显示为 ASProtect 2.1x SKE -> Alexey Solodovnikov 用flyDBG载入,ALT+O, 设置内存访问异常,以及下面“同时忽略以下指定的异常或者异常范围”,其余选项全部忽略。
008D2001 > 60 pushad ; OD入口 008D2002 E8 03000000 call TestDogj.008D200A 008D2007 - E9 EB045D45 jmp 45EA24F7 008D200C 55 push ebp 008D200D C3 retn 008D200E E8 01000000 call TestDogj.008D2014
----------------------------------------------------------------------------------------------------------------- 一、找到OEP Shift+F9,一直到第二次出现855CCAEF。
Alt+M,在该dll的code段,F2下断。
Shift+F9,来到OEP了。
008BFF4C 55 push ebp 008BFF4D 8BEC mov ebp,esp 008BFF4F 83C4 B4 add esp,-4C 008BFF52 B8 E4FD8B00 mov eax,TestDogj.008BFDE4 008BFF57 E8 E064FBFF call TestDogj.0087643C 008BFF5C E8 EF38FBFF call TestDogj.00873850 008BFF61 8D40 00 lea eax,dword ptr ds:[eax] 008BFF64 0000 add byte ptr ds:[eax],al --------------------------------------------------------------------------------------------------------------- 二、发现IAT、call xxxxxxxx。 Ctrl+B:FF 25。
008711D8 - FF25 A8318C00 jmp dword ptr ds:[8C31A8] ; kernel32.CloseHandle 008711DE 8BC0 mov eax,eax 008711E0 - FF25 A4318C00 jmp dword ptr ds:[8C31A4] ; kernel32.CreateFileA 008711E6 8BC0 mov eax,eax 008711E8 E8 13EE2D00 call 00B50000 ; call xxxxxxxx① 008711ED 7B 8B jpo short TestDog1.0087117A 008711EF C0E8 0B shr al,0B 008711F2 EE out dx,al 008711F3 2D 00D48BC0 sub eax,C08BD400 ; call xxxxxxxx① 008711F8 E8 03EE2D00 call 00B50000 右键--->数据窗口跟随--->内存地址。
1 2 3 下一页 |