- UID
- 660
注册时间2005-4-7
阅读权限50
最后登录1970-1-1
感悟天道
TA的每日心情 | 慵懒 2024-10-16 20:38 |
---|
签到天数: 1491 天 [LV.10]以坛为家III
|
发表于 2005-4-15 20:07:45
|
显示全部楼层
00434048 |. 83C4 1C ADD ESP,1C
0043404B |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX ; // 指令长度
0043404E |. 837D 10 00 CMP DWORD PTR SS:[EBP+10],0 ; // 判断是不是危险指令, 见 _Disasm 原程序.
00434052 |. 74 76 JE SHORT CMD.004340CA ; // 将这条语句改成 JMP 4340CA, (74->EB), 就可以了
00434054 |. F685 8DFAFFFF>TEST BYTE PTR SS:[EBP-573],30
0043405B |. 74 6D JE SHORT CMD.004340CA
0043405D |. 80BD 54F8FFFF>CMP BYTE PTR SS:[EBP-7AC],0
00434064 |. 75 04 JNZ SHORT CMD.0043406A
00434066 |. 33C0 XOR EAX,EAX
00434068 |. EB 15 JMP SHORT CMD.0043407F
0043406A |> 80BD 54F9FFFF>CMP BYTE PTR SS:[EBP-6AC],0
00434071 |. 75 07 JNZ SHORT CMD.0043407A
00434073 |. B8 01000000 MOV EAX,1
00434078 |. EB 05 JMP SHORT CMD.0043407F
0043407A |> B8 02000000 MOV EAX,2
0043407F |> C1E0 08 SHL EAX,8
00434082 |. 8D95 54F7FFFF LEA EDX,DWORD PTR SS:[EBP-8AC]
00434088 |. 03C2 ADD EAX,EDX
0043408A |. 53 PUSH EBX ; /Arg4
0043408B |. 50 PUSH EAX ; |Arg3
0043408C |. 8D8D DCFDFFFF LEA ECX,DWORD PTR SS:[EBP-224] ; |
00434092 |. 68 B4484B00 PUSH CMD.004B48B4 ; |Arg2 = 004B48B4 ASCII "%s Do you REALLY want to execute this code at address %08X?"
00434097 |. 51 PUSH ECX ; |Arg1
00434098 |. E8 2B130700 CALL CMD.004A53C8 ; \CMD.004A53C8, sprintf()生成字符串
0043409D |. 83C4 10 ADD ESP,10
004340A0 |. 8D85 DCFDFFFF LEA EAX,DWORD PTR SS:[EBP-224]
004340A6 |. 8B15 F4174D00 MOV EDX,DWORD PTR DS:[4D17F4]
004340AC |. 68 34010000 PUSH 134 ; /Style = MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2|MB_APPLMODAL
004340B1 |. 68 F0484B00 PUSH CMD.004B48F0 ; |Title = "Dangerous command"
004340B6 |. 50 PUSH EAX ; |Text
004340B7 |. 52 PUSH EDX ; |hOwner => 000A00CC ('zsmozsm - Main.exe - [CPU - m...',class='zsmozsm')
004340B8 |. E8 F59B0700 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
004340BD |. 83F8 06 CMP EAX,6 ; // 用户点 Yes, 继续执行
004340C0 74 08 JE SHORT CMD.004340CA
004340C2 |. 83C8 FF OR EAX,FFFFFFFF
004340C5 |. E9 F8060000 JMP CMD.004347C2
004340CA |> 8BBD 54FAFFFF MOV EDI,DWORD PTR SS:[EBP-5AC] ; // 这里执行
004340D0 |. 81E7 F0000000 AND EDI,0F0
004340D6 |. 837D 10 02 CMP DWORD PTR SS:[EBP+10],2
修改 434052 处 74 为 EB, Copy to Execute, 保存文件 CMD2.EXE , 退出ollydbg.EXE.
用 CMD2.EXe 打开 Main.EXE , 忽略所有异常, F9,
在 412167 处异常, ExceptionCode = C000001E
Debug Option -- Exception -- Add last Exception -- Ignore custom Exception,
Shift + F9, 这个异常要经过好多次, 等一会儿, 仙剑就运行了.
http://www.chinadfcg.com/viewthread.php?tid=2033
http://www.chinadfcg.com/viewthread.php?tid=277
修正我的抗Antidbgod 1.10b2含全部插件下载
在上面的基础继续增加这个加强版,去除了讨厌的入口警告和危险指令提示,可以调试Acprotect1.x和某些刻意Antiod的软件。
这次应该没有问题了,大家帮忙测试一下.
直接覆盖上一版,设置一下插件和od工作路径。
用修改版OD脱DLL壳的问题:
请教脱DLL壳时如何在载入DLL后退出,即卸载laddll
因为我看到书上说到的DLL脱壳全部是用TRW,而我却不知道如何用OD来具体操作
脱DLL,研究了几天无果。
和脱EXE绝对不一样。
DLL调用时两次用到入口点的。载入DLL和卸掉DLL时各一次
根据看雪破解2要求,一般在第2次解压调用时脱壳。
可是教材完全是用TRW,我就是不会用OD操作。
如果和EXE操作步骤一样就好办了
载入DLL
停在
10001000 /$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
10001004 |. A3 589A0010 MOV DWORD PTR DS:[10009A58],EAX
10001009 |. B8 01000000 MOV EAX,1
1000100E \. C2 0C00 RETN 0C
10001011 90 NOP
10001012 90 NOP
10001013 90 NOP
点菜单
查看
执行模块
右键相击对应模块
点跟随入口
可以得到入口程序
1000E001 > 60 PUSHAD
1000E002 E8 03000000 CALL CAPTUREH.1000E00A
1000E007 - E9 EB045D45 JMP 555DE4F7
1000E00C 55 PUSH EBP
1000E00D C3 RETN
1000E00E E8 01000000 CALL CAPTUREH.1000E014
1000E013 EB 5D JMP SHORT CAPTUREH.1000E072
1000E015 BB EDFFFFFF MOV EBX,-13
1000E01A 03DD ADD EBX,EBP
1000E01C 81EB 00E00000 SUB EBX,0E000
1000E022 83BD 22040000 0>CMP DWORD PTR SS:[EBP+422],0
1000E029 899D 22040000 MOV DWORD PTR SS:[EBP+422],EBX
1000E02F 0F85 65030000 JNZ CAPTUREH.1000E39A
1000E035 8D85 2E040000 LEA EAX,DWORD PTR SS:[EBP+42E]
但估计这是第一次解压DLL程序,DLL和EXE不同,无法跟踪。
教材中提到,卸载DLL时第2次调用解压。达到入口点
可能可以跟踪,但我不知道用OD如何卸掉DLL
兄弟是什么系统。莫非又是98在作怪
用的也是win98系统呀。对了,你用的OD是什么版本的,我的是10.0C汉化版 |
|