1. I found the CT Table written by other people through Google, I can understand the content of the script, but I don't know how the injection point of this script is found?
Code: Select all
{ Game : isaac-ng.exe
Version:
Date : 2021-04-12
Author : Akira Fudo
}
[ENABLE]
aobscanmodule(RandomItemSpawn,isaac-ng.exe,8B 40 44 C1 E8 0D 24) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(randomItem)
newmem:
code:
push rcx
mov rcx,[randomItem]
mov [eax+44],rcx
mov eax,[eax+44]
shr eax,0D
pop rcx
jmp return
randomItem:
dq (int)2
RandomItemSpawn:
jmp newmem
nop
return:
registersymbol(RandomItemSpawn)
registersymbol(randomItem)
[DISABLE]
RandomItemSpawn:
db 8B 40 44 C1 E8 0D
unregistersymbol(RandomItemSpawn)
unregistersymbol(randomItem)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: isaac-ng.exe+315C7A
isaac-ng.exe+315C51: 8B 87 60 01 00 00 - mov eax,[edi+00000160]
isaac-ng.exe+315C57: 25 00 40 00 00 - and eax,00004000
isaac-ng.exe+315C5C: 83 C8 00 - or eax,00
isaac-ng.exe+315C5F: 75 41 - jne isaac-ng.exe+315CA2
isaac-ng.exe+315C61: 39 86 70 B4 01 00 - cmp [esi+0001B470],eax
isaac-ng.exe+315C67: 75 39 - jne isaac-ng.exe+315CA2
isaac-ng.exe+315C69: 39 86 A8 B6 01 00 - cmp [esi+0001B6A8],eax
isaac-ng.exe+315C6F: 75 31 - jne isaac-ng.exe+315CA2
isaac-ng.exe+315C71: 8B 86 90 81 01 00 - mov eax,[esi+00018190]
isaac-ng.exe+315C77: 8B 40 04 - mov eax,[eax+04]
// ---------- INJECTING HERE ----------
isaac-ng.exe+315C7A: 8B 40 44 - mov eax,[eax+44]
// ---------- DONE INJECTING ----------
isaac-ng.exe+315C7D: C1 E8 0D - shr eax,0D
isaac-ng.exe+315C80: 24 01 - and al,01
isaac-ng.exe+315C82: 3A 87 F8 1E 00 00 - cmp al,[edi+00001EF8]
isaac-ng.exe+315C88: 74 18 - je isaac-ng.exe+315CA2
isaac-ng.exe+315C8A: 8B CF - mov ecx,edi
isaac-ng.exe+315C8C: 84 C0 - test al,al
isaac-ng.exe+315C8E: 74 07 - je isaac-ng.exe+315C97
isaac-ng.exe+315C90: E8 3B 72 04 00 - call isaac-ng.exe+35CED0
isaac-ng.exe+315C95: EB 05 - jmp isaac-ng.exe+315C9C
isaac-ng.exe+315C97: E8 C4 73 04 00 - call isaac-ng.exe+35D060
}
[Link]
I've changed this value, but when I go back to the game, it's back to how it was.
[Link]
I've tried many ways but it still doesn't work, can anyone tell me what's going on? I really appreciate your answer.