penguin-wwy / Replace_function_name
Licence: other
LLVM IR编译时替换函数名
Stars: ✭ 50
Labels
Projects that are alternatives of or similar to Replace function name
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
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
Zion
A statically-typed strictly-evaluated garbage-collected readable programming language.
Stars: ✭ 33 (-34%)
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
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
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].