GoSSIP-SJTU / Armariris

孤挺花(Armariris) -- 由上海交通大学密码与计算机安全实验室维护的LLVM混淆框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Armariris

孤挺花(Armariris) -- 由上海交通大学密码与计算机安全实验室维护的LLVM混淆框架

中文

孤挺花(Armariris): 基于LLVM的支持多平台多语言的混淆器

本项目名取自细音启小说<黄昏色的咏使>以及<冰洁镜界的伊甸>中的人物孤挺花. 她即便无人理解依然守护着姐姐与世界.

Armariris是作者自创语言Selahpheno中孤挺花的意思.

目前开放功能包括:

  • 字符串加密. sobf
  • 控制流扁平化 fla
  • 指令替换 sub

安装

mkdir obf
cd obf
clone git@github.com:gossip-sjtu/Armariris.git
cmake -DCMAKE_BUILD_TYPE:String=Release ./Armariris
make -j4

用法

编译时候添加选项开启字符串加密

-mllvm -sobf

开启控制流扁平化

-mllvm -fla

开启指令替换

-mllvm -sub

指定随机数生成器种子

-mllvm -seed=0xdeadbeaf

English

Armariris: an obfuscator based on LLVM project for multiple languages and platforms.

Currently support:

  • string obfuscation
  • control flow flattening
  • instruction substitutions

Armariris

Armariris is the alias of Amaryllis in conlang Selahpheno in sazaneK's light novel. Amaryllis is a character in light novel <黄昏色の詠使い> and <氷結鏡界のエデン> written by 細音啓(sazaneK). Although nobody unserstands her, she still guards her sister and the world persistently.

Install

mkdir obf
cd obf
clone git@github.com:gossip-sjtu/Armariris.git
cmake -DCMAKE_BUILD_TYPE:String=Release ./Armariris
make -j4

Usage

Add option for opening string obfuscation when compiling.

-mllvm -sobf

Add option for opening control flow flattening when compiling.

-mllvm -fla

Add option for opening instruction substitutions when compiling.

-mllvm -sub

Add option for setting random seed.

-mllvm -seed=0xdeadbeaf

About

孤挺花(Armariris) -- 由上海交通大学密码与计算机安全实验室维护的LLVM混淆框架

License:Apache License 2.0


Languages

Language:C++ 53.4%Language:LLVM 26.1%Language:C 7.7%Language:Assembly 6.9%Language:Objective-C 2.6%Language:Objective-C++ 0.8%Language:HTML 0.6%Language:Python 0.6%Language:Makefile 0.4%Language:CMake 0.3%Language:OCaml 0.1%Language:Cuda 0.1%Language:Go 0.1%Language:Perl 0.1%Language:Shell 0.0%Language:MATLAB 0.0%Language:JavaScript 0.0%Language:Emacs Lisp 0.0%Language:Batchfile 0.0%Language:C# 0.0%Language:Vim Script 0.0%Language:Roff 0.0%Language:CSS 0.0%Language:Fortran 0.0%Language:Mathematica 0.0%Language:PHP 0.0%Language:AppleScript 0.0%Language:Mercury 0.0%Language:Forth 0.0%Language:RenderScript 0.0%Language:M 0.0%Language:Rust 0.0%