It seems like there are a few things that quit working during this update.
Item select which was displaying the item pointer with the quantity of that item no longer works"
Code: Select all
ENABLE]
aobscan(itembp,48 63 46 50 83 F8 01 0F 8E) // should be unique
alloc(itemscan,$1000,itembp)
alloc(itempt,8)
label(code)
label(return)
itemscan:
code:
mov [itempt],rsi
movsxd rax,dword ptr [rsi+50]
cmp eax,01
jmp return
itembp:
jmp itemscan
nop
nop
return:
registersymbol(itempt)
registersymbol(itembp)
[DISABLE]
itembp:
db 48 63 46 50 83 F8 01
unregistersymbol(itempt)
unregistersymbol(itembp)
dealloc(itemscan)
{
// ORIGINAL CODE - INJECTION POINT: 28596DBC
""+28596DA5: 00 00 - add [rax],al
""+28596DA7: 00 00 - add [rax],al
""+28596DA9: 00 00 - add [rax],al
""+28596DAB: 00 00 - add [rax],al
""+28596DAD: 00 00 - add [rax],al
""+28596DAF: 00 55 48 - add [rbp+48],dl
""+28596DB2: 8B EC - mov ebp,esp
""+28596DB4: 56 - push rsi
""+28596DB5: 48 83 EC 08 - sub rsp,08
""+28596DB9: 48 8B F1 - mov rsi,rcx
// ---------- INJECTING HERE ----------
""+28596DBC: 48 63 46 50 - movsxd rax,dword ptr [rsi+50]
""+28596DC0: 83 F8 01 - cmp eax,01
// ---------- DONE INJECTING ----------
""+28596DC3: 0F 8E 5A 00 00 00 - jng 28596E23
""+28596DC9: 48 8B CE - mov rcx,rsi
""+28596DCC: 48 83 EC 20 - sub rsp,20
""+28596DD0: 48 8B 06 - mov rax,[rsi]
""+28596DD3: 90 - nop
""+28596DD4: 90 - nop
""+28596DD5: 90 - nop
""+28596DD6: FF 90 60 02 00 00 - call qword ptr [rax+00000260]
""+28596DDC: 48 83 C4 20 - add rsp,20
""+28596DE0: 48 89 45 F0 - mov [rbp-10],rax
}
Code: Select all
define(address,RimWorld:Selector:Select+6a4)
define(bytes,49 8B CF 48 83 EC 20)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,RimWorld:Selector:Select+6a4)
alloc(selectedpt,8)
label(code)
label(return)
newmem:
mov rcx,r15
sub rsp,20
mov [selectedpt],r14
jmp return
code:
address:
jmp newmem
nop
nop
return:
registersymbol(selectedpt)
[DISABLE]
address:
db bytes
// mov rcx,r15
// sub rsp,20
dealloc(newmem)
unregistersymbol(selectedpt)
{
// ORIGINAL CODE - INJECTION POINT: RimWorld:Selector:Select+6a4
15A8A47B: 41 FF D3 - call r11
15A8A47E: 48 83 C4 20 - add rsp,20
15A8A482: 49 8B 46 18 - mov rax,[r14+18]
15A8A486: 48 8B C8 - mov rcx,rax
15A8A489: 49 8B D7 - mov rdx,r15
15A8A48C: 48 83 EC 20 - sub rsp,20
15A8A490: 83 38 00 - cmp dword ptr [rax],00
15A8A493: 49 BB 20 A8 07 05 00 00 00 00 - mov r11,000000000507A820
15A8A49D: 41 FF D3 - call r11
15A8A4A0: 48 83 C4 20 - add rsp,20
// ---------- INJECTING HERE ----------
15A8A4A4: 49 8B CF - mov rcx,r15
15A8A4A7: 48 83 EC 20 - sub rsp,20
// ---------- DONE INJECTING ----------
15A8A4AB: 49 BB 70 A8 A8 15 00 00 00 00 - mov r11,0000000015A8A870
15A8A4B5: 41 FF D3 - call r11
15A8A4B8: 48 83 C4 20 - add rsp,20
15A8A4BC: 48 8D 65 D8 - lea rsp,[rbp-28]
15A8A4C0: 41 5F - pop r15
15A8A4C2: 41 5E - pop r14
15A8A4C4: 41 5D - pop r13
15A8A4C6: 41 5C - pop r12
15A8A4C8: 5B - pop rbx
15A8A4C9: C9 - leave
Code: Select all
define(address,RimWorld:Selector:Select+6a4)
define(bytes,49 8B CF 48 83 EC 20)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,RimWorld:Selector:Select+6a4)
alloc(selectedpt,8)
label(code)
label(return)
newmem:
mov rcx,r15
sub rsp,20
mov [selectedpt],r14
jmp return
code:
address:
jmp newmem
nop
nop
return:
registersymbol(selectedpt)
[DISABLE]
address:
db bytes
// mov rcx,r15
// sub rsp,20
dealloc(newmem)
unregistersymbol(selectedpt)
{
// ORIGINAL CODE - INJECTION POINT: RimWorld:Selector:Select+6a4
15A8A47B: 41 FF D3 - call r11
15A8A47E: 48 83 C4 20 - add rsp,20
15A8A482: 49 8B 46 18 - mov rax,[r14+18]
15A8A486: 48 8B C8 - mov rcx,rax
15A8A489: 49 8B D7 - mov rdx,r15
15A8A48C: 48 83 EC 20 - sub rsp,20
15A8A490: 83 38 00 - cmp dword ptr [rax],00
15A8A493: 49 BB 20 A8 07 05 00 00 00 00 - mov r11,000000000507A820
15A8A49D: 41 FF D3 - call r11
15A8A4A0: 48 83 C4 20 - add rsp,20
// ---------- INJECTING HERE ----------
15A8A4A4: 49 8B CF - mov rcx,r15
15A8A4A7: 48 83 EC 20 - sub rsp,20
// ---------- DONE INJECTING ----------
15A8A4AB: 49 BB 70 A8 A8 15 00 00 00 00 - mov r11,0000000015A8A870
15A8A4B5: 41 FF D3 - call r11
15A8A4B8: 48 83 C4 20 - add rsp,20
15A8A4BC: 48 8D 65 D8 - lea rsp,[rbp-28]
15A8A4C0: 41 5F - pop r15
15A8A4C2: 41 5E - pop r14
15A8A4C4: 41 5D - pop r13
15A8A4C6: 41 5C - pop r12
15A8A4C8: 5B - pop rbx
15A8A4C9: C9 - leave