Window 加密壳实现

阅读: 评论:0

Window 加密壳实现

Window 加密壳实现

前言

加密壳是比较初级的壳,本文最后源码链接中有两套不同实现。实现加密粒度完全不一样。

壳概述

壳一般可以启到压缩作用和防逆向工程的作用。

<是一个原始程序,是被加密后的程序,你可以发现占用磁盘大小减少了一半。

当然本文的源码未做重定向处理所以运行可能会奔溃。但对位于不需要重定向的程序是没有太多问题的。如源码中的扫雷程序。

本文的加密壳原理图:

源码构建

我们首先编写一个GUI程序让用户选择一个加密的exe程序.

Ui代码的编写工程就跳过、
我们常看点击后的事件处理:

//szSrcExePath 加壳的exe
//szDstExePath 输出加壳后的 exe
bool CPacker::Pack(const char const* szSrcExePath, const char const* szDstExePath)
{/** 1.解析PE*/if (!AnalyzePE(szSrcExePath)){return false;}/** 获取导入表信息*/if (!GetImpInfos()){return false;}/** 2.压缩节 获取压缩数据*/if (!Compress()){return false;}/** 3.获取壳代码*/if (!GetCode()){return false;}/** 4.构造带壳PE*///1. 准备节区数据if (!GetSecData()){return false;}//2. 构造新的节表if (!GetNewSecHdrs()){return false;}//3.构造新的PE头if (!GetNewPeHdr()){return false;}//4. 写入文件if (!WriteNewPE2File(szDstExePath)){return false;}return true;
}

我们将根据函数调用序列讲解

源码链接

分别对节压缩,对导入表抹除

加密壳源码 抹除导入表等

对原始EXE整个加密。分为两个仓库存储 一个是shellcode 负责解压缩,一个压缩工具

压缩工具 源码
shellcode 源码

本文发布于:2024-01-31 18:36:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170669737530535.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Window
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23