能力值:
(RANK:260 )
|
-
-
2 楼
试一试:
方法1.在GetWindowTextA下条件断点,对hWnd参数设置条件,使其仅在获取指令窗口的文字时才中断。
方法2.消息断点要在按钮的你窗口(通常就是程序的界面窗口)下WM_COMMAND消息,而不是按钮的WM_LBUTTONUP消息。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
-_-" 试过了,断不了…………
我还是把我那软件的情况告诉你们吧,可能是我表述的有问题。其实我之前试过用搜索引擎搜的,只是不知道用哪些关键词来搜(试过用“用GetWindowTextA设断 一输入就被断”,找不到想要的资料),只好来求助大虾了,麻烦大虾帮我看一下。谢谢了!
这个软件是这样的,一运行,就弹出一个窗口A,让你选择“进入系统”或是“注册系统”或“退出”。
如果点击“注册系统”,它又弹出一个窗口B,这个窗口只有一个输入框,一个“注册”和“取消”按钮。
我说一下我的操作:
①用bp GetWindowTextA下断
1、OD载入,按F9运行。点击软件的“注册系统”,打开窗口B。
2、在OD用bp GetWindowTextA下断,然后在程序的窗口B的输入框输入假码。只要我一输入,马上就被OD断。比如我想输入123456789,我只要一输入1就被断。
3、然后我在OD按F9运行,输入一次按一次F9运行直到把假码输入完。
4、输入完毕,就按“注册”,OD没有断下。软件的窗口B就自动关闭,剩下一个窗口A。
按照书版主的建议,书版主的第一种方法我不会操作-_-"
②用消息下断
1、OD载入,F9运行,打开窗口B。
2、点击OD菜单“查看”→“窗口”。然后找到那个“注册系统”的按钮,按右键,选择“消息断点设置在ClassProc”,在弹出的设置对话框中选择WM_LBUTTONUP。确定。
3、在软件注册输入框中输入假码123456789,点击“注册”,被OD断下。
之后就是我说的,我在里面兜来兜去晕头转向……
用书版主说的第二种方法,我只是把WM_LBUTTONUP改成了WM_COMMAND。其它跟我之前的操作一样。但是,在按了“注册”按钮后,OD没有断下。
麻烦大虾指点一下……
PS.我试过了在断WM_BUTTONUP之后,用了运行跟踪。但是发现程序总在USER32那里运行,没有在软件领空运行。会不会是因为这个软件是PB写的,所以只调用USER32?
|
|
|