工控编程吧

标题: OD找CALL之模态与非模态对话框定位 [打印本页]

作者: qq263946146    时间: 2020-2-28 17:12
标题: OD找CALL之模态与非模态对话框定位
对话框是一个程序中常用的界面显示形式。
比如一些错误信息,注册信息都可以以对话框形式显示出来。
这就是一个极为有利的关键点。
当然显示信息的形式还有消息对话框,对应函数为MessageBox等。
关于消息对话框的定位已经在前面帖子介绍过了。

这里介绍一个两种对话框的定位,如何一步步找CALL。
创建模态对话框是由调用DialogBoxParam 函数实现的,而创建非模态对话框是调用CreateDialogParam函数实现。
两函数原型分别是:
HWND DialogBoxParam (HINSTANCE hlnstance, LPCTSTR IpTemplateName, HWND hWndParent, DLGPROC IPDialogFunc, LPARAM dwlnitParam);
HWND CreateDialogParam (HINSTANCE hlnstancem, LPCTSTR IpTemplateName, HWND hWndParent, DLGPROCIpDialogFunc,  LPARAM dwlniParam);
可以使用查找MessageBox的相同方法,用指令 (bp 函数名)来定位。也可以用这里介绍的方法。
方法关键点是从参数1入手来定位函数。
参数1为对话框句柄,如何查看这些句柄呢?
得借助一个工具exescope.exe,工具在尾部供下载使用。
使用此工具事先打开要逆向的软件,如下图,可以根据界面相关信息找到对话框句柄。
(, 下载次数: 2)