首页
社区
课程
招聘
[旧帖] [求助]如何OD中断按钮按键 0.00雪花
发表于: 2008-8-1 17:55 7467

[旧帖] [求助]如何OD中断按钮按键 0.00雪花

2008-8-1 17:55
7467
不好意思,问个傻瓜式问题:使用OD如何中断按钮按键

由于我不会api函数中断,但这个又非常重要.
本想自己找资料自己搞定,自己又不聪明.竟没搞定.
问又怕人笑话,挨了几天,还是厚着脸皮来问.

      求求各位了. 说几句,让我感悟感悟.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
应该有相应的函数或者是发送消息吧 api函数我也记不住一般在OD命令行输入 bpx x(x随便)打开函数引用列表查找自己需要的下断
2008-8-1 21:24
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
DEDE 找按钮事件贝``````````````````
2008-8-2 03:37
0
雪    币: 257
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
如果是其他语言写的那么用什么方法?
2008-8-7 15:15
0
雪    币: 239
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
樓主應該先學會怎麼分析一種語言下斷後,再考慮其他的,不要把問題復雜化了
2008-8-7 15:18
0
雪    币: 1470
活跃值: (74)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
6
用消息断点
2018-7-17 14:16
0
雪    币: 1563
活跃值: (272)
能力值: ( LV7,RANK:105 )
在线值:
发帖
回帖
粉丝
7

这是多年前的祖坟贴了吧 这还被挖出来了!? 算了,我之前分析过,简单记录过过程,就在评论里发一下了。


在分析MFC程序时,很难通过单步调试的方式,步入到事件的响应逻辑代码中。因为期间调用了太多dll中的代码,很难分的清楚哪一步需要stepin哪一步需要stepover,在什么地方下断点也很难抉择,所以今天就简单介绍一下在Windows平台分析mfc程序案件事件响应逻辑代码时该如何设置断点,定位逻辑代码。定位VC代码和VB代码按键响应事件的方法不太一样,其实,这里用实例介绍如何定位VB代码的按键响应代码,再简单说一下VC的不同:

1. 准备的内容,abex’2 crackme 小程序,和syp++。Spy++在下载visualstudio的目录下Tools文件夹里。如下图所示:


使用spy++的目的是快速获得该按键在系统中的句柄,当然也可以在OD窗口选项中找到,但这种方式更快捷。

2. 然后点击spy++的小望远镜图标,出现如下画面,并将准星移动到按键上,可得到handle的值为:00290F5C


3. 在OD中按ctl+g 找到CallWindowProcA()函数,会跳到User32.dll的module中,并下条件断点:

[esp+8]==xxxxxxxx && [esp+0c]==202

其中xxxxxxxx代表刚刚我们获得的handle数值,在这里是00290F5C

4. 输入Name和Serial,点击Check,可见到达设置断点处:


此时是在User32.dll段,我们此时需要跳出此段,到abex2crackme的text代码段。按ctl+m打开memory列表选项,在abex2crackme程序的text段设置断点:


5. 按F9继续运行程序,就会回到abexcm2程序段:

PS:可能需要多次进进出出,多次在text处设置断点,hit到就stepin到函数中,然后再设置text断点,反复以往,终归会登陆成功。


6. 持续单步执行,即可找到加密部分和弹出成功或者错误的msgbox的地方,即找到了按键发生时响应的逻辑代码部分:


VC程序大体只是在第三步有所不同:

在VC程序中查询的指令为:IsDialogMessageW,并在入口处设置条件断点:

[[esp+8]]==xxxxxxxx && [[esp+8]+4]==202

最后于 2018-7-17 14:52 被逆向实习生编辑 ,原因:
2018-7-17 14:50
0
游客
登录 | 注册 方可回帖
返回
//