Skip to content

Releases: 0xlane/ollvm-rust

v0.0.1

28 Jun 18:17
Compare
Choose a tag to compare

obfuscation pass 插件,支持混淆方式:

  • 间接跳转,并加密跳转目标(-irobf-indbr)
  • 间接函数调用,并加密目标函数地址(-irobf-icall)
  • 间接全局变量引用,并加密变量地址(-irobf-indgv)
  • 字符串(c string)加密功能(-irobf-cse) (rust 中不生效,已知问题)
  • 过程相关控制流平坦混淆(-irobf-cff)
  • 全部 (-irobf-indbr -irobf-icall -irobf-indgv -irobf-cse -irobf-cff)

rust 动态加载方式:

cargo +nightly rustc --target x86_64-pc-windows-msvc --release -- -Zllvm-plugins="/path/to/LLVMObfuscationx.dll" -Cpasses="irobf(irobf-indbr,irobf-icall,irobf-indgv,irobf-cff,irobf-cse)"

要求:

  • VC++ runtime,下载链接
  • rustc 最好使用 1.81 (nightly-2024-06-26) 版本或者其他相近版本,否则会因为工具链内置 llvm 版本和当前 Release 下的 dll 编译时使用的 llvm 版本不一致导致的编译异常 (#3),安装命令:rustup toolchain install nightly-2024-06-26