nope, that entry point was only changing the text not the end result. The hash i replaced the first time was just the text. Im currently testing for the hash that should be the actual condition
edit:
I have it broken down into two codes. 100% drop chance, and ignore mission requirements. The loot still shows what the requirement was but doesn't actually need it to acquire it.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>148</ID>
<Description>"Ignore Mission Requirement For Rewards"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
aobscanmodule(MissionResultLootAOB,ge3.exe,8B 43 04 44 3B F8) // should be unique
alloc(newmem,$1000,"ge3.exe"+72936F)
label(code)
label(return)
newmem:
code:
mov eax,r15d
cmp r15d,eax
jmp return
MissionResultLootAOB:
jmp newmem
nop
return:
registersymbol(MissionResultLootAOB)
[DISABLE]
MissionResultLootAOB:
db 8B 43 04 44 3B F8
unregistersymbol(MissionResultLootAOB)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ge3.exe"+72936F
"ge3.exe"+729344: E8 87 F8 B8 FF - call ge3.exe+2B8BD0
"ge3.exe"+729349: 48 8B 0D 80 2F 89 01 - mov rcx,[ge3.exe+1FBC2D0]
"ge3.exe"+729350: 41 B0 01 - mov r8l,01
"ge3.exe"+729353: 8B D7 - mov edx,edi
"ge3.exe"+729355: E8 86 23 FD FF - call ge3.exe+6FB6E0
"ge3.exe"+72935A: 4C 8D 76 10 - lea r14,[rsi+10]
"ge3.exe"+72935E: BD 40 00 00 00 - mov ebp,00000040
"ge3.exe"+729363: 49 8B 1E - mov rbx,[r14]
"ge3.exe"+729366: 48 85 DB - test rbx,rbx
"ge3.exe"+729369: 0F 84 2B 02 00 00 - je ge3.exe+72959A
// ---------- INJECTING HERE ----------
"ge3.exe"+72936F: 8B 43 04 - mov eax,[rbx+04]
"ge3.exe"+729372: 44 3B F8 - cmp r15d,eax
// ---------- DONE INJECTING ----------
"ge3.exe"+729375: 0F 85 1F 02 00 00 - jne ge3.exe+72959A
"ge3.exe"+72937B: 3B 05 3F 48 89 01 - cmp eax,[ge3.exe+1FBDBC0]
"ge3.exe"+729381: 0F 84 81 00 00 00 - je ge3.exe+729408
"ge3.exe"+729387: 48 8B 0D 02 43 89 01 - mov rcx,[ge3.exe+1FBD690]
"ge3.exe"+72938E: 48 85 C9 - test rcx,rcx
"ge3.exe"+729391: 0F 84 03 02 00 00 - je ge3.exe+72959A
"ge3.exe"+729397: E8 04 5C FF FF - call ge3.exe+71EFA0
"ge3.exe"+72939C: 8B 4B 04 - mov ecx,[rbx+04]
"ge3.exe"+72939F: 48 8B F8 - mov rdi,rax
"ge3.exe"+7293A2: 3B 0D 1C 48 89 01 - cmp ecx,[ge3.exe+1FBDBC4]
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>149</ID>
<Description>"100% Mission Reward Chance"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(MLootOddAOB,ge3.exe,41 8B 56 FC 45 33 C9) // should be unique
alloc(newmem,$1000,"ge3.exe"+729488)
label(code)
label(return)
newmem:
code:
mov edx,#100
xor r9d,r9d
jmp return
MLootOddAOB:
jmp newmem
nop
nop
return:
registersymbol(MLootOddAOB)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
MLootOddAOB:
db 41 8B 56 FC 45 33 C9
unregistersymbol(MLootOddAOB)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ge3.exe"+729488
"ge3.exe"+72945C: 48 8B 0D 2D BE 89 01 - mov rcx,[ge3.exe+1FC5290]
"ge3.exe"+729463: E8 88 FC 06 00 - call ge3.exe+7990F0
"ge3.exe"+729468: 8B D8 - mov ebx,eax
"ge3.exe"+72946A: 85 C0 - test eax,eax
"ge3.exe"+72946C: 74 1A - je ge3.exe+729488
"ge3.exe"+72946E: 48 8D 0D 53 82 9E 00 - lea rcx,[ge3.exe+11116C8]
"ge3.exe"+729475: E8 06 AC 47 00 - call ge3.exe+BA4080
"ge3.exe"+72947A: 8B D3 - mov edx,ebx
"ge3.exe"+72947C: 48 8D 0D D5 81 9E 00 - lea rcx,[ge3.exe+1111658]
"ge3.exe"+729483: E8 F8 AB 47 00 - call ge3.exe+BA4080
// ---------- INJECTING HERE ----------
"ge3.exe"+729488: 41 8B 56 FC - mov edx,[r14-04]
"ge3.exe"+72948C: 45 33 C9 - xor r9d,r9d
// ---------- DONE INJECTING ----------
"ge3.exe"+72948F: 4D 8B 14 24 - mov r10,[r12]
"ge3.exe"+729493: 03 D3 - add edx,ebx
"ge3.exe"+729495: 49 8B CC - mov rcx,r12
"ge3.exe"+729498: 45 8D 41 64 - lea r8d,[r9+64]
"ge3.exe"+72949C: 41 FF 52 10 - call qword ptr [r10+10]
"ge3.exe"+7294A0: 84 C0 - test al,al
"ge3.exe"+7294A2: 0F 84 F2 00 00 00 - je ge3.exe+72959A
"ge3.exe"+7294A8: 4D 8B 4C 24 10 - mov r9,[r12+10]
"ge3.exe"+7294AD: 41 8B D5 - mov edx,r13d
"ge3.exe"+7294B0: 4D 8B 44 24 18 - mov r8,[r12+18]
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
edit2:
Bonus code- Last Equiped Weapon. This will allow you to edit the level of the weapon and it's skills.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>145</ID>
<Description>"Last Equiped Weapon"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>
[ENABLE]
aobscanmodule(LastWeapAOB,ge3.exe,3A 41 0F 10 00 0F 11 02) // should be unique
alloc(newmem,$1000,"ge3.exe"+7008ED)
label(code)
label(return)
label(LastWeap)
registersymbol(LastWeap)
newmem:
push rax
movzx rax, byte ptr [r8+1]
test rax,rax
pop rax
je code
mov [LastWeap],r8
code:
movups xmm0,[r8]
movups [rdx],xmm0
jmp return
LastWeap:
LastWeapAOB+01:
jmp newmem
nop
nop
return:
registersymbol(LastWeapAOB)
[DISABLE]
LastWeapAOB+01:
db 41 0F 10 00 0F 11 02
unregistersymbol(LastWeapAOB)
unregistersymbol(LastWeap)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ge3.exe"+7008ED
"ge3.exe"+7008DA: CC - int 3
"ge3.exe"+7008DB: CC - int 3
"ge3.exe"+7008DC: CC - int 3
"ge3.exe"+7008DD: CC - int 3
"ge3.exe"+7008DE: CC - int 3
"ge3.exe"+7008DF: CC - int 3
"ge3.exe"+7008E0: 4C 8B C2 - mov r8,rdx
"ge3.exe"+7008E3: 48 8B 51 08 - mov rdx,[rcx+08]
"ge3.exe"+7008E7: 48 39 51 10 - cmp [rcx+10],rdx
"ge3.exe"+7008EB: 74 3A - je ge3.exe+700927
// ---------- INJECTING HERE ----------
"ge3.exe"+7008ED: 41 0F 10 00 - movups xmm0,[r8]
"ge3.exe"+7008F1: 0F 11 02 - movups [rdx],xmm0
// ---------- DONE INJECTING ----------
"ge3.exe"+7008F4: 41 0F 10 48 10 - movups xmm1,[r8+10]
"ge3.exe"+7008F9: 0F 11 4A 10 - movups [rdx+10],xmm1
"ge3.exe"+7008FD: 41 0F 10 40 20 - movups xmm0,[r8+20]
"ge3.exe"+700902: 0F 11 42 20 - movups [rdx+20],xmm0
"ge3.exe"+700906: 41 0F 10 48 30 - movups xmm1,[r8+30]
"ge3.exe"+70090B: 0F 11 4A 30 - movups [rdx+30],xmm1
"ge3.exe"+70090F: F2 41 0F 10 40 40 - movsd xmm0,[r8+40]
"ge3.exe"+700915: F2 0F 11 42 40 - movsd [rdx+40],xmm0
"ge3.exe"+70091A: 41 8B 40 48 - mov eax,[r8+48]
"ge3.exe"+70091E: 89 42 48 - mov [rdx+48],eax
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>138</ID>
<Description>"Weapon ID"</Description>
<LastState Value="5C76FCCA" RealAddress="468F5490"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>143</ID>
<Description>"Weapon Level"</Description>
<LastState Value="9001" RealAddress="468F5494"/>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>144</ID>
<Description>"Alt Color"</Description>
<LastState Value="0" RealAddress="468F5498"/>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>14</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>139</ID>
<Description>"Skill Slot 1 ID"</Description>
<LastState Value="1B04C239" RealAddress="468F54A0"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>1C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>140</ID>
<Description>"Skill Slot 1 Level"</Description>
<LastState Value="500" RealAddress="468F549C"/>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>18</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>142</ID>
<Description>"Skill Slot 2 ID"</Description>
<LastState Value="580BA182" RealAddress="468F54A8"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>24</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>141</ID>
<Description>"Skill Slot 2 Level"</Description>
<LastState Value="500" RealAddress="468F54A4"/>
<VariableType>4 Bytes</VariableType>
<Address>LastWeap</Address>
<Offsets>
<Offset>20</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>