Mono can't find address
Posted: Sun Jul 16, 2017 8:08 am
I have been at a 'godmode' script for a week now, and yesterday it finally finished.
After testing it one last time this morning before uploading, the Mono features are suddenly broken.
I have the adress called HealthHandler:sendDamage+4af. This address has worked for a week, through computer restarts, and without any problems. This morning however, it suddenly stopped working.
The script enables but doesn't inject when using the Mono-address, but DOES when I scan for the aob.
When using "go to address" in the disassembler with "HealthHandler:sendDamage+4af" takes me to a different address, not even close to where i want to be. If i use the AOB then it puts me at the right address.
Does anyone have and idea's or suggestions?
define:
[Link]
aobscan
[Link]
After testing it one last time this morning before uploading, the Mono features are suddenly broken.
I have the adress called HealthHandler:sendDamage+4af. This address has worked for a week, through computer restarts, and without any problems. This morning however, it suddenly stopped working.
The script enables but doesn't inject when using the Mono-address, but DOES when I scan for the aob.
When using "go to address" in the disassembler with "HealthHandler:sendDamage+4af" takes me to a different address, not even close to where i want to be. If i use the AOB then it puts me at the right address.
Does anyone have and idea's or suggestions?
define:
[Link]
aobscan
[Link]
script
Code: Select all
{ Game : STRAFE.exe
Version: 1.0.6
Date : 2017-07-15
Author : Bakfiets
This script allows two 'godmode' functions to be activated
1) Infinite HP (prevent health damage)
2) One-shot-kill
}
USEMONO()
define(SENDDAMAGE_MANIPULATION,HealthHandler:sendDamage+4af)
//aobscan(SENDDAMAGE_MANIPULATION,F3 0F 11 A8 84 00 00 00 48 8B 85 D0 FE FF FF 48 8B 40 40 48 85 C0 74 26) // should be unique
[ENABLE]
alloc(code,$1024,0099B17F)
alloc(INF_HP_ENABLED,1)
alloc(ONE_SHOT_ENABLED,1)
alloc(ONE_SHOT_DAMAGE,1)
label(originalcode)
label(return)
label(one_shot)
ONE_SHOT_DAMAGE:
dd 0
INF_HP_ENABLED:
db 0
ONE_SHOT_ENABLED:
db 0
code:
cmp [rax+90],42c80000 // _initialhealth == (int)100
jne one_shot //If not 100, jump to one-shot
cmp [rax+8C],01 // _canHeal == (int)1
jne originalcode // Second check for monster
cmp [INF_HP_ENABLED],0
je originalcode
//movss [rax+00000084],xmm5
jmp return
one_shot:
cmp [ONE_SHOT_ENABLED],0
je originalcode
movss xmm5,[ONE_SHOT_DAMAGE]
je originalcode
originalcode:
movss [rax+00000084],xmm5
jmp return
SENDDAMAGE_MANIPULATION:
jmp code
nop
nop
nop
return:
registersymbol(SENDDAMAGE_MANIPULATION)
registersymbol(INF_HP_ENABLED)
registersymbol(ONE_SHOT_ENABLED)
[DISABLE]
SENDDAMAGE_MANIPULATION:
db F3 0F 11 A8 84 00 00 00
unregistersymbol(SENDDAMAGE_MANIPULATION)
dealloc(code)
{
// ORIGINAL CODE - INJECTION POINT: 0099B17F
""+99B14A: 48 89 85 48 FF FF FF - mov [rbp-000000B8],rax
""+99B151: 48 8B 85 48 FF FF FF - mov rax,[rbp-000000B8]
""+99B158: 48 8B C8 - mov rcx,rax
""+99B15B: F3 0F 10 81 84 00 00 00 - movss xmm0,[rcx+00000084]
""+99B163: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
""+99B167: 48 8B 8D C8 FE FF FF - mov rcx,[rbp-00000138]
""+99B16E: F3 0F 10 49 08 - movss xmm1,[rcx+08]
""+99B173: F3 0F 5A C9 - cvtss2sd xmm1,xmm1
""+99B177: F2 0F 5C C1 - subsd xmm0,xmm1
""+99B17B: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
""+99B17F: F3 0F 11 A8 84 00 00 00 - movss [rax+00000084],xmm5
// ---------- DONE INJECTING ----------
""+99B187: 48 8B 85 D0 FE FF FF - mov rax,[rbp-00000130]
""+99B18E: 48 8B 40 40 - mov rax,[rax+40]
""+99B192: 48 85 C0 - test rax,rax
""+99B195: 74 26 - je HealthHandler:sendDamage+4ed
""+99B197: 48 8B 85 D0 FE FF FF - mov rax,[rbp-00000130]
""+99B19E: 48 8B 40 40 - mov rax,[rax+40]
""+99B1A2: 48 8B C8 - mov rcx,rax
""+99B1A5: 48 83 EC 20 - sub rsp,20
""+99B1A9: 83 38 00 - cmp dword ptr [rax],00
""+99B1AC: 49 BB C0 E3 97 52 00 00 00 00 - mov r11,UnityEngine.Events:UnityEvent:Invoke
}