在OD(OllyDbg)中防止程序退出的方法有多种,以下是一些建议:
使用附加方式加载程序
打开OD,选择“文件”->“附加”来加载程序。这种方式可以避免程序在调试过程中直接退出。
替换DbgHelp.dll文件
将OD目录下的DbgHelp.dll文件替换为一个近1M大小的DbgHelp.dll文件。原版的DbgHelp.dll文件大小为475K,存在溢出漏洞,替换后可以防止程序退出。
使用StrongOD插件
尝试使用StrongOD插件,并选择“CreateAsRestrict”选项。这个插件可以帮助你更好地控制和防止程序退出。
修改OD的配置
在OD的配置文件(ollydbg.ini)中,修改以下参数:
`DriverName`:修改驱动文件名。
`DriverKey`:修改与驱动通信的key。
`HideWindow`:设置为1以隐藏窗口。
`HideProcess`:设置为1以隐藏od进程。
`ProtectProcess`:设置为1以保护Od进程。
使用命令bp ExitProcess
在OD中尝试使用命令`bp ExitProcess`来设置一个断点,查看是否能发现什么线索。
修改OD窗体类名
如果你使用的是修改版的OD,通常不需要自己修改窗体类名,因为这些通常已经由修改版OD自动处理。
使用硬件断点
尝试使用硬件断点,如果程序在运行时弹出对话框,可以在对话框出现的地方设置断点,然后继续运行程序,直到对话框弹出。这样可以避免程序直接退出。
使用其他调试器
如果以上方法都不奏效,可以尝试使用其他调试器,如OllyICE或Shadow,看看是否能解决问题。
通过以上方法,你应该能够有效地防止程序在OD中退出,从而顺利进行逆向分析和破解工作。