首页
社区
课程
招聘
[旧帖] [求助] 超难超难的一个问题,描述都描述不清楚的一个问题,高手来帮帮忙啊 0.00雪花
发表于: 2008-4-18 23:10 3421

[旧帖] [求助] 超难超难的一个问题,描述都描述不清楚的一个问题,高手来帮帮忙啊 0.00雪花

2008-4-18 23:10
3421
delphi程序代码中其中有 object PopupMenu1: TPopupMenu  
    AutoPopup = False  想另外写一个程序针对这个程序里的autopopup = false ,把另外写出来的这个程序运行后,就可以对指定程序的AutoPopup = False变成AutoPopup = true的效果,应该怎么实现呢?
etomahawk 朋友给了两个方法,但是没明白具体怎么用。
相当两种方法:  
  方法一:截获拥有那个菜单的窗口的消息WM_CONTEXTMENU消息,处理。较简单。  
  方法二:DLL注入,更改TPopupMenu的属性。(需要RTTI的支持)比较复杂。
对于较简单的那种方法,具体应该怎么来操作呢,是不是首先要知道内存地址呀

现在是我有这个程序的源代码,如果我没有的话,其中一个程序就没有办法修改了,只能用自己再写一个程序来控制那个程序的PopupMenu1.autopopup = flase 变成PopupMenu1.autopopup = true 了,进程通讯,是不是一定要先确定了内存基地址,才可以继续呢,我不懂进程通讯怎么来完成呢

我写的程序的按妞下面代码是PopupMenu1.autopopup = true 用OD汇编工具查了一下这个代码的地址是

0044D968   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
0044D96E   .  C640 61 01    MOV BYTE PTR DS:[EAX+61],1
0044D972   .  C3            RETN

用DEDE查看的代码是
* Reference to control PopupMenu1 : TPopupMenu
¦
0044D968   8B80FC020000           mov     eax, [eax+$02FC]
0044D96E   C6406101               mov     byte ptr [eax+$61], $01
0044D972   C3                     ret

这个地方的代码可以用在另外写的一个程序里来控制这个程序边成PopupMenu1.autopopup = true吗,希望高手能再给点提议啊

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
01->00?
2008-4-18 23:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是想再写个程序来实现修改那个程序的属性为true的,应该怎么做呢
2008-4-18 23:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
要等待高手给你指点,
2008-4-19 05:35
0
游客
登录 | 注册 方可回帖
返回
//