can someone tell me how to create a list of essences as in the original code? I couldn't understand how he did it. (he didn't name them one by one, he used the same pointer for all).
I used this video as a reference to try to figure out how he did it, but it didn't work. Spoiler
can someone tell me how to create a list of essences as in the original code? I couldn't understand how he did it. (he didn't name them one by one, he used the same pointer for all).
I used this video as a reference to try to figure out how he did it, but it didn't work. Spoiler
Hello there,
Does "he" referring to me ? Anyway, what I did was filtering out all except the first essence (which is khonsu) and make that a reference point/base address. It was r14 = 137 on version 1.0.1 and rcx = 137 in v1.0.2 . After that, it just manual mapping, and I actually did rename them one by one based on the offset as these essence memory structure is near each other. It was not that hard because I already did the demon ID before + the help from TheBlackX.
I did update the cheat table for v1.0.2 (except miracle unlocker and difficulty changer ), if you're planning to take a look yourself.
can someone tell me how to create a list of essences as in the original code? I couldn't understand how he did it. (he didn't name them one by one, he used the same pointer for all).
I used this video as a reference to try to figure out how he did it, but it didn't work. Spoiler
Hello there,
Does "he" referring to me ? Anyway, what I did was filtering out all except the first essence (which is khonsu) and make that a reference point/base address. It was r14 = 137 on version 1.0.1 and rcx = 137 in v1.0.2 . After that, it just manual mapping, and I actually did rename them one by one based on the offset as these essence memory structure is near each other. It was not that hard because I already did the demon ID before + the help from TheBlackX.
I did update the cheat table for v1.0.2 (except miracle unlocker and difficulty changer ), if you're planning to take a look yourself.
Best regards,
notpikachu
I don't understand "(essence,17)" - is there any specific reason for 17? I see you've modified this other times for 16;
and "add [_essence],rbp" instead of "add [_essence],rcx" - it probably doesn't matter the free registers, but I don't know, maybe it does, so better ask.
I don't understand "(essence,17)" - is there any specific reason for 17? I see you've modified this other times for 16;
Switch emulator tends to jmp x64 instead of x32 (google for trampoline computing). Which in cheat engine it will take 14+ bytes depending on the opcode required for the jmp instead of 5 (default). That's why it was 16 or 17, as you need to calculate it properly and nop the extra bytes. There's probably a lot of ways to tackle this in a script, so I won't get into the details how to x64 trampoline.
and "add [_essence],rbp" instead of "add [_essence],rcx" - it probably doesn't matter the free registers, but I don't know, maybe it does, so better ask.
Latest version used rbp instead of rcx, so I can't exactly used rcx unless I want the wrong address .
what I did was turn all essences into 99:
mov byte ptr [rsi+rbp],#99
I tried to create a list with push and pop only with rsi, but it didn't work. It keeps pointing to addresses that are not the essences. I also tried to create a lea with [rsi+rbp] to do an alloc/registersymbol and it didn't work.
Last edited by TioEdu on Tue Feb 08, 2022 1:03 pm, edited 1 time in total.