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

解决方案 »

  1.   

    像这里的第三步应该就是了吧?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下)。
       六、将当前进程注册为服务进程。
      

  2.   

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

  3.   

    那就看这个贴有没有结果吧……http://community.csdn.net/Expert/topic/3623/3623793.xml
      

  4.   

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

  5.   

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

  6.   

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