在98下往.exe文件中,写入
......
gamestart:
call vstart
vstart:
pop ebp
sub ebp, offset vstart
mov dMessageBox[ebp], 0bff541bah ;MessageBox地址的硬编码。
...........
....
ret
sMess db "String", 0
dMessageBox dd 0
vend:
....
可以弹出对话框。
但在2000下,把MessageBox地址的硬编码进行相应的替换,
写入文件,为什么不能运行????????
2000下的MessageBox 的硬编码为77e175d5h。此帖子在ASM板块有两个,此处解决者,可到ASM板块领分。
......
gamestart:
call vstart
vstart:
pop ebp
sub ebp, offset vstart
mov dMessageBox[ebp], 0bff541bah ;MessageBox地址的硬编码。
...........
....
ret
sMess db "String", 0
dMessageBox dd 0
vend:
....
可以弹出对话框。
但在2000下,把MessageBox地址的硬编码进行相应的替换,
写入文件,为什么不能运行????????
2000下的MessageBox 的硬编码为77e175d5h。此帖子在ASM板块有两个,此处解决者,可到ASM板块领分。
解决方案 »
- operator DEBUG_NEW' is not a recognized operator or type 是怎么回事?
- 在VC6中,如何取得MS SQL服务器的系统时间?
- 我想在MFC对话框中,嵌入Word(能查看、打印Word)
- 有谁做过通过串口对FPGA的配置
- 求COM技术内幕的 源代码
- Windows随机分配端口的问题
- 怎样播放rm格式文件.用CRealAudio好象有一点问题。
- 如何得到整个FlexGrid宽度和长度的数值??
- 高手请进来一下,急~~~~~~中午前结贴(100分)
- CQP(悄悄的我走了,正如我悄悄的来) 和 Automatic(空空) 请进来,刚刚的问题还没有解决:(
- 视图(VIEW)和控件 EDIT BOX 有什么区别?
- 可以让EDIT BOX 也有 ::OnDraw(CDC* pDC)事件吗?
帮你UP
帮你UP
帮你UP
帮你UP
帮你UP
MessageBox地址的不能用98的方法寻址。
有详细解释。
我问的问题不是出在这。
vstart:
call next
next:
pop ebp
sub ebp, offset next
mov eax, old_base[ebp]
add eax, old_addr[ebp]
push eax
ret
...
old_base dd 0
old_addr dd 0
vend:
为什么这段代码加到.exe文件中可以执行(98环境下)
2000下为什么会报错。
可以不涉及刚才我所说的API函数地址的硬编码,只是一条跳转指令。
之所以采用硬编码,只是为了测试用。
希望多多指教。
我问的问题不是出在这。
vstart:
call next
next:
pop ebp
sub ebp, offset next
mov eax, old_base[ebp]
add eax, old_addr[ebp]
push eax
ret
...
old_base dd 0
old_addr dd 0
vend:
为什么这段代码加到.exe文件中可以执行(98环境下)
2000下为什么会报错。
可以不涉及刚才我所说的API函数地址的硬编码,只是一条跳转指令。
之所以采用硬编码,只是为了测试用。
希望多多指教。
add eax, old_addr[ebp]
这两行中的基址好象有问题吧,以0为基址在2000下是必定要发生内存错误的。因为好象系统底部的内存是操作系统专用的,应用程序不能访问。
你这两行的效果与EBP*2有什么区别?
我机器上User32.dll的base是77df0000,MessageBoxA的Entry是2776c
我机器上User32.dll的base是77df0000,MessageBoxA的Entry是2776c
我机器上User32.dll的base是77df0000,MessageBoxA的Entry是2776c
本人用VC曾经做过一个测试(2000下),把一段可执行的二进制代码写入exe文件,并添加一个相应的Section Header可以成功。(也是弹出一个对话框)
现在这个过程和那个非常的类似。
只不过是一段未编译的汇编代码,而此段代码,可以在98下成功,而2000下就
不可以,到底是怎么回事?
还望大家多多帮忙。