Commit Graph

70 Commits

Author SHA1 Message Date
keowu
c1d6e48682 feat: add base for dynamic junk code obfuscation algorithm
- Implemented the base for Junk Code dynamic generation.
- Implemented logic for ZydisRegister to GP register conversion.
- Fixed a heuristic analysis feature that stored unused stack registers.
- Ignored reserved stack registers.
- Increased the number of obfuscation passes.
2025-06-09 21:21:53 -03:00
keowu
a337df3096 feat: Junk Code Insertion Obfuscation feature, fixed typos, and more
- Completed the core Junk Code Insertion feature.
-Translated comments.
- Made minor code improvements.
- Planned future enhancements for the Junk Code Insertion feature.
2025-06-09 11:10:01 -03:00
keowu
2c1bcbe4fe feat: Code improvements, new obfuscation options, and initial junk code insertion logic
- Some parts of the code have been organized.
- A new obfuscation option to encrypt the obfuscated code is now available.
- The foundation for junk code insertion has been implemented.
2025-06-08 12:04:43 -03:00
keowu
21cd08a327 feat: Finalized IAT Obfuscation Feature Implementation
- Completed the implementation of the IAT obfuscation logic.
- Integrated AsmJit-based code emission for obfuscation.
- Obfuscated the PEB and its offset entries to evade automated scanning.
 - Added a randomized algorithm to generate a unique key for each iteration.
- Implemented runtime polymorphic IAT resolution to disrupt disassemblers and decompilers.
2025-06-08 11:45:59 -03:00
keowu
351756a1b4 feat: Initial implementation of IAT obfuscation feature
- Initial IAT obfuscation feature, Ryujin can now obfuscate the IAT for the configured procedures.
- New basic block context generation.
- Bug fixes.
 - Improved obfuscation logic for better organization.
2025-06-07 21:55:58 -03:00
keowu
5b004bff54 feat: Enable "Ignore Remove Original Code After Obfuscation"
Users can now enable an option in the obfuscation config to "ignore the removal of the original code" after obfuscation.
2025-06-04 20:55:23 -03:00
keowu
a02c72a5e5 feat: Handle multiple procedures at once, remove and redirect original code after obfuscation, and fix bugs
- Now Ryujin removes all the original procedure code after obfuscation.
- Now Ryujin redirects the original procedure to the correct obfuscated location for execution.
- Now Ryujin can handle multiple procedures at once and their relocation, organizing each obfuscated procedure sequentially in the new section.
- Fixed the bug in "RyujinObfuscationCore::fix_branch_near_far_short" that could break in some unexpected branching cases.
2025-06-03 20:58:00 -03:00
keowu
caf7a199db feat: Fixing full obfuscated opcode relocations, Obfuscated section improvements and much more
- Now after processing the obfuscated opcodes the ryujin can fix all the relocations for the obfuscated code turning this code valid again after obfuscating considering all possible relocation cases.
- The section generator was been improved as well
- The logic to handle obfuscated opcodes and function is also improved.
- Some unused field for our logic has been removed.
2025-06-01 12:58:04 -03:00
keowu
3f8bced350 feat: Begin working on Ryuujin core
- Working on obfuscated core
- Optimizing Ryuujin
2025-05-30 09:25:43 -03:00
keowu
dff74ed8b9 feat: Finished logic for add new section, Fixed variable bugs, New Utils functions and mroe
- Finished the logic for add new segments.
- Moved the segments code to a independent class for PESections.
- New method utils.
- Bug fixies.
- Code organization.
2025-05-25 11:22:15 -03:00
keowu
43b50dffe4 feat: IatObfuscation option, Section Name Randomizing, New Section Logic
- Adding a new option on obfuscator for IAT obfuscation support.
- Adding a new logic to randomize section names.
- Adding the initial logic to add a new section in the PE file. and writing some ideas and some things to be able to continue the logic in a correct way.
2025-05-24 22:03:30 -03:00
keowu
ee3025b942 feat: Ryujin Basic Blocks, Opcode extractor and disassembler.
- Working on Ryujin Basic Block parsing feature.
- Opcodes Extractor.
- Disassembler.
- Fixing some bugs when printing names.
2025-05-24 19:50:25 -03:00
keowu
8c10fd6088 del: Removed duplicated file
- Removing the duplicated file from the last organization commit.
2025-05-24 10:04:14 -03:00
keowu
61fe4c93ac feat: Organizing all Ryujin code
- Improving the code organization to make Ryujin more EASY to port, in the future.
2025-05-24 10:02:58 -03:00
keowu
2fa8db0f98 feat: Ryujin configuration, procedures choise, and more
- Now we can configure the obfuscator. identify the functions to work and what kind of action to do.
2025-05-24 09:52:40 -03:00
keowu
8d91117554 feat: Ryujin pdb parsing
Finishing the Ryujin PDB parsing feature implementation.
2025-05-24 09:19:01 -03:00
keowu
82a15d5358 feat: Ryujin Models, PDB, Utils
- Organizing Ryujin code models
- PDB Parsing
- Utils
- More
2025-05-23 22:04:08 -03:00
keowu
4aa9381177 feat: Ryujin Core Logic
- Ryujin core logic, class organization.
- Ryujin Utils.
2025-05-23 17:52:19 -03:00
keowu
0a15f20bc1 add: RyujinConsole
Added the first version of Ryujin Console.
2025-05-23 16:34:51 -03:00
keowu
e772c91676 Initial commit 2025-05-23 16:17:33 -03:00