首页
社区
课程
招聘
[求助]在内存中运行EXE为什么不成功?
发表于: 2015-1-30 10:26 19599

[求助]在内存中运行EXE为什么不成功?

2015-1-30 10:26
19599
win7 64位在内存中运行EXE为什么不成功, 有哪位大牛能指点一下吗?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (32)
雪    币: 144
活跃值: (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
内存加载exe问题多多,你是怎么加载的呀
2015-1-30 10:34
0
雪    币: 256
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
一般32位程序可以在内存里面运行32位EXE,64位程序在内存里面运行64位EXE;
64位程序在内存里面运行32位EXE容易失败,32位程序内存里面不能运行64位EXE;
2015-1-30 11:43
0
雪    币: 712
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我是在网上找了一段名为MemoryRun的vc源码,调试发现xp下运行是成功的, 但是win7下不成功
2015-1-30 11:51
0
雪    币: 712
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是用c:\windows\system32\svchost.exe做为外壳程序
2015-1-30 11:55
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
6
http://bbs.pediy.com/showthread.php?t=153508&highlight=傀儡+儡进+进程

参考这篇文章...
这篇文章提供的代码在win7 以上64位版本会崩溃,修改一下就可以了

win8.1 x64测试的效果如下:
上传的附件:
  • 2.png (493.67kb,384次下载)
2015-1-30 12:38
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
内存对齐 还有 修正 重定位数据 修正导入表。
2015-1-30 14:00
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有码不?
2015-1-30 16:10
0
雪    币: 712
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我测试在执行ResumeThread时会崩溃,提示“应用程序无法正常启动(oxc00000005)”,请问你修改了什么地方了?
2015-1-30 16:12
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
10
把解除映射的代码干掉就可以了... 你试试

~~~~~~~~~~~~~~~~~~~~
2015-1-30 16:43
0
雪    币: 712
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
确实可以了, 谢谢安生于此!
2015-2-2 09:37
0
雪    币: 166
活跃值: (392)
能力值: ( LV13,RANK:357 )
在线值:
发帖
回帖
粉丝
12
执行体exe,加载内存exe后,有可能两个exe地址互相冲突,而一般exe都没有重定位表...如果把加载的exe地址改变后,无法对其地址进行修复....
2015-2-2 10:28
0
雪    币: 87
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
执行体exe可以编译时指定一个与系统和被加载exe冲突可能性小的基址(如0x6FFF0000等)且采用固定基址的方式编译. 不能说一般exe都没有重定位表吧. 照这么说, exe只能在PE中ImageBase指定的位置加载了. 要知道Windows 7以后是支持ASLR的, 基址是可以随机变化的.
2015-2-2 11:24
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
正好有这方面的需求,先看看
2015-2-9 17:54
0
雪    币: 144
活跃值: (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
好吧。。。我以为是加载到自己的内存中运行
原来是还要傀儡进程
2015-2-26 22:05
0
雪    币: 166
活跃值: (392)
能力值: ( LV13,RANK:357 )
在线值:
发帖
回帖
粉丝
16
编译器不指定位置的话,只能在400000H加载, 这是我的理解
2015-3-16 11:49
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
安于此生大牛 小白菜请教一下 解除内存映射的代码是哪些呢  小白菜不懂
2015-4-2 22:12
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
安于此生大牛 请问 解除内存映射的代码是哪些 小白菜求教
2015-4-2 22:13
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
问题已经解决 哈哈哈哈
2015-4-2 22:37
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
20
才看到你的问题,解决了就行...
2015-4-2 22:46
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MCY
21
大牛你好:我在网上看到了这份翻译成VB的代码,研究了好久了,它在64位的电脑上没有出错,但是只启动了一个100K的进程,EXE没有成功运行起来,能不能请大牛看看问题在哪呢?谢谢.
上传的附件:
2015-4-17 20:09
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MCY
22
你好,请问下解除映射代码是哪一段,能指教下吗?谢谢.
2015-8-5 21:53
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MCY
23
你好,请问能不能教一下如何修改,谢谢.研究几个月了.
2015-8-5 22:45
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
确实可以,请教下为什么要这样做吗,原壳程序内存不用释放吗
2015-10-12 20:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
HI : 采用内存运行的方案,出现无法启动的问题。用VC6编译的可以运行, 用VS2012编译出现

0xC0000005异常, The Application was unable to start correctly.

请问怎么更改, 请解答。

目前测试环境为:  64位WIN7

VC6编译测试环境为:32位XP编译, XP运行正常, 64Win7 运行正常。
上传的附件:
2015-11-18 23:06
0
游客
登录 | 注册 方可回帖
返回
//