首页
社区
课程
招聘
[旧帖] 如何调试这样的程序 0.00雪花
发表于: 2009-11-13 13:45 3769

[旧帖] 如何调试这样的程序 0.00雪花

2009-11-13 13:45
3769
Patch.exe和Client.exe两个程序,必须要用Patch.exe才能启动Client.exe单独运行 Client.exe启动不了,Patch.exe可以设置Client.exe的全屏与否,效果等,此类程序要如何才能单独调试Client.exe?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
估计不好弄,多学习学习
2009-11-13 14:09
0
雪    币: 55
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
把Client.exe的入口点设置成0xCC,然后把你要用的调试器设置成默认调试器,再通过patch.exe运行client.exe就会自动启动调试器调试了。
2009-11-13 14:11
0
雪    币: 22
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
client.exe启动起来以后,再附加调试不知是否能达到LZ的要求
2009-11-13 15:01
0
雪    币: 157
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
加密解密3的20页说:
OllyDbg的一个实用的功能是可以调试正在运行的程序,这个功能称为“附加(Attach)”。其原理是利用DebugActiveProcess函数可以将调试器捆绑到一个正在运行的进程上,如果执行成功,则效果类似于利用CreateProcess创建的新进程。

单击菜单“File/Attach”打开附加对话框,如图2.8所示。选中正在运行的目标进程,单击Attach按钮即可附加目标进程。附加后,目标程序会暂停在Ntdll.dll的DbgBreakPoint处,在OllyDbg里按一下F9键或Shift F9键让程序继续运行。接着就可对目标程序进行调试分析了。

注意:附加一个程序时,尽量用新打开的OllyDbg,这样附加的成功率高些。

如果是隐藏进程,就不能用上述方法附加了。OllyDbg有一个-p启动参数,只要得到进程的pid就可以附加了。用IceSword等工具获得隐藏进程的pid,然后在控制台窗口用-p参数附加即可。注意,pid的值是十进制。
如果附加不成功,可以巧妙利用OllyDbg的即时调试器功能来调试。先看一个例子,运行A.exe,其会调用B.exe,此时用OllyDbg附加B.exe,OllyDbg会无响应。解决办法:在“Options/Just-in-time debugging”中设置OllyDbg为即时调试器,将B.exe的入口改成CC,即INT 3指令,同时记下原指令。运行A.exe,其调用B.exe,运行到INT 3指令会导致异常,OllyDbg会作为即时调试器启动并加载B.exe,此时再将INT 3指令恢复原指令,继续调试。
2009-11-13 15:25
0
雪    币: 259
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
3楼 5楼正解
2009-11-13 15:28
0
雪    币: 101
活跃值: (157)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
调试patch.exe得到启动参数也是一种办法..
2009-11-13 16:01
0
雪    币: 175
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
该怎么给分啊,不知道怎么给分,55嘎嘎
2009-11-13 21:42
0
游客
登录 | 注册 方可回帖
返回
//