/MyPack

打造自己的壳

Primary LanguageC++

  • 基于C/C++实现自己的壳

MyStub

  1. 功能:提供壳代码的Stub部分,通常用于
    • 解压缩/解密
    • 修复重定位表
    • 修复/加密IAT表
    • 调用TLS函数等
  2. 实现:合并区段,并设置属性为读写执行
  3. 设置:将 DLL 设置为 Release 版本进行编译
  4. 设置:取消一些库函数的调用
    • C\C++ -> 代码生成 -> GS安全检查 -> 禁用
    • C\C++ -> 代码生成 -> 运行库 -> 多线程MT

方便调试

  1. 设置 .exe(加壳器) 和 .dll(stub) 文件的输出路径为同一路径

    • 项目属性 -> 常规 -> 输出目录
    • 默认exe是Debug目录,dll是Release目录
    • exe目录下新建demo(放置测试文件),也作为二者的文件输出路径
  2. 设置工作目录为刚才的输出路径

    • 项目属性 -> 调试 -> 工作目录

    • 二者均设置,均为exe目录下的demo目录

期望功能

  1. 能够向目标程序添加代码
  2. 加密代码段、IAT
  3. 加壳后的程序能正常运行
  4. 花指令、混淆
  5. 密码保护,弹密码框
  6. 支持重定位
  7. TLS处理
  8. 压缩
  9. 反调试