Wolfenstein II The New Colossus
Posted: Thu Oct 26, 2017 4:06 pm
Wolfenstein 2 The New Colossus table for v1.0
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Code: Select all
label(originalCode)
label(godMode)
{Compare floats to allow increase}
fld [rcx+18] //effective: st1 - maximum health
fld [rcx+10] //effective: st0 - current health
fcomip st(0),st(1) //pop st0; st1 (now st0) is left to pop below
jae originalCode //jump if current health is above or equal to maximum health
jmp godMode //jump if current health is below maximum health
godMode:
fst [rcx+10] //store st0 (now [rcx+18]) in [rcx+10] and don't pop, use the pop below
jmp originalCode
originalCode:
fcomp //pop st0, this one is needed if godMode is skipped in order to dump the loaded st0
movss xmm0,[rcx+10]
Code: Select all
{Alternative condition by copying the values
movss xmm10,[rcx+10] //current health
movss xmm11,[rcx+18] //maximum health
comiss xmm10,xmm11 // ordered cmp
xorps xmm10,xmm10
xorps xmm11,xmm11
jae skipHealth}
Code: Select all
[ENABLE]
aobscanmodule(pToolsCalculation,NewColossus_x64vk.exe,74 21 49 8B 87 08 1C 02 00)
aobscanmodule(pToolsCheckSkip,NewColossus_x64vk.exe,0F 8E CD 03 00 00 49)
aobscanmodule(pToolsCheck,NewColossus_x64vk.exe,39 78 1C 0F 85 C8 00 00 00)
registersymbol(pToolsCalculation)
registersymbol(pToolsCheckSkip)
registersymbol(pToolsCheck)
pToolsCalculation:
db EB
pToolsCheckSkip:
db 90 90 90 90 90 90
pToolsCheck+1:
db 40
[DISABLE]
pToolsCheck+1:
db 78
pToolsCheckSkip:
db 0F 8E CD 03 00 00
pToolsCalculation:
db 74
unregistersymbol(pToolsCheck)
unregistersymbol(pToolsCheckSkip)
unregistersymbol(pToolsCalculation)
Code: Select all
{ Game : NewColossus_x64vk.exe
Version:
Date : 2017-10-28
Author : Yavor
This script does blah blah blah
}
[ENABLE]
aobscanmodule(_AobSuperJump,NewColossus_x64vk.exe,F3 44 0F 58 8B 28 10 00 00) // should be unique
alloc(newmem,$100,"NewColossus_x64vk.exe"+705833)
label(code)
label(return)
newmem:
code:
mov [rbx+00001028],(float)7
addss xmm9,[rbx+00001028]
jmp return
_AobSuperJump:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(_AobSuperJump)
[DISABLE]
_AobSuperJump:
db F3 44 0F 58 8B 28 10 00 00
unregistersymbol(_AobSuperJump)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "NewColossus_x64vk.exe"+705833
"NewColossus_x64vk.exe"+7057FC: F3 0F 5C FD - subss xmm7,xmm5
"NewColossus_x64vk.exe"+705800: F3 0F 59 D3 - mulss xmm2,xmm3
"NewColossus_x64vk.exe"+705804: F3 44 0F 5C C4 - subss xmm8,xmm4
"NewColossus_x64vk.exe"+705809: F3 0F 59 D0 - mulss xmm2,xmm0
"NewColossus_x64vk.exe"+70580D: 0F 57 C0 - xorps xmm0,xmm0
"NewColossus_x64vk.exe"+705810: F3 0F 58 BB 20 10 00 00 - addss xmm7,[rbx+00001020]
"NewColossus_x64vk.exe"+705818: F3 44 0F 58 83 24 10 00 00 - addss xmm8,[rbx+00001024]
"NewColossus_x64vk.exe"+705821: F3 44 0F 5C CA - subss xmm9,xmm2
"NewColossus_x64vk.exe"+705826: F3 0F 11 BB 20 10 00 00 - movss [rbx+00001020],xmm7
"NewColossus_x64vk.exe"+70582E: 0F 28 7C 24 40 - movaps xmm7,[rsp+40]
// ---------- INJECTING HERE ----------
"NewColossus_x64vk.exe"+705833: F3 44 0F 58 8B 28 10 00 00 - addss xmm9,[rbx+00001028]
// ---------- DONE INJECTING ----------
"NewColossus_x64vk.exe"+70583C: F3 44 0F 11 83 24 10 00 00 - movss [rbx+00001024],xmm8
"NewColossus_x64vk.exe"+705845: 44 0F 28 44 24 30 - movaps xmm8,[rsp+30]
"NewColossus_x64vk.exe"+70584B: F3 44 0F 11 8B 28 10 00 00 - movss [rbx+00001028],xmm9
"NewColossus_x64vk.exe"+705854: F3 48 0F 2A 05 63 87 7C 02 - cvtsi2ss xmm0,[NewColossus_x64vk.exe+2ECDFC0]
"NewColossus_x64vk.exe"+70585D: 44 0F 28 4C 24 20 - movaps xmm9,[rsp+20]
"NewColossus_x64vk.exe"+705863: F3 0F 59 05 85 5F 22 02 - mulss xmm0,[NewColossus_x64vk.exe+292B7F0]
"NewColossus_x64vk.exe"+70586B: F3 48 0F 2C C0 - cvttss2si rax,xmm0
"NewColossus_x64vk.exe"+705870: 48 89 83 E0 13 00 00 - mov [rbx+000013E0],rax
"NewColossus_x64vk.exe"+705877: 48 C7 83 E8 13 00 00 00 00 00 00 - mov [rbx+000013E8],00000000
"NewColossus_x64vk.exe"+705882: 48 8B 83 E0 11 00 00 - mov rax,[rbx+000011E0]
}