注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

漫步细雨中的浪漫

更多精彩新浪空间http://blog.sina.com.cn/52xinpia

 
 
 

日志

 
 
关于我

孝顺是我的美德 享受小资生活 是男人也是帅哥呵呵,爱一个人包括缺点 我忙碌且充实 有故事的人 旅行是生活一部分 等待灰姑娘 的王子,喜欢小动物 怀有一颗平常心

网易考拉推荐

几种典型程序Button处理代码的定位  

2008-06-14 15:23:09|  分类: 脱壳破解 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

标 题: 几种典型程序Button处理代码的定位
作 者: jingulong
时 间: 2006-01-04,15:33
链 接: http://bbs.pediy.com/showthread.php?t=20078

首先
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段内存断点法吧。几种典型程序Button处理代码的定位 - 漫步细雨中的浪漫 - 漫步细雨中的浪漫

二、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段内存断点法了。几种典型程序Button处理代码的定位 - 漫步细雨中的浪漫 - 漫步细雨中的浪漫

敬请各位指正。

答复:
bp IsDialogMessageW [[esp+8]]==00106AE && [[esp+8]+4]==202
bp IsDialogMessageW [[esp+8]]==00106AE && MSG==202

  评论这张
 
阅读(416)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017