feat: Organizing all Ryujin code

- Improving the code organization to make Ryujin more EASY to port, in the future.
This commit is contained in:
keowu
2025-05-24 10:02:58 -03:00
parent 2fa8db0f98
commit 61fe4c93ac
13 changed files with 49 additions and 36 deletions

View File

@@ -0,0 +1,13 @@
#pragma once
#include "RyujinBasicBlock.hh"
class RyujinProcedure {
public:
std::string name;
uintptr_t imagebase;
uintptr_t address;
uintptr_t size;
std::vector<RyujinBasicBlock> basic_blocks;
};

View File

@@ -2,7 +2,7 @@
#include <windows.h>
#include <dbghelp.h>
#pragma comment(lib, "DbgHelp.lib")
#include "RyujinProcedure.hh"
#include "../Models/RyujinProcedure.hh"
#define SymTagFunction 5

View File

@@ -4,9 +4,9 @@
#include <iostream>
#include <memory>
#include <vector>
#include "RyujinPdbParsing.hh"
#include "RyujinUtils.hh"
#include "RyujinObfuscatorConfig.hh"
#include "PDB/RyujinPdbParsing.hh"
#include "Utils/RyujinUtils.hh"
#include "Models/RyujinObfuscatorConfig.hh"
class Ryujin {

View File

@@ -1,5 +1,5 @@
#include <iostream>
#include "Ryujin.hh"
#include "Ryujin/Ryujin.hh"
auto main() -> int {

View File

@@ -131,18 +131,18 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Ryujin.cc" />
<ClCompile Include="RyujinConsole.cc" />
<ClCompile Include="RyujinUtils.cc" />
<ClCompile Include="Ryujin\Ryujin.cc" />
<ClCompile Include="Ryujin\Utils\RyujinUtils.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Ryujin.hh" />
<ClInclude Include="RyujinBasicBlock.hh" />
<ClInclude Include="RyujinInstruction.hh" />
<ClInclude Include="RyujinObfuscatorConfig.hh" />
<ClInclude Include="RyujinPdbParsing.hh" />
<ClInclude Include="RyujinProcedure.hh" />
<ClInclude Include="RyujinUtils.hh" />
<ClInclude Include="Ryujin\Models\RyujinBasicBlock.hh" />
<ClInclude Include="Ryujin\Models\RyujinInstruction.hh" />
<ClInclude Include="Ryujin\Models\RyujinObfuscatorConfig.hh" />
<ClInclude Include="Ryujin\Models\RyujinProcedure.hh" />
<ClInclude Include="Ryujin\PDB\RyujinPdbParsing.hh" />
<ClInclude Include="Ryujin\Ryujin.hh" />
<ClInclude Include="Ryujin\Utils\RyujinUtils.hh" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -27,37 +27,37 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Ryujin.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RyujinUtils.cc">
<ClCompile Include="Ryujin\Utils\RyujinUtils.cc">
<Filter>Ryujin\Utils</Filter>
</ClCompile>
<ClCompile Include="RyujinConsole.cc">
<ClCompile Include="Ryujin\Ryujin.cc">
<Filter>Ryujin</Filter>
</ClCompile>
<ClCompile Include="RyujinConsole.cc">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="RyujinUtils.hh">
<Filter>Ryujin\Utils</Filter>
<ClInclude Include="Ryujin\Models\RyujinBasicBlock.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="RyujinPdbParsing.hh">
<ClInclude Include="Ryujin\Models\RyujinInstruction.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="Ryujin\Models\RyujinObfuscatorConfig.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="Ryujin\Models\RyujinProcedure.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="Ryujin\PDB\RyujinPdbParsing.hh">
<Filter>Ryujin\PDB</Filter>
</ClInclude>
<ClInclude Include="Ryujin.hh">
<ClInclude Include="Ryujin\Utils\RyujinUtils.hh">
<Filter>Ryujin\Utils</Filter>
</ClInclude>
<ClInclude Include="Ryujin\Ryujin.hh">
<Filter>Ryujin</Filter>
</ClInclude>
<ClInclude Include="RyujinProcedure.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="RyujinBasicBlock.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="RyujinInstruction.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
<ClInclude Include="RyujinObfuscatorConfig.hh">
<Filter>Ryujin\Models</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -1,5 +1,5 @@
#pragma once
#include "RyujinBasicBlock.hh"
#include "Ryujin/Models/RyujinBasicBlock.hh"
class RyujinProcedure {