Got free vault card unlocks (no keys required). Just thought I'd share since I'm using your rarity modifiers. Feel free to edit/use as you wish. All they really need is RAX set to zero.
This one will work for items:
Code: Select all
{
Process : Borderlands3.exe - x64
Module : Borderlands3.exe
Game Title : Borderlands3
Game File Version : 0004001400030000
Game Version : 0004001400030000
CE Version : 7.2
Script Version : 1.0.1
Date : 01/09/22
Author : ShyTwig16
Name : VaultCardKeyCheckHook
Vault Card Key Check Hook
}
{$STRICT}
define(address, Borderlands3.exe+E3E61C)
define(bytes, 4A 8B 04 CA 8B 44 08 40)
////
//// ------------------------------ ENABLE ------------------------------
[ENABLE]
aobScanModule(aobVaultCardKeyCheckHook, Borderlands3.exe, 4A8B04CA8B440840C333C0C3)
define(injVaultCardKeyCheckHook, aobVaultCardKeyCheckHook)
assert(injVaultCardKeyCheckHook, bytes)
registerSymbol(injVaultCardKeyCheckHook)
alloc(memVaultCardKeyCheckHook, 0x400, injVaultCardKeyCheckHook)
label(ptrVaultCardKeyCheckHook)
registerSymbol(ptrVaultCardKeyCheckHook)
label(n_code)
label(o_code)
label(exit)
label(return)
memVaultCardKeyCheckHook:
ptrVaultCardKeyCheckHook:
dq 0
align 10 CC
n_code:
mov rax,[rdx+r9*8]
lea rax,[rax+rcx+40]
mov [ptrVaultCardKeyCheckHook],rax
xor rax,rax
o_code:
// mov rax,[rdx+r9*8]
// mov eax,[rax+rcx+40]
exit:
jmp return
////
//// ---------- Injection Point ----------
injVaultCardKeyCheckHook:
jmp n_code
nop
nop
nop
return:
////
//// ------------------------------ DISABLE ------------------------------
[DISABLE]
////
//// ---------- Injection Point ----------
injVaultCardKeyCheckHook:
db bytes
unregisterSymbol(injVaultCardKeyCheckHook)
unregisterSymbol(ptrVaultCardKeyCheckHook)
dealloc(memVaultCardKeyCheckHook)
{
Module: Borderlands3.exe
Module Size: 7225000
Address: Borderlands3.exe+E3E61C
AOB Address: Borderlands3.exe+E3E61C
Borderlands3.exe+E3E5FA - 7D 29 - jnl Borderlands3.exe+E3E625
Borderlands3.exe+E3E5FC - 45 85 C0 - test r8d,r8d
Borderlands3.exe+E3E5FF - 78 24 - js Borderlands3.exe+E3E625
Borderlands3.exe+E3E601 - 4C 63 CA - movsxd r9,edx
Borderlands3.exe+E3E604 - 48 8B 91 80000000 - mov rdx,[rcx+00000080]
Borderlands3.exe+E3E60B - 4D 03 C9 - add r9,r9
Borderlands3.exe+E3E60E - 46 3B 44 CA 08 - cmp r8d,[rdx+r9*8+08]
Borderlands3.exe+E3E613 - 7D 10 - jnl Borderlands3.exe+E3E625
Borderlands3.exe+E3E615 - 49 63 C0 - movsxd rax,r8d
Borderlands3.exe+E3E618 - 48 6B C8 70 - imul rcx,rax,70
Borderlands3.exe+E3E61C - 4A 8B 04 CA - mov rax,[rdx+r9*8] <<<---- Injection point
Borderlands3.exe+E3E620 - 8B 44 08 40 - mov eax,[rax+rcx+40]
Borderlands3.exe+E3E624 - C3 - ret
Borderlands3.exe+E3E625 - 33 C0 - xor eax,eax
Borderlands3.exe+E3E627 - C3 - ret
Borderlands3.exe+E3E628 - CC - int 3
Borderlands3.exe+E3E629 - CC - int 3
Borderlands3.exe+E3E62A - CC - int 3
Borderlands3.exe+E3E62B - CC - int 3
Borderlands3.exe+E3E62C - CC - int 3
Borderlands3.exe+E3E62D - CC - int 3
}
And this works for gear:
Code: Select all
{
Process : Borderlands3.exe - x64
Module : Borderlands3.exe
Game Title : Borderlands3
Game File Version : 0004001400030000
Game Version : 0004001400030000
CE Version : 7.2
Script Version : 1.0.1
Date : 01/09/22
Author : ShyTwig16
Name : VaultCardKeyCheck2Hook
Vault Card Key Check 2 Hook
}
{$STRICT}
define(address, Borderlands3.exe+E3E520)
define(bytes, 48 8B 41 70 8B 44 02 40)
////
//// ------------------------------ ENABLE ------------------------------
[ENABLE]
aobScanModule(aobVaultCardKeyCheck2Hook, Borderlands3.exe, 488B41708B440240)
define(injVaultCardKeyCheck2Hook, aobVaultCardKeyCheck2Hook)
assert(injVaultCardKeyCheck2Hook, bytes)
registerSymbol(injVaultCardKeyCheck2Hook)
alloc(memVaultCardKeyCheck2Hook, 0x400, injVaultCardKeyCheck2Hook)
label(ptrVaultCardKeyCheck2Hook)
registerSymbol(ptrVaultCardKeyCheck2Hook)
label(n_code)
label(o_code)
label(exit)
label(return)
memVaultCardKeyCheck2Hook:
ptrVaultCardKeyCheck2Hook:
dq 0
align 10 CC
n_code:
mov rax,[rcx+70]
lea rax,[rdx+rax+40]
mov [ptrVaultCardKeyCheck2Hook],rax
xor rax,rax
o_code:
// mov rax,[rcx+70]
// mov eax,[rdx+rax+40]
exit:
jmp return
////
//// ---------- Injection Point ----------
injVaultCardKeyCheck2Hook:
jmp n_code
nop
nop
nop
return:
////
//// ------------------------------ DISABLE ------------------------------
[DISABLE]
////
//// ---------- Injection Point ----------
injVaultCardKeyCheck2Hook:
db bytes
unregisterSymbol(injVaultCardKeyCheck2Hook)
unregisterSymbol(ptrVaultCardKeyCheck2Hook)
dealloc(memVaultCardKeyCheck2Hook)
{
Module: Borderlands3.exe
Module Size: 7225000
Address: Borderlands3.exe+E3E520
AOB Address: Borderlands3.exe+E3E520
Borderlands3.exe+E3E50C - CC - int 3
Borderlands3.exe+E3E50D - CC - int 3
Borderlands3.exe+E3E50E - CC - int 3
Borderlands3.exe+E3E50F - CC - int 3
Borderlands3.exe+E3E510 - 85 D2 - test edx,edx
Borderlands3.exe+E3E512 - 78 15 - js Borderlands3.exe+E3E529
Borderlands3.exe+E3E514 - 3B 51 78 - cmp edx,[rcx+78]
Borderlands3.exe+E3E517 - 7D 10 - jnl Borderlands3.exe+E3E529
Borderlands3.exe+E3E519 - 48 63 C2 - movsxd rax,edx
Borderlands3.exe+E3E51C - 48 6B D0 58 - imul rdx,rax,58
Borderlands3.exe+E3E520 - 48 8B 41 70 - mov rax,[rcx+70] <<<---- Injection point
Borderlands3.exe+E3E524 - 8B 44 02 40 - mov eax,[rdx+rax+40]
Borderlands3.exe+E3E528 - C3 - ret
Borderlands3.exe+E3E529 - 33 C0 - xor eax,eax
Borderlands3.exe+E3E52B - C3 - ret
Borderlands3.exe+E3E52C - CC - int 3
Borderlands3.exe+E3E52D - CC - int 3
Borderlands3.exe+E3E52E - CC - int 3
Borderlands3.exe+E3E52F - CC - int 3
Borderlands3.exe+E3E530 - 48 89 5C 24 08 - mov [rsp+08],rbx
Borderlands3.exe+E3E535 - 48 89 74 24 10 - mov [rsp+10],rsi
}