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

如题所述

用 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前往该地址。

温馨提示:内容为网友见解,仅供参考
无其他回答

如何在OD中为Delphi程序添加按钮点击事件
用OD载入 Delphi 程序,右键 运行脚本-->打开,选择上面保存的文件,运行,如果弹出了script finished 窗口就表示找到按钮事件断点位置。2、用资源编辑工具+十六进制编辑工具来查找:首先用ResScope或者其他工具打开目标程序,在RCData中能够找到窗体的资源信息,例如 object Form1: TForm1 object Button1...

delphi点击外部程序的按钮
首先你需要获得你要点击的按钮的句柄,然后你可以通过你的Delphi程序给该按钮发送消息(sendmessage之类的API函数)。消息的格式你可以通过spy++来获得(spy++不但可以获得你需要的句柄,还可以得到某个事件发生时所产生的消息。)具体做法为:把spy++获得消息的靶型图标拖到你要发送消息的按钮上,这是你就...

用OD分析delphi的弹出对话框下什么断点
1、DEDE结合PE Explorer找按妞事件2、Point-H法3、bp GetDlgItem\/GetWindowTextA(W)\/GetWindowTextLengthA(W) (断输入框)4、bp MessageBoxA(W)(断对话框)—Ctrl+N5、字符串法—插件\/搜索所有参考文本6、如果程序界面标题有[未注册\/注册\/VIP版\/标准版\/钻石版] 之类字样,可以通过DEDE查找FormCreate\/...

...Delphi 6.0 - 7.0 [Overlay]的软件怎么破解。用OD看不到关键信息...
DELPHI的无壳有附加数据的软件 一般就先找按钮事件。搜索二进制字符 740E8BD38B83???FF93???这个查找到的是一个跳转,然后找到这个跳转下面的CALL。全部下上断。然后按注册按钮什么之类的,断下后在F7跟进,在找可疑的跳转。一般流程差不多 或者找相应的API下断,在去分析 ...

怎么用od破解delphi程序工具栏中的灰色按钮?(让灰色按钮变为可用)该下...
其实这个是没有用的!好的软件不让你按是由其目的的,防止程序逻辑混乱,有些按钮的可用与否还和它里面的一些参数有关,你改了Enable属性但是里面的一些参数你不改他也无效!如果是个服务器程序他还和服务端有关!所以改这个东西没意义!

delphi怎么获取其他程序运行时的即时数据
如果官方软件没有提供编程接口的话,可能要有点麻烦。一般情况下外挂程序获取目标程序参数的方法是直接查找内存基址。实现目标程序一个事件的方法是调用"call"来实现。你说的 获得下载速度,大小等信息,要先使用 反汇编工具(OD或CE),找到基址。然后通过 ReadProcessMemory API函数读取,但是在找到基扯后...

求解:用Borland Delphi 加密的视频破解教程,赏金100
这样的程序估计有很大可能只要改一个判断点就OK,用OD看下打开按钮的事件处理,碰到判断就改下试试,可能改不几个判断就破了

delphic程序反编怎么修改日期排序为ORDER BY "FDate" desc
你打开的这些东西是DELPHI程序的Form结构 而你要修改的内容在可执行程序中属于常量区[PE结构中的Data段]所以你需要做的工作是:使用OD类的工具动态调试程序,找到程序中相关函数调用这个常量的地址A,然后在DATA段空白区域新建一个常量b,写入你要修改的内容,最后使用32位编辑工具把上述的地址A改为地址B...

OD跟踪程序,程序自动退出的问题!
异或EBP寄存器~是清空EBP而已 应该是XOR下面指令问题吧 使用BPX 效果比较BP好!!!BPX直接中断在程序领空而BP中断在系统领空 中断在系统领空应该Atl+F9返回程序领空才对呀??方法使用不对!!!

DeDe能不能反汇编Delphi 7编写的程序?这款软件哪里有下载?
代码部分除了结构是delphi原版的,其它部分都是汇编指令,你只能看到程序的结构及流程,如果dede能完全反编译delphi写的程序,那就麻烦了,估计没人用delphi写程序了。本人常用dede反编译来对delphi程序破解,因为它很容易找到关键比较的地方,用OD配合dede使用,对没加壳的delphi程序,很容易的 ...

相似回答