- UID
- 3908
注册时间2005-10-22
阅读权限30
最后登录1970-1-1
龙战于野
该用户从未签到
|
【破文标题】作业
【破文作者】Iceman
【作者邮箱】9icrack@gmail.com
【破解工具】OD、PEID
【破解平台】XP sp2
------------------------------------------------------------------------
一、练习
1、查壳 Microsoft Visual Basic 5.0 / 6.0 无壳
2、载入OD
命令行运行 bp rtcMsgBox,运行
第一个NAG
73472F29 M> 55 push ebp //停在这
73472F2A 8BEC mov ebp,esp
73472F2C 83EC 4C sub esp,4C
Alt+F9 执行到用户代码
00402503 8D4D AC lea ecx,dword ptr ss:[ebp-54] //来到这里,往上看,找程序开始处
来到这
00402450 55 push ebp //程序开始处。
00402451 8BEC mov ebp,esp
00402453 83EC 0C sub esp,0C
找到返回处
00402544 C3 retn
把00402450 处 push ebp 改为 jmp 402544
----------------------------------------------------------------------------------
第二个NAG
点关闭CRACKME
又一次中断下来
73472F29 M> 55 push ebp //停在在
73472F2A 8BEC mov ebp,esp
73472F2C 83EC 4C sub esp,4C
Alt+F9 执行到用户代码
00402623 8D4D AC lea ecx,dword ptr ss:[ebp-54]
把 00402570 处 push ebp 改为 jmp 402664
---------------------------------------------------------------------------------------
保存修改后的文件,试运行,NAG全部不见
------------------------------------------------------------------------
二、作业
载入OD
查找字符串 "http://5green.nease.net"
双击它,来到
004B0441 68 60044B00 push unpack.004B0460 ; ASCII "http://5green.nease.net" //停在这
004B0446 6A 00 push 0
004B0448 8BC3 mov eax,ebx
004B044A E8 6D3EF9FF call unpack.004442BC
004B044F 50 push eax
004B0450 E8 3331F8FF call <jmp.&shell32.ShellExecuteA> //下断点,运行到这里后,F7进入
004B0455 8BC3 mov eax,ebx
004B0457 E8 649DFAFF call unpack.0045A1C0
004B045C 5B pop ebx
004B045D C3 retn
F7进入
00433588 - FF25 0C784B00 jmp dword ptr ds:[<&shell32.ShellExecuteA>] ; shell32.ShellExecuteA
0043358E 8BC0 mov eax,eax
00433590 55 push ebp
00433591 8BEC mov ebp,esp
00433593 33C0 xor eax,eax
00433595 55 push ebp
00433596 68 B5354300 push unpack.004335B5
0043359B 64:FF30 push dword ptr fs:[eax]
0043359E 64:8920 mov dword ptr fs:[eax],esp
004335A1 FF05 206B4B00 inc dword ptr ds:[4B6B20]
004335A7 33C0 xor eax,eax
004335A9 5A pop edx
004335AA 59 pop ecx
004335AB 59 pop ecx
004335AC 64:8910 mov dword ptr fs:[eax],edx
004335AF 68 BC354300 push unpack.004335BC
004335B4 C3 retn
F7 CALL中,按F8,来到这时,打开IE,浏览那个网页
7D610EE4 E8 6CFCFFFF call shell32.ShellExecuteExA
F8单步走,最后返回到
004B0455 8BC3 mov eax,ebx
因此,让00433588处直接跳到F7 CALL中的那个返回,就能解决弹出网页
把 00433588 处的 jmp dword ptr ds:[<&shell32.ShellExecuteA>] 改为 jmp 4335B4
保存后,运行,退出时,不再弹出网页
这个软件利用了“ShellExecuteA”函数,不知道这个函数除了这种打开网页外,还有没有别的作用。系统函数实在是太多了,只能慢慢积累
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
[ 本帖最后由 Iceman 于 2006-1-6 14:00 编辑 ] |
|