Skip to content

Instantly share code, notes, and snippets.

@CzBiX
Created February 13, 2021 12:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CzBiX/bf79cb2f01e12dc8e1a4eea1b79b7512 to your computer and use it in GitHub Desktop.
Save CzBiX/bf79cb2f01e12dc8e1a4eea1b79b7512 to your computer and use it in GitHub Desktop.
Cheat engine table for Crashlands v1.5.66-rc.9(Publish v100.0.63.0) Epic
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="34">
<CheatEntries>
<CheatEntry>
<ID>7</ID>
<Description>"Character attr"</Description>
<Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(injectCharacter,Crashlands.exe,E8 30 F2 58 FC) // should be unique
alloc(newmem,$1000)
label(characterAddr)
label(code)
label(return)
newmem:
cmp eax, 0
jne code
cmp [characterAddr], 0
jne code
call Crashlands.exe+A5C0
mov [characterAddr], eax
jmp return
code:
call Crashlands.exe+A5C0
jmp return
align 4 cc
characterAddr:
dd 0
injectCharacter:
jmp newmem
return:
registersymbol(injectCharacter)
registersymbol(characterAddr)
[DISABLE]
injectCharacter:
db E8 30 F2 58 FC
unregistersymbol(characterAddr)
unregistersymbol(injectCharacter)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Crashlands.exe"+3A7B38B
"Crashlands.exe"+3A7B36E: 8B 01 - mov eax,[ecx]
"Crashlands.exe"+3A7B370: 68 D7 94 01 00 - push 000194D7
"Crashlands.exe"+3A7B375: FF 50 08 - call dword ptr [eax+08]
"Crashlands.exe"+3A7B378: 89 46 04 - mov [esi+04],eax
"Crashlands.exe"+3A7B37B: 8D 46 70 - lea eax,[esi+70]
"Crashlands.exe"+3A7B37E: 50 - push eax
"Crashlands.exe"+3A7B37F: E8 0C D5 51 00 - call Crashlands.exe+3F98890
"Crashlands.exe"+3A7B384: 83 C4 04 - add esp,04
"Crashlands.exe"+3A7B387: 8B 4E 08 - mov ecx,[esi+08]
"Crashlands.exe"+3A7B38A: 50 - push eax
// ---------- INJECTING HERE ----------
"Crashlands.exe"+3A7B38B: E8 30 F2 58 FC - call Crashlands.exe+A5C0
// ---------- DONE INJECTING ----------
"Crashlands.exe"+3A7B390: 89 46 0C - mov [esi+0C],eax
"Crashlands.exe"+3A7B393: FF 75 08 - push [ebp+08]
"Crashlands.exe"+3A7B396: E8 45 BB 53 00 - call Crashlands.exe+3FB6EE0
"Crashlands.exe"+3A7B39B: 83 C4 04 - add esp,04
"Crashlands.exe"+3A7B39E: 8D 46 70 - lea eax,[esi+70]
"Crashlands.exe"+3A7B3A1: 50 - push eax
"Crashlands.exe"+3A7B3A2: E8 E9 D4 51 00 - call Crashlands.exe+3F98890
"Crashlands.exe"+3A7B3A7: 83 C4 04 - add esp,04
"Crashlands.exe"+3A7B3AA: 50 - push eax
"Crashlands.exe"+3A7B3AB: FF 76 04 - push [esi+04]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>8</ID>
<Description>"characterAddr"</Description>
<ShowAsHex>1</ShowAsHex>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>characterAddr</Address>
</CheatEntry>
<CheatEntry>
<ID>66</ID>
<Description>"基本属性"</Description>
<Options moManualExpandCollapse="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>11</ID>
<Description>"最大生命"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>9</ID>
<Description>"韧性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>10</ID>
<Description>"移动速度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>20</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>12</ID>
<Description>"??"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>30</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>18</ID>
<Description>"每秒伤害"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>40</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"暴击"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>50</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16</ID>
<Description>"单次伤害"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>60</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>67</ID>
<Description>"Buff"</Description>
<Options moManualExpandCollapse="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>15</ID>
<Description>"伤害反弹"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>70</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>14</ID>
<Description>"眩晕"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>80</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>13</ID>
<Description>"燃烧"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>90</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>39</ID>
<Description>"冰封"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>a0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>38</ID>
<Description>"闪避"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>b0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>37</ID>
<Description>"流血"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>c0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>36</ID>
<Description>"生命恢复"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>d0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>35</ID>
<Description>"施毒"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>e0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>34</ID>
<Description>"吸血"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>f0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>23</ID>
<Description>"狂暴"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>100</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>22</ID>
<Description>"强酸"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>110</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>21</ID>
<Description>"加速"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>120</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>20</ID>
<Description>"电击"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>130</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>68</ID>
<Description>"高级 Buff"</Description>
<Options moManualExpandCollapse="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>19</ID>
<Description>"毒素抗性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>140</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>40</ID>
<Description>"火焰抗性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>150</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>41</ID>
<Description>"电击抗性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>160</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>42</ID>
<Description>"冰冻抗性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>170</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>43</ID>
<Description>"二头肌强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>180</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>44</ID>
<Description>"火焰强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>190</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>45</ID>
<Description>"毒素强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1a0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>50</ID>
<Description>"电击强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1b0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>49</ID>
<Description>"冰冻强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1c0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>69</ID>
<Description>"特殊 Buff"</Description>
<Options moManualExpandCollapse="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>48</ID>
<Description>"隐匿性"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1d0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>47</ID>
<Description>"炸弹强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1e0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>51</ID>
<Description>"进食强度"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>1f0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>46</ID>
<Description>"时间扭曲"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>200</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>52</ID>
<Description>"宝藏猎人"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>210</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>58</ID>
<Description>"治疗力量"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>220</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>57</ID>
<Description>"生物狩猎"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Double</VariableType>
<Address>characterAddr</Address>
<Offsets>
<Offset>230</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>65</ID>
<Description>"Pickup amount rate"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(injectPickupItem,Crashlands.exe,E8 28 5A BB FF) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(dropAmountRate)
newmem:
push edx
push edi
// convert input
cvtsi2sd xmm0, [dropAmountRate]
movsd [dropAmountRate+4], xmm0
lea edx, [dropAmountRate+4]
mov edi, [esp+18]
mov [edi+4], edx
pop edi
pop edx
code:
call Crashlands.exe+9E6C20
jmp return
align 4 cc
dropAmountRate:
dd 2
dq 0
injectPickupItem:
jmp newmem
return:
registersymbol(injectPickupItem)
registersymbol(dropAmountRate)
[DISABLE]
injectPickupItem:
db E8 28 5A BB FF
unregistersymbol(dropAmountRate)
unregistersymbol(injectPickupItem)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Crashlands.exe+E311F3
Crashlands.exe+E311D5: 89 86 78 03 00 00 - mov [esi+00000378],eax
Crashlands.exe+E311DB: 8D 86 80 01 00 00 - lea eax,[esi+00000180]
Crashlands.exe+E311E1: 89 86 7C 03 00 00 - mov [esi+0000037C],eax
Crashlands.exe+E311E7: 8B 45 0C - mov eax,[ebp+0C]
Crashlands.exe+E311EA: 52 - push edx
Crashlands.exe+E311EB: 6A 04 - push 04
Crashlands.exe+E311ED: 8D 56 08 - lea edx,[esi+08]
Crashlands.exe+E311F0: 52 - push edx
Crashlands.exe+E311F1: 50 - push eax
Crashlands.exe+E311F2: 51 - push ecx
// ---------- INJECTING HERE ----------
Crashlands.exe+E311F3: E8 28 5A BB FF - call Crashlands.exe+9E6C20
// ---------- DONE INJECTING ----------
Crashlands.exe+E311F8: 83 C4 14 - add esp,14
Crashlands.exe+E311FB: 8B 46 14 - mov eax,[esi+14]
Crashlands.exe+E311FE: C7 46 3C 15 00 00 00 - mov [esi+3C],00000015
Crashlands.exe+E31205: 8D 48 FF - lea ecx,[eax-01]
Crashlands.exe+E31208: F7 C1 FC FF FF 00 - test ecx,Crashlands.exe+39FFFC
Crashlands.exe+E3120E: 0F 84 AE 05 00 00 - je Crashlands.exe+E317C2
Crashlands.exe+E31214: C7 46 10 00 00 00 00 - mov [esi+10],00000000
Crashlands.exe+E3121B: C7 46 14 05 00 00 00 - mov [esi+14],00000005
Crashlands.exe+E31222: C7 46 08 00 00 00 00 - mov [esi+08],00000000
Crashlands.exe+E31229: 8D 8E C0 02 00 00 - lea ecx,[esi+000002C0]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>62</ID>
<Description>"Rate"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>dropAmountRate</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>60</ID>
<Description>"Instant Construct"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(injectConstructTimer,Crashlands.exe,E8 80 F0 98 FF) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
push edx
mov edx, [esp+4]
xorps xmm0, xmm0
movsd [edx], xmm0
pop edx
code:
call Crashlands.exe+A480
jmp return
injectConstructTimer:
jmp newmem
return:
registersymbol(injectConstructTimer)
[DISABLE]
injectConstructTimer:
db E8 80 F0 98 FF
unregistersymbol(injectConstructTimer)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Crashlands.exe+67B3FB
Crashlands.exe+67B3D6: FF 36 - push [esi]
Crashlands.exe+67B3D8: E8 F3 BF 91 03 - call Crashlands.exe+3F973D0
Crashlands.exe+67B3DD: 83 C4 08 - add esp,08
Crashlands.exe+67B3E0: 89 86 C8 00 00 00 - mov [esi+000000C8],eax
Crashlands.exe+67B3E6: 8B 06 - mov eax,[esi]
Crashlands.exe+67B3E8: FF 30 - push [eax]
Crashlands.exe+67B3EA: E8 F1 BA 93 03 - call Crashlands.exe+3FB6EE0
Crashlands.exe+67B3EF: 83 C4 04 - add esp,04
Crashlands.exe+67B3F2: 8B 8E C8 00 00 00 - mov ecx,[esi+000000C8]
Crashlands.exe+67B3F8: FF 76 2C - push [esi+2C]
// ---------- INJECTING HERE ----------
Crashlands.exe+67B3FB: E8 80 F0 98 FF - call Crashlands.exe+A480
// ---------- DONE INJECTING ----------
Crashlands.exe+67B400: 6A 03 - push 03
Crashlands.exe+67B402: E8 39 BA 93 03 - call Crashlands.exe+3FB6E40
Crashlands.exe+67B407: 83 C4 04 - add esp,04
Crashlands.exe+67B40A: 8D 46 50 - lea eax,[esi+50]
Crashlands.exe+67B40D: C7 46 6C 10 00 00 00 - mov [esi+6C],00000010
Crashlands.exe+67B414: 50 - push eax
Crashlands.exe+67B415: E8 76 D4 91 03 - call Crashlands.exe+3F98890
Crashlands.exe+67B41A: 83 C4 04 - add esp,04
Crashlands.exe+67B41D: 8B 4E 04 - mov ecx,[esi+04]
Crashlands.exe+67B420: 50 - push eax
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
@izumi121
Copy link

hey i just wanna ask how to use character attr??

@amigre38
Copy link

Is it possible to have an update of this table, because using it for the 1.5.87 rc5 version isn't working anymore.
Or any help to make an update version if it's easier for you ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment