- UID
- 1542
注册时间2005-5-10
阅读权限40
最后登录1970-1-1
独步武林
 
TA的每日心情 | 擦汗 2017-9-28 11:05 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
作业3
学员:pentacle[PYG学员]
壳:无
目标:除去笑看人生(试用版)V2.01 的NAG~~及干净退出
软件:OD、WinHex、W32Dasm
思路:
去除限制鼠标的NAG~~
经过查看,为Delphi写的。按下鼠标就弹出NAG。
我笨笨,不知道怎么下断(用MessageBoxA无效)。
但我转过一下,我用MessageBoxA无效是不是可以通过鼠标的动作去想一下呢~~
于是我用DEDE反编译了一下,从主窗口中找到了mouse的动作~~
来到
004B03E4 /. 55 PUSH EBP
004B03E5 |. 8BEC MOV EBP,ESP
004B03E7 |. 84C9 TEST CL,CL
004B03E9 |. 74 05 JE SHORT unpack.004B03F0 ; 此处74改75
004B03EB |. 80F9 01 CMP CL,1
004B03EE |. 75 0B JNZ SHORT unpack.004B03FB ; 改为75改EB
004B03F0 |> 8B80 80030000 MOV EAX,DWORD PTR DS:[EAX+380]
004B03F6 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
004B03F8 |. FF52 30 CALL DWORD PTR DS:[EDX+30]
004B03FB |> 5D POP EBP
004B03FC \. C2 0C00 RETN 0C
上面修改后就可以去除NAG窗口了~~
用WinHex修改。找Offset 后面的那个地址
004B03E9 @Offset 000AF7E9h 此处74改75
004B03EE @Offset 000AF7EEh 此处75改EB
===================================
干净退出:
004B0438 . 53 PUSH EBX
004B0439 . 8BD8 MOV EBX,EAX
004B043B . 6A 01 PUSH 1
004B043D . 6A 00 PUSH 0
004B043F . 6A 00 PUSH 0
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> ; \ShellExecuteA
004B0455 . 8BC3 MOV EAX,EBX
004B0457 . E8 649DFAFF CALL unpack.0045A1C0
004B045C . 5B POP EBX
004B045D . C3 RETN
上面修改后就可以去除NAG窗口了~~
用WinHex修改。找Offset 后面的那个地址
004B0450 @Offset 000AF850h 此处改为NOP,也就是5个90。
再看了一下别人的作业,看到飘云教师的评语,我想了这第二个方法:
004B043B /EB 1A JMP SHORT unpack.004B0457
//为什么是EB 1A? 是这样来的:004B0457-004B043D=1A,哈哈~~
另存为unpack1.exe,这个软件的几个烦人的东西就没有了~~
心得:今天做这个作业的最大体会就是当一条路行不通的时候可以走第二条路~~
本作业的目的:找到NAG所并去除NAG,懂得如何使用WinHex修改软件。如果用OD下断点~~
问题:1、为什么我这样修改会弹出一个声音~好像是警告音?<当用第二种方法时就没有这种声音了~>
2、这个该如何下断,为什么我下MessageBoxA无效?
[ Last edited by pentacle on 2005-9-30 at 09:31 PM ] |
|