【破解作者】 windycandy
【使用工具】 OD,PEID0.94,LordPE.ImportREC1.6F
【破解平台】 Win9x/NT/2000/XP
【软件名称】 菜鸟学习脱壳之ASProtect 2.1x SKE简单加壳的98NOTEPAD(MC++)
【软件简介】 ASProtect SKE 2.1x build 03.13在看雪工具下载区下载的
对98notepad加壳时我只用了比较简单的resources protection的两个选项,
没有stolen code
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
1.声明
本文是学习lchhome的<ASProtect 2.1x SKE之木马克星5.50 build 2403 脱壳分析>后照搬方法过来完成的
2.脱壳过程
先用shift+f9到最后一次异常+code段内存断点法到达OEP
004010CC 55 push
ebp
004010CD 8BEC mov ebp,esp
004010CF 83EC 44 sub esp,44
004010D2 56 push esi
004010D3 E8 28EF8F00 call 00D00000------------------------------注意这里,00D00000重要数据①
004010D8 308B F08A003C xor byte ptr ds:[ebx+3C008AF0],cl
004010DE 2275 1B and dh,byte ptr ss:[ebp+1B]
004010E1 56 push esi
004010E2 FF15 F4644000 call dword ptr ds:[4064F4] ; USER32.CharNextA-------随便找个IAT,就这个吧,得IAT所在段406400
004010E8 8BF0 mov esi,eax
004010EA 8A00 mov al,byte ptr ds:[eax]
004010EC 84C0 test al,al
004010EE 74 04 je short NOTEPAD.004010F4
004010F0 3C 22 cmp al,22
004010F2 ^ 75 ED jnz short NOTEPAD.004010E1
004010F4 803E 22 cmp byte ptr ds:[esi],22
004010F7 75 15 jnz short NOTEPAD.0040110E
004010F9 46 inc esi
004010FA EB 12 jmp short NOTEPAD.0040110E
004010FC 3C 20 cmp al,20
004010FE 7E 0E jle short NOTEPAD.0040110E
00401100 56 push esi
00401101 FF15 F4644000 call dword ptr ds:[4064F4] ; USER32.CharNextA
在命令行下DD 406400,向上找到IAT的起始4062E4(重要数据②)
OK,CTRL+F2重新载入,命令行下DD 4062E4,看数据框数值
004062E4 4B4D681E-----------------开始时的数值
004062E8 CC64D787
004062EC DD66FC7B
004062F0 3069C122
004062F4 094AC5BE
004062F8 3A54002D
004062FC 7844F6D2
00406300 004FD9D9 OLE32.004FD9D9
现在开始按shift+f9运行,大概13次左右,注意数据框的数值第一次发生变化,变成这样
004062E4 EDAD82FA--------------第一次变化
004062E8 644A3619
004062EC E48F601C
004062F0 5FCCB218
004062F4 339150CC
004062F8 EFEEE474
004062FC 969653D6
00406300 AB6EEF48
在继续shift+f9运行,大概3次左右,数据框的数值第二次发生变化
004062E4 &nb