学裕 的个人资料土拨鼠照片日志列表 工具 帮助
9月17日

OllyDBG找到按钮的处理函数

最近系统有点慢,就想优化一下,于是下了个XX大师。结果要注册才行,看来可以用来练练手了。OD一下,靠还加了壳,偶就是用一下,就不脱你了。
开始在弹出窗口MessageBoxA下断,伊,结果不是用的这个函数,看来还有点麻烦。于是在折腾了半天后偶明白了(因为是新手,所以要折腾半天),要在“全部删除”按钮的处理函数下断,但是处理函数在哪里呢?
自己又折腾了半天,愣是没找到,还是soso一下,找到一篇文章叫做《OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
或者读下面这段
 
几种典型程序Button处理代码的定位
作者:木马帝国  来源: www.mmbest.com  发布时间:2006-1-5 8:58:02  发布人:trojan

 

首先
1 od 下运行程序,F12 暂停;
2 View菜单中选击Windows项,在打开的窗口中可以从Title栏看到目标按钮,从而找到它的Handle(xxxxxxxx) ;

对不同平台生成的程序,分别处理:

一、VB, Delphi, CBuilder 程序:
3 在CallWindowProcA入口下条件断点: [esp+8]==xxxxxxxx && [esp+0c]==202;
4 F9继续程序,点击目标按钮,程序中断;
5 Alt+F4,在代码段(.text)上下访问断点;
6 F9执行程序,程序中断,
   1). VB程序中断在下面代码
     PUSH DWORD PTR DS:[EAX+EBX]              ; yyyyyyy
     上面[EAX+EBX]的值(yyyyyy)就是我们要找的位置。

   2). Delphi, CBuilder 的程序
     程序直接断在我们要找的位置。

借moon一句,这姑妄称作CallWindowProcA条件断点加上code段内存断点法吧。

二、VC程序
又分MFC和Win32两种情况,二者相同之处:
3 在IsDialogMessageW入口下条件断点: [[esp+8]]==xxxxxxxx && [[esp+8]+4]==202
4 F9继续程序,点击目标按钮,程序中断;
5 Alt+F4,在代码段上下访问断点;
6 F9执行程序,程序中断, 注意这里虽然中断在code段,但却不是处理Button点击事件的代码处
  这时:
  对Win32程序,只需要按几下F7,当回到User32.dll领空后再重复一次第 5、6步就可以了;
  而对于MFC程序,我们不得不多次重复这样的操作:单步回到MFC领空,再第 5、6步。好在已经看到大陆啦!

类比,这就叫IsDialogMessageW条件断点加上code段内存断点法了。

军情连连看_战争与足球系列之:搏杀利器

想不到国内还能有这么把球和军事描述的这么贴切的人,白岩松就是白岩松.值得一看哦,还有
  • 02:23军情连连看_战争与足球系列之:百炼成钢
  • 02:48军情连连看_战争与足球系列之:搏杀利器
  • 03:13军情连连看_战争与足球系列之:攻防战阵
  • 03:38军情连连看_战争与足球系列之:天公之助
  • 04:03军情连连看_战争与足球系列之:战场英雄
  • 04:28军情连连看_战争与足球系列之_兵不厌诈
  • 04:53军情连连看_战争与足球系列之_另类秀场
  • 05:17军情连连看_战争与足球系列之_绿茵谍海
  •