VB里可不可以把一个EXE文件先写进内存,然后再执行?

时间:2022-10-05 08:33:50
VB里可不可以把一个EXE文件先写进内存,然后再执行?
要不生成临时文件

23 个解决方案

#1


要实现这种类似病毒的功能……估计用VB困难

#2


什么叫先写进内存?任何程序都是在内存中执行的

#3


是读进内存吧?
写进内存,别扭!

#4


像这里的第三步应该就是了吧?

http://it.rising.com.cn/newSite/Channels/Anti_Virus/Antivirus_Base/TopicDatabasePackage/12-095000184.htm
================================
病毒部分的运行过程:
  
   一、解密后面的代码长度258H字节
   二、然后病毒在内存中查找KERNEL32模块,并根据名字的检验字找到一大批函数入口,这些函数供后面的代码调用。
   三、申请内存,将所有代码拷贝到申请的内存中,并转申请的内存执行。
   四、查检有无调试程序(调IsDebugPresent函数),如在调试程序下运行,终止病毒代码,返回到原宿主程序(如果是配套的木马,则返回到操作系统)。
   五、启动感染代码,如未在调试程序下运行,在SYSTEM(由GetSystemDirectory)目录感染或建立WQK.EXE(WIN9X下)或WQK.DLL(NT下)。
   六、将当前进程注册为服务进程。

#5


其实我只是想把EXE文件本身加密,并把加密的密匙保存在EXE文件中,当再次运行时,输入密码后,将解密EXE文件,如果生成临时文件,那加密就没有意义了。所以想把解密后的文件直接在内存运行。

#6


那就看这个贴有没有结果吧……

http://community.csdn.net/Expert/topic/3623/3623793.xml

#7


直接加壳吧,你的那个很难,你要做的应该就是加壳,加壳的在解压文件到内存后,要跳转到解压后程序的入口点,用vb如何实现??

#8


关键是如何解压在内存里面!

#9


有没有更好的方法?

加壳的具体操作步骤和方法?能解释一下吗?我不太懂

#10


应该是可以的 ,不过你要熟悉PE文件格式,然后还需要汇编或C语言的支持,使程序跳转并执行 内存中的代码的指令

#11


讲得那么高深,哪懂得那么多呀?

#12


可以,用CreateFileMapping在内存中开个文件映像,再把你的文件拷进去。我在VC下实现了,VB下没有试过。

#13


小心被当作病毒清理掉。。。

#14


to EagleTwenty(丧心病狂)
不明白,能讲详细点吗?

#15


感觉应该可以。因为已经有了内存空间。

不过应该会涉及一些汇编的东西。申请一块空间,然后把东西倒进去,再转过去。但是还有资源的问题需要考虑。

#16


还是不明白 ,有没有参考代码?

#17


绝对被当成病毒,没注册,杀.

#18


gz

#19


软件加壳太容易破了
哈哈

#20


容易的话就不会看到那么多的D版盘了。。。

#21


gz

#22


用资源 把程序的二进制保存起来,然后启动时把资源打开,然后读内存里面,然后执行!

#23


可是每一步该如何处理呢?我都不会

#1


要实现这种类似病毒的功能……估计用VB困难

#2


什么叫先写进内存?任何程序都是在内存中执行的

#3


是读进内存吧?
写进内存,别扭!

#4


像这里的第三步应该就是了吧?

http://it.rising.com.cn/newSite/Channels/Anti_Virus/Antivirus_Base/TopicDatabasePackage/12-095000184.htm
================================
病毒部分的运行过程:
  
   一、解密后面的代码长度258H字节
   二、然后病毒在内存中查找KERNEL32模块,并根据名字的检验字找到一大批函数入口,这些函数供后面的代码调用。
   三、申请内存,将所有代码拷贝到申请的内存中,并转申请的内存执行。
   四、查检有无调试程序(调IsDebugPresent函数),如在调试程序下运行,终止病毒代码,返回到原宿主程序(如果是配套的木马,则返回到操作系统)。
   五、启动感染代码,如未在调试程序下运行,在SYSTEM(由GetSystemDirectory)目录感染或建立WQK.EXE(WIN9X下)或WQK.DLL(NT下)。
   六、将当前进程注册为服务进程。

#5


其实我只是想把EXE文件本身加密,并把加密的密匙保存在EXE文件中,当再次运行时,输入密码后,将解密EXE文件,如果生成临时文件,那加密就没有意义了。所以想把解密后的文件直接在内存运行。

#6


那就看这个贴有没有结果吧……

http://community.csdn.net/Expert/topic/3623/3623793.xml

#7


直接加壳吧,你的那个很难,你要做的应该就是加壳,加壳的在解压文件到内存后,要跳转到解压后程序的入口点,用vb如何实现??

#8


关键是如何解压在内存里面!

#9


有没有更好的方法?

加壳的具体操作步骤和方法?能解释一下吗?我不太懂

#10


应该是可以的 ,不过你要熟悉PE文件格式,然后还需要汇编或C语言的支持,使程序跳转并执行 内存中的代码的指令

#11


讲得那么高深,哪懂得那么多呀?

#12


可以,用CreateFileMapping在内存中开个文件映像,再把你的文件拷进去。我在VC下实现了,VB下没有试过。

#13


小心被当作病毒清理掉。。。

#14


to EagleTwenty(丧心病狂)
不明白,能讲详细点吗?

#15


感觉应该可以。因为已经有了内存空间。

不过应该会涉及一些汇编的东西。申请一块空间,然后把东西倒进去,再转过去。但是还有资源的问题需要考虑。

#16


还是不明白 ,有没有参考代码?

#17


绝对被当成病毒,没注册,杀.

#18


gz

#19


软件加壳太容易破了
哈哈

#20


容易的话就不会看到那么多的D版盘了。。。

#21


gz

#22


用资源 把程序的二进制保存起来,然后启动时把资源打开,然后读内存里面,然后执行!

#23


可是每一步该如何处理呢?我都不会