首页
社区
课程
招聘
为delphi程序添加N个功能按钮!(只要你不怕累着就加吧)
发表于: 2004-6-16 15:18 16046

为delphi程序添加N个功能按钮!(只要你不怕累着就加吧)

2004-6-16 15:18
16046

这篇文章的目的在如何给delphi的程序加上按钮后如何给他增加事件指针。由于事件指针位于段中间,原空间上不够我们加入指针。这篇文章就是要解决这个问题。
用reshack给target加上2个按钮:
object Form1: TForm1
  Left = 192
  Top = 107
  Width = 377
  Height = 188
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 40
    Top = 32
    Width = 105
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 208
    Top = 32
    Width = 105
    Height = 25
    Caption = 'Button2'
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 208
    Top = 72
    Width = 105
    Height = 25
    Caption = 'Button3'
    TabOrder = 1
    OnClick = Button3Click
  end
  object Button4: TButton
    Left = 40
    Top = 72
    Width = 105
    Height = 25
    Caption = 'Button4'
    TabOrder = 1
    OnClick = Button4Click
  end
end
如上添加好后程序会出问题导致不能运行,不要管他我们继续。

上图是事件指针,这里的空间很紧凑了。要想给我们加入的按钮Button3、Button4找地方加入事件指针是不大可能了,呵呵……

注意00442F70他指向offset 00042370,00492F92是关键指向00042392,看上图的00042392是什么?0002代表这里有2个按钮,后面就是onclick事件指针了表了。到这里明白了吗?我们把0004225c处的00442F92改到指向一个足够大的地方后我们重新建个onclick事件指针表就可以为所欲为了,^_^

我把000425c0处改为指向00443272(offset00042672)的空白处。把以前的事件指针粘贴过来后,如下图:

我们把按钮个数改为4,然后以一个事件指针为0x13个字节的长度加上2个事件吧!:)ok!以后为该事件加对应代码吧。OnClick = Button3Click的对应代码地址00443350;OnClick = Button4Click的是0044335b
00443350   .  B8 70334400   MOV EAX,modify.00443370
00443355   .  E8 FAF8FFFF   CALL modify.00442C54
0044335A   .  C3            RETN
0044335B   .  B8 80334400   MOV EAX,modify.00443380
00443360   .  E8 EFF8FFFF   CALL modify.00442C54
00443365   .  C3            RETN
00443366      90            NOP
00443367      90            NOP
OK,全文完。谢谢
点击下载:附件!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 9
支持
分享
最新回复 (26)
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
2
利害的说,PEDIY的高手果然有几手
2004-6-16 16:01
0
雪    币: 242
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xcs
3
果然厉害
2004-6-16 16:16
0
雪    币: 212
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
是不是写的太乱了?看不清楚???
2004-6-17 23:57
0
雪    币: 371
活跃值: (790)
能力值: ( LV12,RANK:570 )
在线值:
发帖
回帖
粉丝
5
清楚:)
2004-6-18 10:34
0
雪    币: 206
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
超高
2004-6-19 02:13
0
雪    币: 623
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
7
2004-6-19 02:52
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
8
bt大雁:D
2004-6-19 08:42
0
雪    币: 199
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
bt 123112
:)
good work
2004-6-19 15:11
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10

注意00442F70他指向offset 00042370,00492F92是关键指向00042392,看上图的00042392是什么?0002代表这里有2个按钮,后面就是onclick事件指针了表了。到这里明白了吗?我们把0004225c处的00442F92改到指向一个足够大的地方后我们重新建个onclick事件指针表就可以为所欲为了,^_^

      00442F70是指图中的什么地方..??0002 是指..00492F92 后面的这个2么???
0004225c是不是图中的00042250h??
00442F92又是哪个地方???

小弟初学..问了一些@#$%^&的问题..见笑了..
  请帮忙解释下.
2004-8-3 03:06
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错不错不错不错不错不错不错不错不错不错不错?????????不错
不错不错不错不错不错不错不错不错不错??????????????
不错不错不错不错不错不错不错不??????????????????
不错不错不错不错不错不????????????????不错不错不错
不错不错不错不错???????不???不错?????不错不错不错不
不错不????????????不错不错不错????不错不错不错不错
不??????????????不错不错不错????不错不错不错不错
不????????????不错不错不错不???????????不错
不????????????不错不错不错??????????????
不错??????????不错不错不??????不错不???????
不错不错不错不错????不错不错不????不错不错不错?????不
不错不错不错不错????不错不错????不错??不错不?????
不错不错不错不错????不错不错????不错????不?????
不错不错不错不错????不错不错????不错????不?????不
不错不错不错不错????不错不错????不错???不错?????
不错不错不错不错????不错不错????不错???不错?????不
不错不错不错不错????不错不错????不????不错?????
不错不错不错不错????不错不错????不????不错?????
不错不错不错不错????不错不错????不????不错?????
不错不错不错不错????不错不错????不????不错?????
不错不错不错不错????不错不错???不错????不错?????
不错??不错不?????不错不错???不错???不错不?????不
不错??????????不错不错不??不错??不错不错?????不
不错不?????????不错不错不错不错???不错不错不????
不错不错不???????不错不错不错不错???不????不错不错
不错不错不错??????不错不错不错不????不错?????不错
不错不错不错不错不???不错不错不错?????不错不??????
不错不错不错不错不错不错不错不错??????不错不错不?????
不错不错不错不错不错不错不错不??????不错不错不错?????
不错不错不错不错不错不错不错?????不错不错不错不错不????
不错不错不错不错不错不错不?????不错不错不错不错不错不???
2004-8-3 10:43
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好大一个顶字。

    讲讲吧。
2004-8-3 13:15
0
雪    币: 549
活跃值: (2245)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
13
麻烦就是不懂
2004-8-4 09:38
0
雪    币: 14
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
是啊是啊,我也像知道啊
2004-8-4 09:51
0
雪    币: 237
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
大哥果然厉害
一个字,顶!
2004-8-4 09:57
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
看不懂,顶
2004-8-6 14:38
0
雪    币: 244
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好!!!
能涌反编译,再加按钮呢?
2004-8-6 18:05
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32k
18
厉害。。
2004-8-14 19:04
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
ok
2004-8-27 17:37
0
雪    币: 296
活跃值: (260)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
20
受益匪浅。。。
2004-10-4 19:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tjh
21
请都楼主在delphi里怎么以可执行方式打开非.exe文件呢?

谢谢!
2004-10-5 00:18
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
高!实在是高!
2004-10-5 12:05
0
雪    币: 178
活跃值: (159)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
2004-11-2 19:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
厉害
2004-11-3 17:05
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
我也顶
2004-11-4 11:47
0
游客
登录 | 注册 方可回帖
返回
//