feat: Independent "Ryujin Core as a library" for better usability

- Ryujin now includes a component called Core, where the main obfuscator logic resides. It functions as an independent library that can be used anywhere.
- RyujinConsole now operates by loading the RyujinCore library to run the obfuscator.
- This is a preparation step for additional Ryujin components, such as a future Ryujin GUI and more features like passes and advanced obfuscation options.
This commit is contained in:
keowu
2025-06-22 13:48:30 -03:00
parent eb6d14c4f2
commit cbd7fb67f7
25 changed files with 364 additions and 86 deletions

14
RyujinCore/RyujinCore.cc Normal file
View File

@@ -0,0 +1,14 @@
#include "RyujinCore.hh"
RYUJINCORE_API BOOL __stdcall RunRyujinCore(const std::string& strInputFilePath, const std::string& strPdbFilePath, const std::string& strOutputFilePath, RyujinObfuscatorConfig& config) {
std::unique_ptr<Ryujin> ryujin = std::make_unique<Ryujin>(strInputFilePath, strPdbFilePath, strOutputFilePath);
ryujin.get()->listRyujinProcedures();
ryujin.get()->run(config);
ryujin.reset();
return TRUE;
}