Zol wrote: ↑Tue Aug 22, 2023 4:37 pm
New version out.
Was trying to follow the guide on updating but have hit a snag.
16C47BFDA52 seems to be the memory address for Ironman. Toggling it between 0 and 1 makes
the Ironman GUI checkbox enable/disable as per the instructions.
But then, i'm not sure how to use that to update the script.
It mentions finding the static pointer, not sure if this is the right one:
ck3.exe+61BAB2 - 80 3D 5F99AB03 00 - cmp byte ptr [ck3.exe+40D5418],00 { (0),0 }
Anyway, still puzzling my way through the tutorials so maybe i'll have more luck tomorrow. Just thought i'd
post that first bit in case it helps anyone else move this along. Any comments on what to do next to make it
work are most welcome.
I am not sure that is the correct one. When you have the boolean, right click on the entry in the lower part of CE and select "See what accesses this value", you should get a few hits, one of them being this:
ck3.exe+6979EE - 88 98 12010000 - mov [rax+00000112],bl
If you put a breakpoint there, you can see the value of rax. This is the base pointer, while 112 is the offset. You need to inject into the compare and add some code to make sure the boolean is 1.
Or, if you want to update the table a tad easier, look at the AOB that doesn't work, in this case it was the aob_man_trigger:
Code: Select all
AobScanModule(aob_man_trigger, $process, AF 01 88 98 12 01 00 00) // Fires on ironman-button change
// ?x xx xx xx xx xx xx xx // Allows for manual checksum check man_trigger
The comment bellow (?x xx etc) is the pattern I have used to find it to update it previous (so I did an aob for: ?F 01 88 98 12 01 00 00), but now it didn't work. So I replaced the first byte with ??. When I did an AOB for: ?? 01 88 98 12 01 00 00, I got three hits. I put a breakpoint on those three places (had to scroll a bit down and up again to get proper code since the AOB hits a bit before the code it needs to override), and then I clicked the Ironman and saw where it stopped. And it was the hit with BO 01 88 98 12 01 00 00. So just update the AOB to that, and everything seems to work.
Updated table
here.
This seems to be the only thing needing an update, which I find a bit strange, so if there is anything I missed (I did a quick run through of the table, but I might have missed something), just point it out.