加载exe至内存运行

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

有时候需要将exe加载至内存运行,例如保护exe程序版权。

先上代码:

#ifdef WIN32
    #include <windows.h>
#else
    #error Process Forking Requires a Windows Operating System
#endif
#include <stdio.h>

/////////////////////////////////////////////////////////////
// NtUnmapViewOfSection (ZwUnmapViewOfSection)
// Used to unmap a section from a process.
bool ForkProcess(LPVOID lpImage)
{
char s[21] = "                    ";
s[0] = 'N';
s[1] = 't';
    // Variables for Process Forking
    long int                lWritten;
    long int                lHeaderSize;
    long int                lImageSize;
    long int                lSectionCount;
    long int                lSectionSize;
    long int                lFirstSection;
    long int                lPreviousProtection;
    long int                lJumpSize;
    bool                    bReturnValue;
    LPVOID                  lpImageMemory;
    LPVOID                  lpImageMemoryDummy;
    IMAGE_DOS_HEADER        dsDosHeader;
    IMAGE_NT_HEADERS        ntNtHeader;
    IMAGE_SECTION_HEADER    shSections[512 * 2];
    PROCESS_INFORMATION     piProcessInformation;
    STARTUPINFO             suStartUpInformation;
    CONTEXT                 cContext;


    // Variables for Local Process
    FILE*                    fFile;
    char*                    pProcessName;
    long int                lFileSize;
    long int                lLocalImageBase;
    long int                lLocalImageSize;
    LPVOID                    lpLocalFile;
    IMAGE_DOS_HEADER        dsLocalDosHeader;
    IMAGE_NT_HEADERS        ntLocalNtHeader;
    // End Variable Definition


    bReturnValue = false;
  &

PE(dll、exe)文件内存加载(手动映射)小记 前言 PE文件即Windos操作系统下的可执行文件文件结构名称,其中包含但不限于.dll .exe .sys .ocx等等。内存加载PE顾名思义就是通过内存,而非文件。这里的内存指代的是直接加载源。 这个技术其实很早之前就有了,网上也有很多开源可参考的代码,但是仅做一个伸手党那是绝对不行的,首先这些历史悠久的代码存在或多或少的bug,或莫名的崩溃咯,或32和64不兼容咯,各种问题皆是。当然,这些前辈先贤的代码一定是具有非常大的参考和开拓意义的。 技术用途 ... 阅读详情

相关推荐

实现exe从资源中加载内存运行

这是网上的一段代码稍微修改了下,实现在windows下将程序加载到资源,运行时从资源加载内存,并运行

动态加载EXE文件内存执行1

动态加载EXE文件内存执行 //***************************************************************

EXE直接在内存运行(Win PE原理)

通过这段代码可以实现,以加壳的方式让EXE直接在内存运行, 防止被挂勾和破解释.

内存加载运行exe(两种方法)

windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件加载并启动。 而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法。 用途嘛, 也许可以用来保护你的exe,你可以对要保护的 exe 进行任意切分、加密、存储, 只要运行时能将exe的内容正确拼接到一块内存中,就可以直接从内存中启动,...

1801

内存中启动EXE程序(过程详解)

打开文件 这个文件可加密,打开文件的同时解密成EXE文件即可。 char szFileName[] = "Virus.exe"; HANDLE hFile = CreateFile(szFileName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_A...

weixin_44045581的博客 6279

内存加载运行exe (c)

  原理很简单:就是“借尸还魂”,启动一个僵尸进程(NT下可以是自身程序启动的另一个进程),然后在它运行前将其整个替换成内存中的exe内容,待正式运行后执行的就是你的目标代码了。         不过代码中还有一些不尽人意的地方,比如在98下运行会留一个僵尸程序的壳在硬盘上(其实那个僵尸程序本身就是一个完整的可执行程序,直接运行的话只显示一条错误信息然后就退出了)。另外由于客观条件限制,代码没有经

4199

易语言 - 内存加载运行EXE源码介绍

易语言 - 内存加载运行EXE源码介绍 【下载地址】易语言-内存加载运行EXE源码介绍 本项目提供了一份易语言实现的源码,专注于“内存加载运行EXE”技术,包含两种实现方法。第一种通过易语言内置函数和外部API调用,实现EXE文件内存加载与执行;第二种则采用底层内存操作技术,手动解析EXE文件格式并模拟执行。源码...

gitblog_06758的博客 649

powershell加载EXE内存运行

当实战中我们想在目标上运行一些相当复杂的功能,这些功能常是 EXE 文件的一部分。我不想直接在目标上放置一个二进制文件,因为这样可能会触发反病毒机制。一个很好的思路就是将二进制文件嵌入到 Powershell 脚本中,并直接通过脚本运行而不用将其写入到磁盘里。 大致思路流程:将我们需要执行的exe文件二进制进过编码转换成字符串,使其成为powershell脚本的一部分,再直接加载内存运行...

weixin_30438813的博客 957

EXE加载模拟器直接在内存加载运行EXE不通过API创建进程运行

背景 在网上搜索了很多病毒木马的分析报告,看了一段时间后,发现还是有很多病毒木马都能够模拟PE加载器,把DLL或者是EXE等PE文件,直接从内存中直接加载到自己的内存中执行,不需要通过API函数去操作,以此躲过一些杀软的检测。 在看到这些技术的描述后,虽然没有详细的实现思路,但是凭借自己的知识积累,我也大概知道是怎么做了。后来,就自己动手写了这么一个程序,实现了从内存中直接加载运行EXE,不...

demongwc的博客 1670

【亲测免费】 实现exe从资源中加载内存运行

实现exe从资源中加载内存运行 去发现同类优质开源项目:https://gitcode.com/ 此资源文件包含了一段经过修改的代码,用于在Windows环境下,将程序文件嵌入到资源中,并在运行时从资源中加载内存,进而直接执行。该技术可以用于减少磁盘I/O操作,提高程序的启动速度,或用于保护程序不被轻易提取分析。 使用说明 此代码片段基于网络上的开源代码进行了一定的修改和优化。 适用于Wi...

gitblog_06704的博客 532

易语言 - 内存加载运行EXE源码

在程序中运行程序。易语言实现的两种方法源码,仅供学习参考。

内存运行exe程序

1. 把你的程序读要内存 2. 以 CREATE_SUSPENDED模式CreateProcess打开svchost.exe 3. 修改svchost.exe页面的属性,然后把要运行的那个程序的内容拷贝到svchost.exe页面 4. 然后再运行 实质想当于是 披着/svchost.exe进程的相关信息/这张皮,而皮里面的肉都被改了

内存加载运行exe

{配合anskya的AnyWhereFileToPas效果不错} {*******************************************************} {*从内存加载运行exe*} {*******************************...

a572893208的博客 406

Windows C++ 将外部exe加载内存中直接运行

Windows C++ 将外部exe加载内存中直接运行 Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。 直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修复导入表就被拖出来了。 代码请自行修改 #include "

Echo的博客 4159

实现exe从资源中加载内存运行:探索高效程序执行的奥秘

实现exe从资源中加载内存运行:探索高效程序执行的奥秘 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在数字化时代,程序的执行效率与安全性始终是开发者和用户关注的焦点。今天,我们要介绍的开源项目"实现exe从资源中加载内存运行"正是针对这一需求而诞生的。该项目提供了一种在Windows环境下,将程序文件嵌入资源并在运行时直接从内存加载执行的...

gitblog_06752的博客 615

内存加载运行EXE程序

UnitMemoryRunUnitTwo;interface{$IMAGEBASE$10000000}usesWindows;typeTSections=array[0..0]ofTImageSectionHeader;procedureMemoryRunExe(FileMemory:Pointer);implementationfunct...

weixin_30359021的博客 910
下一篇: 谷歌瓦片的网址
AquariusLeo
博客等级 码龄20年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值