内存中加载运行EXE

时间:2016-08-27 09:37:08
【文件属性】:

文件名称:内存中加载运行EXE

文件大小:1.75MB

文件格式:ZIP

更新时间:2016-08-27 09:37:08

E语言

windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件中加载并启动。 而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法。 用途嘛, 也许可以用来保护你的exe,你可以对要保护的 exe 进行任意切分、加密、存储, 只要运行时能将exe的内容正确拼接到一块内存中,就可以直接从内存中启动,而不必不安全地去 生成一个临时文件再从临时文件启动进程。另外这段代码也提供了一种自己写exe外壳的简单途径, 如果能配合其它各种外壳技术就更好地保护你的exe文件。 原理很简单:就是“借尸还魂”,启动一个僵尸进程(NT下可以是自身程序启动的另一个进程), 然后在它运行前将其整个替换成内存中的exe内容,待正式运行后执行的就是你的目标代码了。 不过代码中还有一些不尽人意的地方,比如在98下运行会留一个僵尸程序的壳在硬盘上( 其实那个僵尸程序本身就是一个完整的可执行程序,直接运行的话只显示一条错误信息然后就退出了)。 另外由于客观条件限制,代码没有经过充分测试,只在XP下进行了一些初步测试:普通exe都能正常运行, upx压缩过的exe绝大多数情况下都能运行,只有在不能卸载僵尸外壳时才有问题(upx压缩过的exe没有重定向表, 无法加载到其它地址运行)。


【文件预览】:
内存中加载运行EXE.md5
内存中加载运行EXE.log
内存中加载运行EXE.e
内存中运行EXE资源.ec
内存中加载运行EXE.bak

网友评论

  • 一堆乱码,没有程序。
  • 有一定的参考价值,还行
  • 不错哦,用了,很好
  • 什么东西啊?  压缩包里面一堆乱码文件
  • 貌似没效果哇
  • 有一定的参考价值,还行。