1. 首先下消息断点WM_LBUTTONUP, 或者使用bp TranslateMessage MSG==WM_LBUTTONUP

2.点按钮会断在USER32模块中, ALT+M选择代码段F2下断点,再F9运行, 会看到执行到

0040160A   .- FF25 E0204000 jmp     dword ptr [<&MFC42.#6374_CWnd::W>;  MFC42.#6374_CWnd::WindowProc

3. 在这里会比较坑爹, F8进去之后, ALT+M选择代码段F2下断点,再F9运行, 然后反反复复都是差不多这个位置, 最好的办法是在WindowProc下面找到这句下断点

00401670   .- FF25 24214000 jmp     dword ptr [<&MFC42.#4425_CDialog>;  MFC42.#4431_CPropertySheet::OnCmdMsg

4.F9运行起来, F8进去之后, ALT+M选择代码段F2下断点,再F9运行,会看到执行到这条语句

00401230   .  B8 E0224000   mov     eax, 004022E0

5.单步运行,会到MFC42模块里, 继续F8单步,会看到下面有一个call

73D323BA    E8 7F000000     call    73D3243E

6., 在这里ALT+M,再选择 代码段F2下断点, F9运行,OK! 跳到消息响应处理的代码里.

00401470   .  6A 00         push    0
00401472   .  68 FC304000   push    004030FC
00401477   .  68 20304000   push    00403020                         ;  ASCII "OnButton1"
0040147C   .  E8 37020000   call    <jmp.&MFC42.#4224_CWnd::MessageB>

00401481   .  C3            retn

---------------------------------------------------------------------------------------------------

只试了VC6.0, 其他版本的程序可能会有区别.

OllyDbg捕捉MFC程序按钮事件相关推荐

  1. 160个CrackMe之108 mfc程序 寻找按钮事件,代码还原(上)

    ·前言  虽然网上已经有帖子写160个CrackMe,我个人还是以正向的思路来逆向一部分的crackme,还有一些 代码还原的小技巧,挑选出这160个CrackMe中由c,c++,汇编编写的程序来来写 ...

  2. 转用特征码秒杀各程序语言按钮事件

    作者:小童 工具:OllyDbg.Delphi程序一个.易语言程序一个.MFC程序一个 -------------------------------------------------------- ...

  3. 用特征码秒杀各程序语言按钮事件

    作者:小童 工具:OllyDbg.Delphi程序一个.易语言程序一个.MFC程序一个 -------------------------------------------------------- ...

  4. MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。

    这个bug困扰我两天了,我在win7下开发的MFC程序,在win7下一只运行良好,放到同事的win10机子上就出问题了,在点击按钮弹出子窗口时必崩,在win7下仔细调试才发现:调用DoModal()后 ...

  5. MFC程序逆向 – 消息篇(上)+(下)

    费尔托斯特:单用户终生版,费尔软件 杀毒软件 65.0元   标 题: [原创]MFC程序逆向 – 消息篇(上)+(下) 11楼 作 者: szdbg 时 间: 2007-10-31,06:26 链 ...

  6. c语言特征码搜索,[学习笔记]通过各语言特征码寻找按钮事件

    今天的课件都无壳. 一  Delphi和BC++ DIE检测一下,是Delphi OD载入 反汇编窗口右键---查找---二进制字符串 查看一下特征码 复制Delphi的特征码,粘贴进刚才打开的查找二 ...

  7. 基于Dialog的MFC程序在启动时隐藏为托盘程序(四)

    这部分说一下如何加menu..如果做小气球.. mfc的menu确是不如C#活着java那么easy.. 首先在rc里添加menu资源..然后在ui界面里先设置一下你的菜单.. 在第(二)部分已经简单 ...

  8. .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化

    原文:.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化 我们知道资源被注册到R.java我们通过R.java就可以读取到界面中的组件.跟我们.net一样,通过ID来读取组件 ...

  9. Android按钮事件的4种写法

    经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity ...

最新文章

  1. 四川托普计算机职业学校里能拿什么快递,四川托普计算机职业学校怎么样_招生问答...
  2. 论文回顾:U2-Net,由U-Net组成的U-Net
  3. Oracle ASM 翻译系列第十二弹:ASM Internal amdu - ASM Metadata Dump Utility
  4. [Python]理解 if __name__ == ‘__main__‘
  5. conv2d 公式_TF-卷积函数 tf.nn.conv2d 介绍
  6. python随机生成模块的应用
  7. java格式错误什么意思_java.io.IOException可能的原因是什么:“文件名,目录名或卷标语法不正确”...
  8. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块
  9. linux中时间命令详解
  10. mv强制覆盖 shell_一个简单的linux命令 mv
  11. oracle 认证视频,Oracle 认证专家视频教程-OCP全套教程【98集】_IT教程网
  12. html播放flv直播源,http-flv 直播
  13. 一款相当好用的排版软件
  14. SolidWorks修改工程图中文字字体的方法
  15. YUV420图像旋转
  16. PSP播放AVI/PMP高清电影及视频转换指南
  17. JPA映射数据库mysql表名,字段名大小写转化,下划线分割.
  18. python list[list] or list[list, list, list]
  19. 【P28】Enjoy The jFET 超简分立耳放
  20. 陶瓷气体放电管(GDT)的评定及试验条件-优恩

热门文章

  1. Java多线程-线程通信
  2. 深入浅出gRPC——极客时间李林锋
  3. @Transactional注解事务不回滚不起作用无效
  4. 数据库的流程,制度,安全优化
  5. C Primer Plus note1
  6. zabbix如何选择适合的监控类型(107)
  7. 用Code::Blocks Code profiler插件剖析程序性能
  8. 【读书笔记】iOS-iCloud编程
  9. [翻译] VLDContextSheet
  10. 使用命令行快速找出class文件所在的jar文件