首页
社区
课程
招聘
[求助]关于给EXE文件添加消息框的问题!
发表于: 2005-12-28 18:49 5041

[求助]关于给EXE文件添加消息框的问题!

2005-12-28 18:49
5041
004037D2 >/$  81EC 80010000   sub esp,180           /这是没有修改过的入口
004037D8  |.  53              push ebx
004037D9  |.  55              push ebp
004037DA  |.  56              push esi
004037DB  |.  33F6            xor esi,esi
004037DD  |.  57              push edi
004037DE  |.  897424 18       mov dword ptr ss:[esp+18],esi
004037E2  |.  BB BCA74000     mov ebx,ImportRE.0040A7BC                ;  ASCII "Error writing temporary file. Make sure your temp folder is valid."
004037E7  |.  897424 10       mov dword ptr ss:[esp+10],esi
004037EB  |.  C64424 14 20    mov byte ptr ss:[esp+14],20
004037F0  |.  FF15 30804000   call dword ptr ds:[<&COMCTL32.#17>]      ; [InitCommonControls
004037F6  |.  56              push esi
004037F7  |.  FF15 A4824000   call dword ptr ds:[<&ole32.OleInitialize>;  ole32.OleInitialize
004037FD  |.  A3 F0BA4400     mov dword ptr ds:[44BAF0],eax

这是修改以后的.
00407410      6A 00           push 0
00407412      68 29744000     push ImportRE.00407429                   ;  ASCII "a6dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0"
00407417      68 38744000     push ImportRE.00407438                   ;  ASCII "ancl"
0040741C      6A 00           push 0
0040741E      E8 D10D0000     call <&USER32.MessageBoxA>
00407423    ^ E9 AAC3FFFF     jmp ImportRE.<ModuleEntryPoint>
00407428      00              db 00
00407429      77 77           ja short ImportRE.004074A2
0040742B      77 2E           ja short ImportRE.0040745B
0040742D      70 65           jo short ImportRE.00407494
0040742F      64:6979 2E 636F>imul edi,dword ptr fs:[ecx+2E],6D6F63
00407437      00              db 00
00407438      61              popad
00407439      6E              outs dx,byte ptr es:[edi]
0040743A      636C00 00       arpl word ptr ds:[eax+eax],bp

为什么做成的EXE文件,不能在另外一个系统用使用?希望大侠指教那里出错.

[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么没有回答?
2005-12-28 19:08
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
3
是不是把InitCommonControls漏掉了?会导致NT系统无法加载
2005-12-28 19:23
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
大侠,InitCommonControls是什么?

大侠能不能给个例子?
2005-12-28 19:29
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
5
InitCommonControls的用法可以查MSDN,其实你做这个东西,在自己机器可以用就行了,基本就达到学习的目的了。
2005-12-28 19:38
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
问题是我想可以跨平台运行.
2005-12-28 19:40
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
为什么没有人帮我?
2005-12-28 20:55
0
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
错在这句:0040741E      E8 D10D0000     call <&USER32.MessageBoxA>

请参考原程序的CALL地址,不要直接调用MessageBoxA
2005-12-28 21:49
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢大侠知道
2005-12-28 22:49
0
雪    币: 255
活跃值: (207)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
不要告诉我你是NOP.
2005-12-28 23:02
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
11
最初由 脱壳请教 发布
错在这句:0040741E E8 D10D0000 call <&USER32.MessageBoxA>

请参考原程序的CALL地址,不要直接调用MessageBoxA


我也想说,就是这个

最近在win2k+sp4上弄了个自显注册码的补丁,拿到xp上出错,用od跟,才发现
是导入函数的原因,因为不同系统其系统dll有修改,建议使用程序自身的IAT表中的间接函数地址。
2005-12-28 23:21
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
如果我向程序里面添加一个API函数,请问怎么调用它?
2005-12-29 18:15
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
13
怎么没有恢复呢?
2005-12-30 13:23
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
14
最初由 vampire 发布
如果我向程序里面添加一个API函数,请问怎么调用它?


LODRPE加入API后,直接call不就行了?
2005-12-30 23:25
0
游客
登录 | 注册 方可回帖
返回