上次脱壳自校验没弄清楚,这次模仿差不多类的软件,脱好壳了,贴出来给大虾们看看对不对。随便求哪位大虾教我怎么把自带广告去掉。。字符串完全搜索不到。。
首先OD载入程序。
00524980 > $ 60 pushad /程序入口。直接单步步入
00525522 .- E9 27DCF4FF jmp 进进窗口.0047314E
00524981 . BE 00504A00 mov esi,进进窗口.004A5000 /发现ESP有变动,数据窗口跟随,第一个地址下断,F9运行
00524986 . 8DBE 00C0F5FF lea edi,dword ptr ds:[esi+0xFFF5C000]
0052498C . 57 push edi
0052498D . 89E5 mov ebp,esp
00525515 . 8D4424 80 lea eax,dword ptr ss:[esp-0x80] /运行到这儿,把断点去掉,然后一直F7单步步入
00525519 > 6A 00 push 0x0
0052551B . 39C4 cmp esp,eax
0052551D .^ 75 FA jnz X进进窗口.00525519
0052551F . 83EC 80 sub esp,-0x80 /前面有跳转,选中这里,右键,断点,运行到选定位置,继续单步步入
00525522 .- E9 27DCF4FF jmp 进进窗口.0047314E
00525527 00 db 00
00525528 00 db 00
0047314E 55 push ebp /呵呵,直接奔到OEP了,在这里脱壳,右键用ollydump脱壳调试进程,获取EIP为OEP,脱壳保存为123.exe
0047314F 8BEC mov ebp,esp
00473151 6A FF push -0x1
00473153 68 083D4E00 push 进进窗口.004E3D08
00473158 68 445A4700 push 进进窗口.00475A44
0047315D 64:A1 00000000 mov eax,dword ptr fs:[0]
00473163 50 push eax
00473164 64:8925 0000000>mov dword ptr fs:[0],esp
脱完壳发现运行不了,提示外挂程序被破坏,请到官方下载,肯定有自校验。。
继续OD载入脱壳后文件。
F9运行,到提示的时候别确定,按F12暂停。。
7C92E4F4 >\$ C3 retn /暂停后就到这儿,然后按alt+K到堆栈窗口
7C92E4F5 . 8DA424 000000>lea esp,dword ptr ss:[esp]
7C92E4FC . 8D6424 00 lea esp,dword ptr ss:[esp]
7C92E500 >/$ 8D5424 08 lea edx,dword ptr ss:[esp+0x8]
7C92E504 |. CD 2E int 0x2E
调用堆栈: 主线程, 条目 14
地址=0012FB68
堆栈=004201D6
函数过程 / 参数=? USER32.MessageBoxA
调用来自=123.004201D0
结构=0012FB64
0012FB68 004201D6 ? USER32.MessageBoxA 123.004201D0 0012FB64 /右键显示调用,来到反汇编窗口
004201D0 FF15 68654900 call dword ptr ds:[<&USER32.MessageBoxA>>; USER32.MessageBoxA /往上找,找到段首。。
004201D6 5F pop edi
004201D7 83F8 03 cmp eax,0x3
004201DA 5E pop esi
004201DB 75 0F jnz X123.004201EC
00420130 83EC 64 sub esp,0x64 /在这下断点。重新开始程序,F9运行到断点处
00420133 56 push esi
00420134 8B7424 74 mov esi,dword ptr ss:[esp+0x74]
00420138 57 push edi
00420139 8B7E 08 mov edi,dword ptr ds:[esi+0x8]
0042013C 57 push edi
注意右下角窗口
0012FBE8 0043A161 返回到 123.0043A161
0012FBEC 0012FBF8
0012FBF0 00000003
0012FBF4 0012FC0C
0012FBF8 00000000
0012FBFC 00000000
0012FC00 00000000
0012FC04 00419324 返回到 123.00419324 来自 123.0041D99C /在这儿回车,转到反汇编窗口。
00419309 68 04000080 push 0x80000004
0041930E 6A 00 push 0x0
00419310 68 53AC4D00 push 123.004DAC53
00419315 68 03000000 push 0x3
0041931A BB 30014200 mov ebx,123.00420130
0041931F E8 78460000 call 123.0041D99C
00419324 83C4 28 add esp,0x28 /反汇编转到的是这儿,往上翻。。。
00419327 6A 00 push 0x0
004192D4 837D E8 00 cmp dword ptr ss:[ebp-0x18],0x0
004192D8 0F84 0C000000 je 123.004192EA /把它改成NOP,保存程序后就可以运行了。
004192DE C745 F8 0100000>mov dword ptr ss:[ebp-0x8],0x1
004192E5 E9 47000000 jmp 123.00419331
004192EA C745 F8 0000000>mov dword ptr ss:[ebp-0x8],0x0
004192F1 68 04000080 push 0x80000004
最后这几步说实话我都没弄清楚,糊里糊涂就脱壳成功了。。
求高手们教我怎么去广告啊。。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!