A modernized IDA 9.x community-preview update of Eiffel2018's original uEngine / cheatLibs workflow, focused on Unreal Engine analysis, runtime-assisted discovery, metadata rebuilds, and experimental cheat-research helpers.
Hi everyone,
after roughly four months of working on this on and off, I want to share a community-preview version of my modernized `uEngine / cheatLibs` setup for IDA Pro 9.x.
This is based on the original public work by Eiffel2018, but it has been heavily updated, tested, and extended for newer IDA versions and runtime/GDB-backed Unreal Engine analysis, especially on Nintendo Switch targets.
Original thread for user Eiffel2018 see here:
Eiffel2018 Original Thread
At the beginning I honestly thought this could become a more or less “generic” Unreal Engine script that just works across games. After spending a lot of time with different titles, I learned the hard way that every game has its own traps: different FNamePool behavior, GUObjectArray layouts, missing builders, weird runtime state, emulator vs hardware differences, and so on.
So I want to be clear: this is not a magic one-click solution for every UE game.
But I do think it is now in a useful state.
The current package includes the main IDA scripts, hook system, docs, and a few validated game hooks. The strongest tested titles so far are:
- Fantasy Life I
- Xuan Yuan Sword 7
- Dragon Quest VII Reimagined
For these, the tool can recover the important UE anchors, rebuild a lot of useful metadata, improve IDA naming, and provide navigation / analysis helpers. Some cheat-related workflows are also included, but I would treat those as advanced or experimental unless you know what you are doing.
The most useful part, in my opinion, is the bring-up workflow:
run the analysis, check the gates, see what passed, what degraded, and where the script still needs help. That should make it easier for people who know IDA Pro to test other UE games and quickly see whether the current heuristics are enough or whether a new game-specific hook is needed.
I am sharing this as a community preview because I think it can already help people, but I also want expectations to be realistic. Some games may work surprisingly well. Others may need days or weeks of extra work. I probably will only continue development sporadically from here, partly because this project used a huge amount of AI-assisted iteration and token budget. Still, I hope this gives others a strong starting point instead of starting from zero.
If you are comfortable with IDA Pro and Unreal Engine reversing, I would be very interested to hear:
- does it run on your game?
- does `FullAnalysis()` find the right anchors?
- do the bring-up gates make sense?
- where does it fail?
- what kind of hook data would be needed for a new title?
Please read the included `COMMUNITY_PREVIEW.md` and `QUICKSTART.md` first. The docs try to separate what is stable from what is still experimental.
Big thanks and credits to:
- @Eiffel2018 for the original scripts and concept
- @TomSwitch for major community reference and validation support
- @OblivionReign for the IDA 9.x port baseline
- @patjenova and @Gamerjin for community guidance and feedback
- @LaMano (Myself^^) for the modernization, testing, hardening, and the very stubborn four-month rabbit hole
- AI-assisted support from Codex, GPT 5.5, Claude Sonnet, Claude Opus 4.6, Claude Opus 4.7, and Claude Opus 4.8
This was a really interesting project for me. It started as “maybe we can make a general script” and turned into a much better understanding of why UE reversing is always partly generic and partly game-specific.
I hope this helps someone, or at least gives other IDA users a useful base to build on.
Hi everyone,
after roughly four months of working on this on and off, I want to share a community-preview version of my modernized `uEngine / cheatLibs` setup for IDA Pro 9.x.
This is based on the original public work by Eiffel2018, but it has been heavily updated, tested, and extended for newer IDA versions and runtime/GDB-backed Unreal Engine analysis, especially on Nintendo Switch targets.
Original thread for user Eiffel2018 see here:
Eiffel2018 Original Thread
At the beginning I honestly thought this could become a more or less “generic” Unreal Engine script that just works across games. After spending a lot of time with different titles, I learned the hard way that every game has its own traps: different FNamePool behavior, GUObjectArray layouts, missing builders, weird runtime state, emulator vs hardware differences, and so on.
So I want to be clear: this is not a magic one-click solution for every UE game.
But I do think it is now in a useful state.
The current package includes the main IDA scripts, hook system, docs, and a few validated game hooks. The strongest tested titles so far are:
- Fantasy Life I
- Xuan Yuan Sword 7
- Dragon Quest VII Reimagined
For these, the tool can recover the important UE anchors, rebuild a lot of useful metadata, improve IDA naming, and provide navigation / analysis helpers. Some cheat-related workflows are also included, but I would treat those as advanced or experimental unless you know what you are doing.
The most useful part, in my opinion, is the bring-up workflow:
run the analysis, check the gates, see what passed, what degraded, and where the script still needs help. That should make it easier for people who know IDA Pro to test other UE games and quickly see whether the current heuristics are enough or whether a new game-specific hook is needed.
I am sharing this as a community preview because I think it can already help people, but I also want expectations to be realistic. Some games may work surprisingly well. Others may need days or weeks of extra work. I probably will only continue development sporadically from here, partly because this project used a huge amount of AI-assisted iteration and token budget. Still, I hope this gives others a strong starting point instead of starting from zero.
If you are comfortable with IDA Pro and Unreal Engine reversing, I would be very interested to hear:
- does it run on your game?
- does `FullAnalysis()` find the right anchors?
- do the bring-up gates make sense?
- where does it fail?
- what kind of hook data would be needed for a new title?
Please read the included `COMMUNITY_PREVIEW.md` and `QUICKSTART.md` first. The docs try to separate what is stable from what is still experimental.
Big thanks and credits to:
- @Eiffel2018 for the original scripts and concept
- @TomSwitch for major community reference and validation support
- @OblivionReign for the IDA 9.x port baseline
- @patjenova and @Gamerjin for community guidance and feedback
- @LaMano (Myself^^) for the modernization, testing, hardening, and the very stubborn four-month rabbit hole
- AI-assisted support from Codex, GPT 5.5, Claude Sonnet, Claude Opus 4.6, Claude Opus 4.7, and Claude Opus 4.8
This was a really interesting project for me. It started as “maybe we can make a general script” and turned into a much better understanding of why UE reversing is always partly generic and partly game-specific.
I hope this helps someone, or at least gives other IDA users a useful base to build on.
Attachments
Last edited by LaMano,









