Glowmoss wrote: ↑Tue Apr 25, 2023 1:25 am
krustytoe wrote: ↑Mon Apr 24, 2023 4:23 pm
it changed a bit
I would recommend instead of this
use this
just so you won't need to update it every time there is an update.
you could also use the aob generator in the tools section if you wanted a better aob thats less likely to screw up with an update but it's up to you and your preference.
It would probably be better to just trampoline at the mov rax,[rbx+00000148] instruction, as it's more than 5 bytes of opcodes. Then he could just do the original code which would populate the RAX register with the pointer he needs and then RAX+18 would land at the godmode byte.
Or, if this is the only place it's read, you could change the JNE to a JMP by changing the first byte to E9 skipping the need to write the byte only to just change the path of the conditional jump proceeding it.
Here's both:
Code: Select all
// Game Executable : re4.exe
// Author : gir489
// Executable Version: 1.0.5.0
// MD5 Signature : 942BA056C69684FF07EB85260499A0F7
// EXE Compile Date : April 17, 2023 12:32 PM
// Script Date : April 24, 2023 10:22 PM
[ENABLE]
aobscanmodule(aob_HeckinGodmodarino,re4.exe,48 8B 83 48 01 00 00 80 78 18 00 75 0B 83 78 14 00 0F 9E C0 84 C0 75 0D)
registersymbol(aob_HeckinGodmodarino)
alloc(newmem_HeckinGodmodarino,1024,re4.exe)
label(return_HeckinGodmodarino)
newmem_HeckinGodmodarino:
mov rax,[rbx+00000148]
mov [rax+18], #1
jmp return_HeckinGodmodarino
aob_HeckinGodmodarino:
jmp newmem_HeckinGodmodarino
nop 2
return_HeckinGodmodarino:
[DISABLE]
aob_HeckinGodmodarino:
db 48 8B 83 48 01 00 00
unregistersymbol(aob_HeckinGodmodarino)
dealloc(newmem_HeckinGodmodarino)
{
// ORIGINAL CODE - INJECTION POINT: re4.exe+23AF3C0
re4.exe+23AF37B: 83 BB 84 00 00 00 00 - cmp dword ptr [rbx+00000084],00
re4.exe+23AF382: 0F 94 C0 - sete al
re4.exe+23AF385: 84 C0 - test al,al
re4.exe+23AF387: 74 5C - je re4.exe+23AF3E5
re4.exe+23AF389: 48 8B 5F 50 - mov rbx,[rdi+50]
re4.exe+23AF38D: 48 85 DB - test rbx,rbx
re4.exe+23AF390: 74 2C - je re4.exe+23AF3BE
re4.exe+23AF392: 48 8B 03 - mov rax,[rbx]
re4.exe+23AF395: 48 8B 15 5C EB D5 0A - mov rdx,[re4.exe+D10DEF8]
re4.exe+23AF39C: 48 8B 08 - mov rcx,[rax]
re4.exe+23AF39F: E8 BC C4 1F 01 - call re4.exe+35AB860
re4.exe+23AF3A4: 84 C0 - test al,al
re4.exe+23AF3A6: 74 16 - je re4.exe+23AF3BE
re4.exe+23AF3A8: 48 8B 03 - mov rax,[rbx]
re4.exe+23AF3AB: 48 8B 15 06 A0 D6 0A - mov rdx,[re4.exe+D1193B8]
re4.exe+23AF3B2: 48 8B 08 - mov rcx,[rax]
re4.exe+23AF3B5: E8 A6 C4 1F 01 - call re4.exe+35AB860
re4.exe+23AF3BA: 84 C0 - test al,al
re4.exe+23AF3BC: 75 02 - jne re4.exe+23AF3C0
re4.exe+23AF3BE: 33 DB - xor ebx,ebx
// ---------- INJECTING HERE ----------
re4.exe+23AF3C0: 48 8B 83 48 01 00 00 - mov rax,[rbx+00000148]
// ---------- DONE INJECTING ----------
re4.exe+23AF3C7: 80 78 18 00 - cmp byte ptr [rax+18],00
re4.exe+23AF3CB: 75 0B - jne re4.exe+23AF3D8
re4.exe+23AF3CD: 83 78 14 00 - cmp dword ptr [rax+14],00
re4.exe+23AF3D1: 0F 9E C0 - setle al
re4.exe+23AF3D4: 84 C0 - test al,al
re4.exe+23AF3D6: 75 0D - jne re4.exe+23AF3E5
re4.exe+23AF3D8: 33 C0 - xor eax,eax
re4.exe+23AF3DA: 38 87 78 02 00 00 - cmp [rdi+00000278],al
re4.exe+23AF3E0: 0F 94 C0 - sete al
re4.exe+23AF3E3: EB 02 - jmp re4.exe+23AF3E7
re4.exe+23AF3E5: 33 C0 - xor eax,eax
re4.exe+23AF3E7: 48 8B 8D 80 00 00 00 - mov rcx,[rbp+00000080]
re4.exe+23AF3EE: 48 85 C9 - test rcx,rcx
re4.exe+23AF3F1: 74 0A - je re4.exe+23AF3FD
re4.exe+23AF3F3: 85 C0 - test eax,eax
re4.exe+23AF3F5: 0F 95 C2 - setne dl
re4.exe+23AF3F8: E8 D3 F1 17 02 - call re4.exe+452E5D0
re4.exe+23AF3FD: 48 8B 5F 50 - mov rbx,[rdi+50]
re4.exe+23AF401: 48 8B AF A0 01 00 00 - mov rbp,[rdi+000001A0]
re4.exe+23AF408: 48 85 DB - test rbx,rbx
}
Code: Select all
// Game Executable : re4.exe
// Author : gir489
// Executable Version: 1.0.5.0
// MD5 Signature : 942BA056C69684FF07EB85260499A0F7
// EXE Compile Date : April 17, 2023 12:32 PM
// Script Date : April 24, 2023 10:28 PM
[ENABLE]
aobscanmodule(aob_HebbinGodmodearino,re4.exe,75 0B 83 78 14 00 0F 9E C0 84 C0 75 0D)
registersymbol(aob_HebbinGodmodearino)
aob_HebbinGodmodearino:
db E9
[DISABLE]
aob_HebbinGodmodearino:
db 75
unregistersymbol(aob_HebbinGodmodearino)
{
// ORIGINAL CODE - INJECTION POINT: re4.exe+23AF3CB
re4.exe+23AF385: 84 C0 - test al,al
re4.exe+23AF387: 74 5C - je re4.exe+23AF3E5
re4.exe+23AF389: 48 8B 5F 50 - mov rbx,[rdi+50]
re4.exe+23AF38D: 48 85 DB - test rbx,rbx
re4.exe+23AF390: 74 2C - je re4.exe+23AF3BE
re4.exe+23AF392: 48 8B 03 - mov rax,[rbx]
re4.exe+23AF395: 48 8B 15 5C EB D5 0A - mov rdx,[re4.exe+D10DEF8]
re4.exe+23AF39C: 48 8B 08 - mov rcx,[rax]
re4.exe+23AF39F: E8 BC C4 1F 01 - call re4.exe+35AB860
re4.exe+23AF3A4: 84 C0 - test al,al
re4.exe+23AF3A6: 74 16 - je re4.exe+23AF3BE
re4.exe+23AF3A8: 48 8B 03 - mov rax,[rbx]
re4.exe+23AF3AB: 48 8B 15 06 A0 D6 0A - mov rdx,[re4.exe+D1193B8]
re4.exe+23AF3B2: 48 8B 08 - mov rcx,[rax]
re4.exe+23AF3B5: E8 A6 C4 1F 01 - call re4.exe+35AB860
re4.exe+23AF3BA: 84 C0 - test al,al
re4.exe+23AF3BC: 75 02 - jne re4.exe+23AF3C0
re4.exe+23AF3BE: 33 DB - xor ebx,ebx
re4.exe+23AF3C0: 48 8B 83 48 01 00 00 - mov rax,[rbx+00000148]
re4.exe+23AF3C7: 80 78 18 00 - cmp byte ptr [rax+18],00
// ---------- INJECTING HERE ----------
re4.exe+23AF3CB: 75 0B - jne re4.exe+23AF3D8
// ---------- DONE INJECTING ----------
re4.exe+23AF3CD: 83 78 14 00 - cmp dword ptr [rax+14],00
re4.exe+23AF3D1: 0F 9E C0 - setle al
re4.exe+23AF3D4: 84 C0 - test al,al
re4.exe+23AF3D6: 75 0D - jne re4.exe+23AF3E5
re4.exe+23AF3D8: 33 C0 - xor eax,eax
re4.exe+23AF3DA: 38 87 78 02 00 00 - cmp [rdi+00000278],al
re4.exe+23AF3E0: 0F 94 C0 - sete al
re4.exe+23AF3E3: EB 02 - jmp re4.exe+23AF3E7
re4.exe+23AF3E5: 33 C0 - xor eax,eax
re4.exe+23AF3E7: 48 8B 8D 80 00 00 00 - mov rcx,[rbp+00000080]
re4.exe+23AF3EE: 48 85 C9 - test rcx,rcx
re4.exe+23AF3F1: 74 0A - je re4.exe+23AF3FD
re4.exe+23AF3F3: 85 C0 - test eax,eax
re4.exe+23AF3F5: 0F 95 C2 - setne dl
re4.exe+23AF3F8: E8 D3 F1 17 02 - call re4.exe+452E5D0
re4.exe+23AF3FD: 48 8B 5F 50 - mov rbx,[rdi+50]
re4.exe+23AF401: 48 8B AF A0 01 00 00 - mov rbp,[rdi+000001A0]
re4.exe+23AF408: 48 85 DB - test rbx,rbx
re4.exe+23AF40B: 74 2C - je re4.exe+23AF439
re4.exe+23AF40D: 48 8B 03 - mov rax,[rbx]
}
Anyway, you find anything interesting with the REFramework SDK? None of the functions I found were very helpful and the search function (which says it takes RegEx but it never works) yielded nothing.