with one click
binary-modification
// Modify binary behavior using natural language — explore, plan, patch, save
// Modify binary behavior using natural language — explore, plan, patch, save
| name | Binary Modification |
| description | Modify binary behavior using natural language — explore, plan, patch, save |
| tags | ["modification","patching","exploration","game-hacking","binary"] |
| mode | exploration |
| author | Rikugan |
| version | 1 |
Task: Modify the binary's behavior based on the user's natural language description. You will autonomously explore the binary to understand it, formulate a concrete plan, and apply minimal patches.
Your goal is to build enough understanding of the binary to know WHERE and HOW to make the requested change. Use exploration_report to log every significant finding.
get_binary_info — architecture, format, sizelist_imports + list_exports — what APIs does the binary use?search_strings / list_strings_filter with keywords from the user's request
xrefs_to to find which functions reference themxrefs_to to find call sitessearch_functions for names containing relevant keywordsexploration_report(category="function_purpose")decompile_function on the most promising candidatesget_il for detailed intermediate representation when neededexploration_report(category="hypothesis")
phase_transition(to_phase="plan")ask_user to get hintsWhen you transition to the PLAN phase, you will receive a synthesis prompt with your accumulated findings. Create a numbered plan where each step specifies:
Be precise. The plan will be shown to the user for approval before execution.
Example format:
1. Change snake initial length constant at 0x401248 from 3 to 6 (mov eax, 3 -> mov eax, 6)
2. Double score increment at 0x4015C2: change `add [score], 10` to `add [score], 20`
The agent host determines which patching skill to use:
smart-patch-ida via activate_skillsmart-patch-binja via activate_skillThe host is visible in the system prompt context. Activate the correct skill at the start of Phase 3, then follow its workflow for each planned change.
After each patch, you MUST call:
exploration_report(category="patch_result", address=..., summary="...", original_hex="...", new_hex="...")
This is required for the Phase 4 save gate to know what was applied.
Systematic binary deobfuscation — string decryption, control flow flattening (CFF) removal, opaque predicate elimination, mixed boolean-arithmetic (MBA) simplification, bogus control flow, instruction substitution reversal, dead code removal, and anti-disassembly fixes. Trigger: deobfuscate, unobfuscate, deobfuscation, CFF, flatten, opaque predicate, MBA, obfuscated, OLLVM, Tigress, VMProtect, string decryption, junk code, bogus control flow, instruction substitution, anti-disassembly
Write and execute Binary Ninja Python scripts — full API reference included
Write and execute IDAPython scripts — full API reference included
Expert ELF malware analysis — packing, toolchain ID, kill chain, persistence, C2, rootkits, cryptominers, Go/Rust/Mirai patterns, MITRE ATT&CK mapping
Patch binary code in Binary Ninja using natural language — read, assemble, write, verify
Patch binary code in IDA Pro using natural language — read, assemble, write, verify