13 Commits

Author SHA1 Message Date
keowu
04063714da feat: Refactored code for Ryujin console arguments, fixed typos, and resolved instruction-padding logic issues. Fixed temporary variable bug in MBA equivalence generation and more
- Fixed bugs reported by third parties (instruction-override issues, padding-space logic, and more)
- Corrected typos (translated comments/examples to English)
- Fully refactored the Ryujin console (arguments now handled via the argparser library)
- MBA pass: fixed equivalence-logic issues when generating MBA instructions for original operations
- Updated DemoObfuscation usage examples
2025-11-19 21:07:19 -03:00
keowu
4da6e05411 feat: Small pre-steps config to implement Github CI
- Configuring and organizing stuffs to support github actions CI
- Modified RyujinGUI.rc icons references.
- Added a new file vcpkg.json to manage all Ryujin VCPKG dependencies for Github Actions CI usage.
2025-11-09 11:00:43 -03:00
keowu
093569f7b5 feat: Migrate codebase to VS2026 Insider
- Migrating the Ryujin project solution from VS2022 to the newest VS2026 Insider and make it full compatible to use the newer features of MSVC.
2025-09-12 18:02:50 -03:00
keowu
2f5f9e2bd5 feat: New HVPass (extension for code obfuscation) + MiniVM code mutation (for HVPass and standard MiniVM); Bug fixes for extracted unused registers (with future XMM support); Bug fixes for junk/mutation overwriting the RAX register unexpectedly; Improvements and added support for fixing relocation offsets in memory mov instructions; articles/projects diagrams and more.
- New HVPass feature – This feature allows the code VM to run through Microsoft’s Hypervisor API, adding an extra layer of analysis difficulty.
- MiniVM (normal) or MiniVM + HVPass – Now support junk/mutation in the stub, making the logic and instructions randomized at each interaction, further protecting the stub’s code.
- Bug fix – Fixed an issue in the extraction of unused registers from candidate procedures, where some registers were not being handled correctly.
- Bug fix – Fixed an issue in the extraction of XMM registers to enable junk/mutation support for multimedia registers.
- Bug fix – Fixed a problem in the junk/mutation logic for the instructions cdqe and cbw, which were incorrectly overwriting the RAX register, breaking results even when the registers were in use.
- Bug fix – Some instructions were not having relocations properly fixed by the RIP-relative relocation algorithm; this has now been corrected.
- Articles + Project Diagrams as well.

Some of these issues, as well as feature suggestions like HVPass, were discovered or suggested by the reviewers of Ryujin’s article.
2025-08-28 21:20:58 -03:00
keowu
64cdfe6e71 feat: Add custom pass support for Ryujin users via callback
- Ryujin users can now register their own callbacks following the standard interface to create custom passes and extend Ryujin’s behavior.
- Updated configuration files to support safe usage.
- Adjusted README.md.
2025-07-27 09:12:11 -03:00
keowu
ffe6cb9655 feat: Improved pointer safety and performance for better adaptability. Also updated the README.
- Improved and organized pointer safety.
- Removed old, unused fields from the config.
- Introduced RyuJinConfigInternal to separate internal fields not directly related to the exposed config, used only by the Ryujin core.
- Updated README.md.
2025-07-26 22:16:21 -03:00
keowu
487f061d6c feat: Finalize memory protection logic, add GUI/CLI options, and fix README typos
- Added the original source code that generates the memory protection stub as a comment in the stub.
- Added a memory protection flag to the CLI and an option to the GUI.
- Improved CLI help text to be more detailed and explanatory.
- Updated README.md.
2025-07-25 20:30:20 -03:00
keowu
0988e8e078 feat: Working on the base for Memory CRC32 Protection
- Working on a new feature to allow users to protect obfuscated code with a memory protection mechanism, inspired by VMProtect, where the protector uses CRC32 to validate if a page was modified on disk or in memory.
- This is just the base to start building the feature. It’s still in development and I hope it evolves a lot.
2025-07-19 22:06:32 -03:00
keowu
a9bdbb1bdd feat: Start implementing the base for the "AntiDump" feature
- Begin work on the foundational structure for the "AntiDump" feature
- Introduced a new capability in Ryujin called "RyujinRunOncePass", which runs only on the first obfuscated function — ideal for volatile features
- Updated "RyujinCoreConfiguration" structures
 - Updated "RyujinGUI" to include the "AntiDump" option
- Updated "RyujinConsole" to display the "AntiDump" feature
- Updated "README.md" accordingly
2025-07-12 21:26:12 -03:00
keowu
a96d97b9b0 feat: MSVC optimization bug fixes, FFI standard support, and Anti-Debug options in RyujinGui
- Fixed a bug related to MSVC optimizations that broke Ryujin's relocation algorithm and its fix-up logic.
- Introduced a standardized FFI argument-passing method for Ryujin Core; the legacy method remains compatible.
- Ryujin GUI now fully supports the Anti-Debug features.
- Various minor bug fixes and improvements to project structure.
2025-07-10 20:55:39 -03:00
keowu
c678458745 feat: Begin writing README.md
- Create the Ryujin README.md with current features, planned features, demos, and more.
2025-07-03 20:55:55 -03:00
keowu
a574e90401 feat: Check for inputs in RyujinGUI
- Added validation to check for empty inputs in the RyujinGUI obfuscation run logic.
2025-07-03 20:07:47 -03:00
keowu
e17e54ef1e feat: Organize RyujinGUI project structure
- Aligning the RyujinGUI project structure with the main Ryujin project structure.
2025-07-03 19:41:42 -03:00