如何在delphi编的软件(没有源程序)中加入或修改某一个按钮的功能? 如何在delphi编的软件(没有源程序)中加入或修改某一个按钮的功能?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果只是临时添加按钮可以用API去处理SetWindowLong(窗口句柄,GWL_WNDPROC,传递过程) 看是否加过壳,如果有先脱壳,没有加壳接着下面的步骤来:首先你用Delphi新建一个工程,然后放个按钮上去,用exescope打开编译过的这个程序,在Resource的RCDATA下TForm1见到控件属性object Button1: TButton Left = 300 Top = 400 Width = 100 Height = 22 Caption = 'Button1' TabOrder = 1 OnClick = Button1Click end稍做修改以后,然后用exescope打开你要修改的这个软件,把上面那段复制到这里,保存以后完成了按钮的增加。接下来是处理事件,delphi控件事件指针可以用下面的结构表述:Type TControlProcedurePtr = packed record PtrCount : Word; Ptr1 : TPtr; Ptr2 : TPtr; ...... PtrN : TPtr; // n = PtrCount FrmName : PChar;end;type TPtr = packed record TPtrLen : Word; Ptr : Dword; PtrName : PChar;end; 添加事件指针,最重要的就是计算清楚:如何通过缩小原有Tptr结构的长度,使得加入新指针TPtr结构后整个TControlProcedurePtr长度仍旧保持不变。 通过上述结构,我们知道TPtr结构最短长度为8字节,然后你查看是否还有8个字节的空为,如果没有,你用LoadPE增加一段空间出来,然后在hex workshop添加OnClick = D。保存以后事件增加成功了。最后是实现函数功能,你可以采用把函数功能写到一个DLL文件里面,然后在刚刚增加的按钮事件里面增加对DLL的调用,再调用DLL提供的接口。通过另外写一个程序,在要修改的程序里面增加一个新区块,把函数函数写到这个新的区块里面,然后在事件里面调用就可以了。成功与否看你的逆向工程知识了。 哪位同学能用Delphi完成一下这个程序 Edit的小问题 一个程序中有N个选择年月的窗口,怎么做得一样呀? 有用的DELPHI资料!!!! 请问如阿修改注册表 ==============编程累了,看看美女================= 问:本人写了个简单的MIDASWeb的ISAPI程序(dll),可不知道怎么在IE中显示它? 晕了,,,,,。。动态创建tmediaplayer问题。。。 为什么IDE不弹出来? 有人知道那里能下载DELPHI的控件,比较全的地方??? 很简单的控件编写问题 请问:Delphi+SQLserver奇怪问题!
SetWindowLong(窗口句柄,GWL_WNDPROC,传递过程)
object Button1: TButton
Left = 300
Top = 400
Width = 100
Height = 22
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
稍做修改以后,然后用exescope打开你要修改的这个软件,把上面那段复制到这里,保存以后完成了按钮的增加。接下来是处理事件,
delphi控件事件指针可以用下面的结构表述:
Type TControlProcedurePtr = packed record
PtrCount : Word;
Ptr1 : TPtr;
Ptr2 : TPtr;
......
PtrN : TPtr; // n = PtrCount
FrmName : PChar;
end;type TPtr = packed record
TPtrLen : Word;
Ptr : Dword;
PtrName : PChar;
end; 添加事件指针,最重要的就是计算清楚:如何通过缩小原有Tptr结构的长度,使得加入新指针TPtr结构后整个TControlProcedurePtr长度仍旧保持不变。 通过上述结构,我们知道TPtr结构最短长度为8字节,然后你查看是否还有8个字节的空为,如果没有,你用LoadPE增加一段空间出来,然后在hex workshop添加OnClick = D。保存以后事件增加成功了。最后是实现函数功能,你可以采用把函数功能写到一个DLL文件里面,然后在刚刚增加的按钮事件里面增加对DLL的调用,再调用DLL提供的接口。
通过另外写一个程序,在要修改的程序里面增加一个新区块,把函数函数写到这个新的区块里面,然后在事件里面调用就可以了。成功与否看你的逆向工程知识了。