CodeObfuscationForCProject
code obfuscation for c/c++ Project 基于python实现的针对C/C++源码工程混淆工具实现知识产权保护
Install / Use
/learn @LS95/CodeObfuscationForCProjectREADME
Code Obfuscation For C++ Project
基于python实现的针对C/C++源码工程混淆工具实现知识产权保护
0x00功能介绍:
处理C/C++工程下的源码,主要进行变量和函数替换
0x01工作原理:
基于clang解析抽象语法树 提取变量和函数名
生成对应密文(随机字符串或相近字符串)
函数和变量对应的进行替换
0x02使用方法:
首先"手动"删除所有文件中的系统头文件 #include <stdio.h> #include<windows.h>等
在myglobal.py中的rootPath指定工程根目录
运行 python main.py
最后需要手动在删除的部分原始文件中添加头文件
0x03 工作流程
- 遍历目录下所有预处理C类型文件 .h .hpp .c .cpp .cc
- 对于所有文件 使用Clang进行解析 获得所有函数和变量名称,去除重复,去除白名单的内容
- 获得函数和变量,转换前后的对应关系 记录在dict中
- 对于每个文件进行内容替换
a) 移除空行 和 注释
b) 替换内容 逐行操作- 预处理语句 和 多行语句(‘\’结尾) 不做替换
- 替换数字 为 多个数的运算结果
- 替换字符串 转为16进制
- 替换函数
- 替换变量
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
