- UID
- 826
注册时间2005-4-13
阅读权限20
最后登录1970-1-1
以武会友
 
该用户从未签到
|
【破解作者】西岭秋风
【作者邮箱】[email protected]
【破解平台】windows XP
【软件名称】笑看人生(试用版)V2.01
【软件大小】1.23M
【加壳方式】无壳
【破解工具】PEiD0.93、flyOD1.10
【破解目的】干净退出程序-------学习破解。
【破解声明】我乃一只小菜鸟,偶得一点心得,愿与大家分享
【破解内容】
查壳为Borland Delphi 6.0 - 7.0,无壳
退出时软件会打开网页 http://5green.nease.net
方法一:
OD载入,Find ASCII,查找“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 ; |hWnd
004B0450 E8 3331F8FF call <jmp.&shell32.ShellExecuteA> ; <=========此处下断
004B0455 . 8BC3 mov eax,ebx
004B0457 . E8 649DFAFF call unpack.0045A1C0
004B045C . 5B pop ebx
004B045D . C3 retn
运行——点“退出”中断在004B0450处
F7进入004B0450的CALL来到:
00433588 $- FF25 0C784B00 jmp dword ptr ds:[<&shell32.ShellEx>; shell32.ShellExecuteA
<===改为 jmp 004335B4
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
此修改直接跳过调用弹出网页的程序,软件顺利退出!
方法二:
OD载入,Find ASCII,查找“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> <====NOP掉
004B0455 . 8BC3 mov eax,ebx
004B0457 . E8 649DFAFF call unpack.0045A1C0
004B045C . 5B pop ebx
004B045D . C3 retn
=============================================================================
【破文标题】PYG学员作业三
用老大的教程步骤在命令行下断点;bp rtcMsgBox,用改法二将开始的NAG窗口去掉了,生成新文件"3课1"
再用OD载入"3课1" 命令行下断点;bp rtcMsgBox
F9运行程序,点击关闭按钮中断在660DC5F3处,在堆栈处出现以下代码:
0012F3D0 00402623 返回到 3课1.00402623 来自 MSVBVM60.rtcMsgBox <===点右键--"在反汇编窗口跟随"
0012F3D4 0012F46C
0012F3D8 00000040
0012F3DC 0012F45C
0012F3E0 0012F44C
来到:
0040260B 8D45 AC lea eax,dword ptr ss:[ebp-54]
0040260E 8D4D BC lea ecx,dword ptr ss:[ebp-44]
00402611 50 push eax
00402612 8D55 CC lea edx,dword ptr ss:[ebp-34]
00402615 51 push ecx
00402616 52 push edx
00402617 8D45 DC lea eax,dword ptr ss:[ebp-24]
0040261A 6A 40 push 40
0040261C 50 push eax
0040261D FF15 18104000 call dword ptr ds:[<&MSVBVM60.#595>>; MSVBVM60.rtcMsgBox
向上找到此段开始处:
00402570 55 push ebp <==改为: jmp 402664
使其直接跳到此段结束处,跳过调用NAG窗口.
==============================================================================
命令行下断方式,怎么知道在哪个情况下该用哪样的命令呢?很是不明白,请多多指教!
[ Last edited by 西岭秋风 on 2005-9-30 at 05:17 PM ] |
|