You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gmh5225
2839880514
|
3 years ago | |
---|---|---|
images | 3 years ago | |
sdk | 3 years ago | |
test | 3 years ago | |
tool | 3 years ago | |
.clang-format | 3 years ago | |
.gitmodules | 3 years ago | |
CMakeLists.txt | 3 years ago | |
LICENSE | 3 years ago | |
ObfuscateField.cpp | 3 years ago | |
ObfuscateField.h | 3 years ago | |
README.md | 3 years ago | |
build-release.bat | 3 years ago |
README.md
UnknownField
UnknownField is a tool based clang that obfuscating the order of fields to protect your C/C++ game or code.
Before
After
Usage
UnknownField-cli.exe
Usage: UnknownField-cli.exe [options] <source0> [... <sourceN>]
Optional arguments:
-- -I - External include directory
-g - Enable global obfucation
Example commands:
UnknownField-cli.exe test.cpp
UnknownField-cli.exe test.cpp -g
UnknownField-cli.exe test.cpp -- -IE:\External\Directory
UnknownField-cli.exe test.cpp -- -IE:\External\Directory1 -IE:\External\Directory2
Example SDK:
#include "sdk/UnknownFieldSDK.h"
#include <Windows.h>
class UnknownFieldProtection(MyClassX) {
public:
MyClassX();
~MyClassX();
private:
UCHAR name[300];
DWORD mp;
DWORD maxmp;
DWORD hp;
DWORD maxhp;
unsigned char level;
};
Usage Dependency
- Visual Studio with SDK10 (without this you could not include windows.h in your file)
Build Dependency
Build
git clone --recurse-submodules https://github.com/NewWorldComingSoon/UnknownField.git
cd UnknownField
mkdir build
cd build
set LLVM-MSVC-BIN=E:\llvm\llvm-msvc-bin -> You need to replace your path.
cmake ../ -DLLVM_DIR=%LLVM-MSVC-BIN%\lib\cmake\llvm -DClang_DIR=%LLVM-MSVC-BIN%\lib\cmake\clang
cmake --build . --config Release -- -m
TODO
- Obfuscating the order of virtual functions.
Note
This project is currently still a demo.