Added GodMode, RefillPlayerHealth and TriggerMissionFailure. See hotkeys below (they can be changed, if you want):
Have fun Smile
[ 19.10.2015 - Update #1 ]
In the fashion of Assassin's Creed 4: Black Flag Cheat Handler, presenting to you the x64 version for Assassin's Creed: Unity.
How it works:
1. Launch the game and get to main menu screen.
2. Alt-tab out to Cheat Engine.
3. Load ACU.ct table, select ACU.exe process and enable (click the check box in front of it) [Enable] script.
4.a. If it activates, then enable HookWithHWBreakpoint script.
4.b. If it doesn't activate, let me know - the same for above mentioned script.
5. Now either activate last script, Cheat Handler or load game, then activate it.
There is a function that contains the entire debug menu the engine (this game) works with. "[Enable]" script finds certain locations in memory and then registers the symbols of these addresses. The "HookWithHWBreakpoint" script then gets the addresses of the storage pointer and the hook address, and places a hardware breakpoint at that location (pContext). LUA helps setting a condition when breakpoint is hit, such as retrieving RCX pointer I need to then call up on game's debug menu functions Wink
For now, I've only added 2 functions:
- ToggleVanish (use Numpad 0 hotkey)
- RefillAllEquipment (use Numpad 1 hotkey)
First one above is toggleable (on/off) with same hotkey. Second function will just refill your inventory, so you don't have to parkour all the way to a medic.
Will be adding more next week, upon my return from Amalfi Smile Also, a teleporter with two more hardware breakpoints Wink
1. If any of the scripts don't get enabled, let me know.
2. If game crashes when enabling the Cheat Handler, you'll probably have to restart the game (did happen to me a few times).
3. Note the pContext pointer is acquired/updated in these situations:
- when you load game for the first time, entering game world;
- when you teleport from one viewpoint to another;
- when you start a mission;
- any other time when a cutscene plays (not everytime);
So, see to it that "pContext" address in the table (under HookWithHWBreakpoint, once enabled) contains a valid pointer (not "??" or "00000000").
4. To refresh pContect, you can fast travel (just to make sure address is acquired).
5. If pressing Numpad 0 or 1 doesn't do anything, wait a bit or move around and try pressing again. It should work eventually after 1-2 presses.
[ 25.03.2015 ]
Began looking at this title as well, along with Rogue. They're using same AnvilNEXT Engine ported to x64. Fun fact about this one is the excessive (yet irrelevant) use of VMProtect to envelope game code.
Running the game and dumping it, then studying the unpacked code (to also be read as uncompressed, since VMProtect packed data here) returns the following:
This is the prologue of the Debug Menu, the function that builds it up. RCX is the pointer that is used for most of its functions - unfortunately, not for Teleport, Nuke and probably some others that would be nice to have Smile
Using IDA to easily get the list of strings returns the following:
Calling convention is a bit changed from x32, since x64 uses _fastcall (instead of _stdcall) and the role of the EBP+X arguments is now taken by (in order of usage) rcx, rdx, r8 and r9 registers. We'll make use only of the first two, as most Debug Menu functions take 2 parameters (there is one I recall that takes 3, but since I don't have the right pointer, it won't work).
More as I progress, later.
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1