开源Bat转Exe没事干之作拿去玩吧
功能说明:该程序是一个基于易语言开发的简易可执行文件(EXE)加壳/伪装工具,核心功能是将用户指定的原始EXE文件“包装”成一个看似普通的隐藏BAT批处理文件,并在运行时自动解包、调用原程序,实现基础的混淆与隐蔽执行。程序主界面包含三个按钮:按钮1用于选择待伪装的原始EXE文件(路径写入编辑框1),按钮2用于指定生成的伪装文件路径(写入编辑框2),按钮3触发核心伪装操作。其加壳逻辑分为两部分:
1. **加壳阶段(_按钮3_被单击)**:读取内置的固定字节集外壳(#外壳,即一段预置的Shellcode或启动引导代码),根据选择框1状态决定是否对其中特定字节({188,217})进行替换(改为{213,230}),随后将该外壳字节集与用户选定的原始EXE文件字节集拼接,写入编辑框2指定路径,生成一个“外壳+原始EXE”的新文件。该操作本质是向目标EXE前附加一段启动引导代码,构成简易加壳结构。
2. **运行阶段(_启动子程序)**:程序启动时自动执行——先在临时目录创建一个扩展名为“.bat”的隐藏文件;然后从自身EXE文件中提取并截取一段特殊构造的批处理脚本(通过定位特征字节集{179,212,193,203,185,254}和{188,217}实现偏移解析),该脚本以“%~a ”开头(伪装为无效批处理命令)、含“cls”清屏指令,并最终跳转至自身EXE文件的剩余有效载荷;将此脚本写入临时BAT文件并设为隐藏属性;再调用Windows API CreateProcess,通过cmd.exe执行该BAT文件;等待其执行完毕后立即删除该临时BAT。整个过程实现了“双阶段加载”:BAT作为第一层伪装入口,实际加载并运行的是嵌入在自身文件中的原始EXE逻辑(即加壳后的完整载荷)。
值得注意的是,程序存在明显混淆与反分析设计:如外壳字节替换条件(“如果真 (标志 = { 213, 230 })”)在初始状态下恒为假,属无效冗余代码;变量名(如“STARTUPINFO”误拼为“STARTUPINFO”,实际应为“STARTUPINFOA”)、API参数类型不严谨(如CreateProcess参数lpCurrentDriectory拼写错误)、以及注释中“哦呵呵 这句话可是有可能成立的哦~”等表述,均体现作者刻意添加的干扰信息,旨在增加逆向难度。综上,该程序并非专业加壳器,而是一个教学演示级或实验性质的简易EXE伪装工具,主要用途是实现文件格式混淆、规避基础杀软静态扫描、以及模拟恶意软件常用的第一阶段落地手法(如通过BAT间接执行PE)。
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
======程序集1
| |
| |------ _启动子程序
| |
| |
======调用的Dll
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ CreateProcess
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。