如何在OD中为Delphi程序添加按钮点击事件

 我来答
windblast
推荐于2018-04-05 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

用 OD 捕获按钮事件,可以尝试以下办法:


1、通过编写好的脚本来获取按钮事件:


先将以下脚本保存至 .txt 文件中:

var Addr
mov Addr,401000
loop:
find Addr,#740E8BD38B83????????FF93????????#
cmp $RESULT,0
je Exit
add $RESULT,0A
bp $RESULT
add $RESULT,1
mov Addr,$RESULT
jmp loop
Exit:
ret


用OD载入 Delphi 程序,右键 运行脚本-->打开,选择上面保存的文件,运行,如果弹出了script finished 窗口就表示找到按钮事件断点位置。

 

2、用资源编辑工具+十六进制编辑工具来查找:


首先用ResScope或者其他工具打开目标程序,在RCData中能够找到窗体的资源信息,例如

  object Form1: TForm1
    object Button1: TButton
      Caption = 'Button1'
      OnClick = Button1Click
    end
  end


  此时假设我们要找“Button1”按钮事件,记住OnClick的名字(在这里就是Button1Click)
  然后再用WinHex打开程序,查找事件名“Button1Click”,如下图所示: 事件名的前一个字节就是事件名的长度,再前面就是事件地址了:



找到地址后,用 OD载入程序,直接Ctrl+G前往该地址。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式