自写免杀辅助小工具

2023-11-20 12:37:35 浏览数 (1)

01

前言

由于制作免杀时经常要用到的一些加解密和字符串转换,经常要切换另一个项目或要打开另一个工具来进行加解密或转换,切换另一个项目非常麻烦,使用的工具又不能完全满足我的要求,还要自己进行调整,如果工具是java写的打开还会非常慢,于是我按照本人的习惯,将我制作免杀时经常要用到的一些功能集成到了一个小工具中,使用C 编写,使用起来小巧快速。

工具文末下载。

02

使用

使用方法如下,内容不多,但是非常灵活:

代码语言:javascript复制
用法:
  -p <password>         数字加密密钥,可以为单个字符
  -x <string>           要加解密的16进制shellcode或要编码和解码的内容
  -f <file>             从文件输入要加解密或要编码和解码的二进制内容
  -o <file>             输出文件
  -c <string>           要清除空字符,可以为16进制字符串
  -h                    与 -o 使用,输出转为C语言的头文件
  -d                    解密
  -dd                   解密以16进制显示
实用选项:
  -hex                  进入16编码解码模式
  -base64               进入base64编码解码模式
  -er                   进入熵减加解密模式
  -nc                   不使用熵减加解密模式压缩
  -t                    字符串转堆
  -tt                   字符串转Unicode堆

默认进行自定义异或随机值加解密,加密内容可以为字符串与16进制字符串,输出为16进制字符串:

-d 解密:

-dd 解密以16进制显示:

解密代码如下:

代码语言:javascript复制
unsigned char* decrypt(unsigned char* input, int len, unsigned int key) {
    unsigned char* output = new unsigned char[len];
    srand(key);
    for (int i = 0; i < len; i  ) {
        output[i] = input[i] ^ (rand() % len   1);
        output[i] = output[i] ^ key;
    }
    return output;
}

-f 输入文件,-o 输出文件:

下面是一个很实用的功能,与 linux 的 xxd -i input.txt > output.txt 命令功能相同。

-h 输出为C语言头文件,可以直接在代码中引用:

-hex 16进制编码和解密,-base64 base64编码和解密:

-t 与 -tt,与 -h 有点类似,将字符串转堆数组以便在代码中使用:

还有最近写的 -er 熵减加解密,将字符串加密成熵值比较低的字符串,减少报毒:

-nc 可以禁用熵减加解密的压缩,压缩对大shellcode效果比较好,较小的shellcode使用压缩后可能反而会变大。

加密内容与上面的对比小了很多。

03

最后

相应的C 解密算法都在源码中,源码仅对星球内部成员开放。

可以自己修改源代码中的加解密函数,实现自己的加解密:

要添加更多的加解密也非常简单。

  1. 修改一下入口的命令值获取:
  1. 添加加解密:

锦鲤安全

一个安全技术学习与工具分享平台

点分享

点收藏

点点赞

点在看

0 人点赞