自己的小白 发表于 2020-6-28 14:43

日常造轮子学习之加壳器

本帖最后由 自己的小白 于 2020-6-28 14:46 编辑

# README

## 前言

加壳器,练手之作,以此记录,如有错误,还望不吝赐教

## 界面



## 功能介绍

### 反调试

使用`PEB.BeginDebug`与`PEB.NtGlobalFlag`检测是否被调试

```c
                bool BeginDebugged = false;
                __asm
                {
                        //获取PEB地址
                        mov eax, dword ptr fs :
                        //获取PEB.BeginDebugged
                        mov al, byte ptr ds :
                        mov BeginDebugged, al
                }

                //2.NtGlobalFlag在调试状态时值为0x70,正常下为0
                int NtGlobalFlag = 0;
                __asm
                {
                        //获取PEB地址
                        mov eax, dword ptr fs :
                        //获取PEB.NtGlobalFlag
                        mov eax, dword ptr ds :
                        mov NtGlobalFlag, eax
                }
                NtGlobalFlag == 0x70 ? NtGlobalFlag = 1 : NtGlobalFlag = 0;
```

### 反虚拟机

通过查询注册表键查看是否在虚拟机中运行、

```c
      bool CheckWMWare()
      {
                if (pRegOpenKeyA(HKEY_CLASSES_ROOT, "\\Applications\\VMwareHostOpen.exe", &hkey) == ERROR_SUCCESS)
                {
                        return true;
                }
                else
                {
                        return false;
                }
      }
```

### 支持随机基址

先修复壳代码的重定位表,给原程序添加个区段并将修复好的壳代码的重定位表拷贝到新区段,将原程序的重定位表指向我们新增的区段,这样程序就会自动帮我们重定位壳代码中的数据。在壳代码中,修复原程序的重定位。

如果程序有`tls`表,会关闭随机基址。

### 密码弹窗

弹窗密码会使用`base64`加密

### 代码段加密/压缩

使用`AES_128`对代码段进行加密(密钥为随机生成),使用`LZ4`算法对代码段进行压缩

### IAT加密

修复`IAT`时将函数地址换成一段`shellcode`实现对`IAT`的加密,该`shellcode`包含多个花指令,`shellcode`执行完之后调用原本函数

## 使用说明

- `win10 64` `VS2017`
- `MyShell` `X86` Release生成运行库为多线程MT 禁用优化
- `AddShellTool` `X86` Debug生成

andydyc 发表于 2020-6-28 15:05

谢谢,学习一下,已下载~~

绝无神 发表于 2020-6-28 15:15

大佬厉害了,加油

ciker_li 发表于 2020-6-28 15:21

学习学习,大佬厉害

565836916d 发表于 2020-6-28 15:30


谢谢,学习一下,已下载~~

sw0rdman 发表于 2020-7-1 16:24

有编译好的成品吗

自己的小白 发表于 2020-7-1 17:15

sw0rdman 发表于 2020-7-1 16:24
有编译好的成品吗

不发成品,只学习交流

yzl302 发表于 2021-5-3 09:54

学习学习,大佬厉害
页: [1]
查看完整版本: 日常造轮子学习之加壳器