Here's an AOB script for no bloom rising. The Morgician, don't know if you have the time / inclination, but I'm entirely happy for you to include any of my AOB scripts into your published table in this thread.
I'm rusty on my auto-assembly, is there a convenient way to iterate over multiple aobscanmodule results?
Code: Select all
{ Game : ChaosGate.exe
Version: 1.0
Date : 2022-05-10
Author : Granon
There's function that applies a range constraint of ECX.
It checks that EDX < ECX < R8.
Returns EAX. For Bloom Rising calcs: EDX == 0 and R8 == 0x64
This script switches the followup from this to save the lower bound (EDX)
to the Bloom variable instead of the output from the function (EAX)
The function is used for other range contraints (e.g. health) so can't make
a simple alteration there.
}
[ENABLE]
aobscanmodule(WARP01,GameAssembly.dll,E8 ?? ?? ?? ?? 3B C3 89 47 10 48 8B 5C 24 30)
aobscanmodule(WARP02,GameAssembly.dll,E8 ?? ?? ?? ?? 89 47 10 3B C3 74 13 48 8B 8F ?? ?? ?? ?? 48 85 C9 74 07 33 D2 E8 ?? ?? ?? ?? 48 89 77 60 48 8B 5C 24 30 48 8B 6C 24 38)
aobscanmodule(WARP03,GameAssembly.dll,E8 ?? ?? ?? ?? 89 47 10 3B C3 74 13 48 8B 8F ?? ?? ?? ?? 48 85 C9 74 07 33 D2 E8 9C 4E 59 FF 4C 8B 7C 24 50 40 84 ED 48 8B 6C 24 48)
WARP01+7:
mov [rdi+10], edx
WARP02+5:
mov [rdi+10], edx
WARP03+5:
mov [rdi+10], edx
registersymbol(WARP01)
registersymbol(WARP02)
registersymbol(WARP03)
[DISABLE]
WARP01+7:
mov [rdi+10], eax
WARP02+5:
mov [rdi+10], eax
WARP03+5:
mov [rdi+10], eax
unregistersymbol(WARP01)
unregistersymbol(WARP02)
unregistersymbol(WARP03)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+E582FD
GameAssembly.dll+E582DE: 75 37 - jne GameAssembly.dll+E58317
GameAssembly.dll+E582E0: 48 89 5C 24 30 - mov [rsp+30],rbx
GameAssembly.dll+E582E5: 8B 5F 10 - mov ebx,[rdi+10]
GameAssembly.dll+E582E8: 45 33 C9 - xor r9d,r9d
GameAssembly.dll+E582EB: 33 D2 - xor edx,edx
GameAssembly.dll+E582ED: 8B CE - mov ecx,esi
GameAssembly.dll+E582EF: 45 8D 41 64 - lea r8d,[r9+64]
GameAssembly.dll+E582F3: E8 48 D8 D3 00 - call GameAssembly.dll+1B95B40
GameAssembly.dll+E582F8: 3B C3 - cmp eax,ebx
GameAssembly.dll+E582FA: 89 47 10 - mov [rdi+10],eax <====
GameAssembly.dll+E582FD: 48 8B 5C 24 30 - mov rbx,[rsp+30]
GameAssembly.dll+E58302: 74 13 - je GameAssembly.dll+E58317
GameAssembly.dll+E58304: 48 8B 8F B8 00 00 00 - mov rcx,[rdi+000000B8]
GameAssembly.dll+E5830B: 48 85 C9 - test rcx,rcx
GameAssembly.dll+E5830E: 74 07 - je GameAssembly.dll+E58317
GameAssembly.dll+E58310: 33 D2 - xor edx,edx
GameAssembly.dll+E58312: E8 D9 17 59 FF - call GameAssembly.dll+3E9AF0
GameAssembly.dll+E58317: 48 8B 74 24 38 - mov rsi,[rsp+38]
GameAssembly.dll+E5831C: 48 83 C4 20 - add rsp,20
GameAssembly.dll+E58320: 5F - pop rdi
GameAssembly.dll+E58321: C3 - ret
Also:
GameAssembly.dll+E54C2C - 45 33 C9 - xor r9d,r9d
GameAssembly.dll+E54C2F - 33 D2 - xor edx,edx
GameAssembly.dll+E54C31 - 45 8D 41 64 - lea r8d,[r9+64]
GameAssembly.dll+E54C35 - E8 060FD400 - call GameAssembly.dll+1B95B40
GameAssembly.dll+E54C3A - 89 47 10 - mov [rdi+10],eax <===
GameAssembly.dll+E54C3D - 3B C3 - cmp eax,ebx
GameAssembly.dll+E54C3F - 74 13 - je GameAssembly.dll+E54C54
GameAssembly.dll+E54C41 - 48 8B 8F B8000000 - mov rcx,[rdi+000000B8]
GameAssembly.dll+E54C48 - 48 85 C9 - test rcx,rcx
GameAssembly.dll+E54C4B - 74 07 - je GameAssembly.dll+E54C54
GameAssembly.dll+E54C4D - 33 D2 - xor edx,edx
GameAssembly.dll+E54C4F - E8 9C4E59FF - call GameAssembly.dll+3E9AF0
GameAssembly.dll+E585AA - 48 89 77 60 - mov [rdi+60],rsi
GameAssembly.dll+E585AE - 48 8B 5C 24 30 - mov rbx,[rsp+30]
GameAssembly.dll+E585B3 - 48 8B 6C 24 38 - mov rbp,[rsp+38]
Also:
GameAssembly.dll+E54C35 - E8 060FD400 - call GameAssembly.dll+1B95B40
GameAssembly.dll+E54C3A - 89 47 10 - mov [rdi+10],eax
GameAssembly.dll+E54C3D - 3B C3 - cmp eax,ebx
GameAssembly.dll+E54C3F - 74 13 - je GameAssembly.dll+E54C54
GameAssembly.dll+E54C41 - 48 8B 8F B8000000 - mov rcx,[rdi+000000B8]
GameAssembly.dll+E54C48 - 48 85 C9 - test rcx,rcx
GameAssembly.dll+E54C4B - 74 07 - je GameAssembly.dll+E54C54
GameAssembly.dll+E54C4D - 33 D2 - xor edx,edx
GameAssembly.dll+E54C4F - E8 9C4E59FF - call GameAssembly.dll+3E9AF0
GameAssembly.dll+E54C54 - 4C 8B 7C 24 50 - mov r15,[rsp+50]
GameAssembly.dll+E54C59 - 40 84 ED - test bpl,bpl
GameAssembly.dll+E54C5C - 48 8B 6C 24 48 - mov rbp,[rsp+48]
}