finding diamond pointer was harder then expected XD
oh u started already a table^^ if u want u can add my code for diamond pointer ( pick up some to get pointer)
[pDiam] is a double.
edit : tested it with keys, it works.
pickup a key and u get the pointer.
Code: Select all
{ Game : Mable.exe
Version:
Date : 2019-08-26
Author : cfe
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,Mable.exe,F2 0F 11 07 5F 5E 5D 5B 83 C4 08 C3 8B 06) // should be unique
alloc(newmem,$1000)
label(pDiam)
registersymbol(pDiam)
label(code)
label(return)
newmem:
code:
cmp ebx,edi
je addme
jmp gout
addme:
cmp [edi+1c],0
je gout
movsd [edi],xmm0
mov [pDiam],edi
pop edi
jmp return
gout:
movsd [edi],xmm0
pop edi
jmp return
pDiam:
dq 0
INJECT:
jmp newmem
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db F2 0F 11 07 5F
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Mable.exe"+1757F6
"Mable.exe"+1757DD: 83 78 08 00 - cmp dword ptr [eax+08],00
"Mable.exe"+1757E1: 0F 85 0C 03 00 00 - jne Mable.exe+175AF3
"Mable.exe"+1757E7: 5F - pop edi
"Mable.exe"+1757E8: 89 70 08 - mov [eax+08],esi
"Mable.exe"+1757EB: 5E - pop esi
"Mable.exe"+1757EC: 5D - pop ebp
"Mable.exe"+1757ED: 5B - pop ebx
"Mable.exe"+1757EE: 83 C4 08 - add esp,08
"Mable.exe"+1757F1: C3 - ret
"Mable.exe"+1757F2: F2 0F 10 06 - movsd xmm0,[esi]
// ---------- INJECTING HERE ----------
"Mable.exe"+1757F6: F2 0F 11 07 - movsd [edi],xmm0
"Mable.exe"+1757FA: 5F - pop edi
// ---------- DONE INJECTING ----------
"Mable.exe"+1757FB: 5E - pop esi
"Mable.exe"+1757FC: 5D - pop ebp
"Mable.exe"+1757FD: 5B - pop ebx
"Mable.exe"+1757FE: 83 C4 08 - add esp,08
"Mable.exe"+175801: C3 - ret
"Mable.exe"+175802: 8B 06 - mov eax,[esi]
"Mable.exe"+175804: 89 07 - mov [edi],eax
"Mable.exe"+175806: 8B 46 04 - mov eax,[esi+04]
"Mable.exe"+175809: 89 47 04 - mov [edi+04],eax
"Mable.exe"+17580C: 5F - pop edi
}