All Projects → penguin-wwy → Replace_function_name

penguin-wwy / Replace_function_name

Licence: other
LLVM IR编译时替换函数名

Labels

Projects that are alternatives of or similar to Replace function name

Datuner
DATuner Repository
Stars: ✭ 8 (-84%)
Mutual labels:  llvm
Llvm Tutorial Standalone
DEPRECATED (Use: https://github.com/llvm-hs/llvm-hs-kaleidoscope )
Stars: ✭ 38 (-24%)
Mutual labels:  llvm
Llvm2graphml
Explore LLVM Bitcode interactively using a graph database
Stars: ✭ 44 (-12%)
Mutual labels:  llvm
Llvm Gbz80
LLVM port to the GBZ80 CPU
Stars: ✭ 32 (-36%)
Mutual labels:  llvm
Coat
EDSL for C++ to make just-in-time code generation easier
Stars: ✭ 37 (-26%)
Mutual labels:  llvm
Researchnote
通过issue和README来记录日常学习研究笔记 关注 机器学习系统,深度学习, LLVM,性能剖视, Linux操作系统内核 话题 关注 C/C++. JAVA. Python. Golang. Chisel. 编程语言话题 ( Writing Blogs using github issue and markdown! (inculding Machine Learning algs and system, LLVM, Linux kernel, java, python, c++, golang)
Stars: ✭ 41 (-18%)
Mutual labels:  llvm
Cfl
a Compileable statically typed Functional programming Language
Stars: ✭ 7 (-86%)
Mutual labels:  llvm
Leekscript V2
A dynamically typed, compiled just-in-time programming language used in Leek Wars' AIs
Stars: ✭ 46 (-8%)
Mutual labels:  llvm
Kylin Llvm Obfuscator
based on llvm 5.0.1 release with ollvm
Stars: ✭ 37 (-26%)
Mutual labels:  llvm
Processwarp
Stars: ✭ 43 (-14%)
Mutual labels:  llvm
Zion
A statically-typed strictly-evaluated garbage-collected readable programming language.
Stars: ✭ 33 (-34%)
Mutual labels:  llvm
Llvm Cheatsheet
LLVM, clang, ninja, dyld and others.
Stars: ✭ 36 (-28%)
Mutual labels:  llvm
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+18036%)
Mutual labels:  llvm
Lyca
programming language compiler w/ llvm
Stars: ✭ 9 (-82%)
Mutual labels:  llvm
Stoat
STatic (LLVM) Object file Analysis Tool
Stars: ✭ 44 (-12%)
Mutual labels:  llvm
Llhttp
Port of http_parser to llparse
Stars: ✭ 841 (+1582%)
Mutual labels:  llvm
Llvm To Snes
LLVM IR → WLA DX (ASM 65c816) → SNES Rom
Stars: ✭ 39 (-22%)
Mutual labels:  llvm
Llvm Demo
A simple example of how LLVM can be used to gather static or dynamic facts about a program.
Stars: ✭ 48 (-4%)
Mutual labels:  llvm
Rellume
Lift x86-64 to performant LLVM IR
Stars: ✭ 45 (-10%)
Mutual labels:  llvm
Domtresat
Dominator Tree LLVM Pass to Test Satisfiability
Stars: ✭ 42 (-16%)
Mutual labels:  llvm

replace_function_name

主要功能

LLVM生成IR时使用md5替换函数名

构建

clone仓库,将replace文件夹放到任意位置,并设置replace路径为环境变量REPATH

git clone https://github.com/penguin-wwy/replace_function_name.git
cd replace_function_name
mv replace /Users/home/

添加环境变量

export REPATH=/Users/home/replace
mkdir ../build
cd ../build
cmake ../replace_function_name
make -j 4

编译完成后使用该目录下./bin/clang编译需要混淆的文件或工程

使用方法

首先打开replace下的1.code,没有则创建

输入如下内容

1
ClassName:FucntionName1
ClassName:FucntionName2
:FunctionName
...

使用函数名替换设置1,不使用函数名替换设置为0即可

除第一行外格式为类名(非成员函数可省略) + 冒号 + 函数名,

暂时不支持构造函数、析构函数、与成员函数同名的非成员函数。

之后编译工程或文件即可

效果

替换前

替换后

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].