Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="16">
<CheatEntries>
<CheatEntry>
<ID>24</ID>
<Description>"Basic ESP"</Description>
<Options moHideChildren="1"/>
<Color>80000008</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
alloc(BasicESP1, 400)
registersymbol(BasicESP1)
aobscanmodule(Entry1, BLR.exe, 31 91 D4 00 00 00 89 44 24 04)
registersymbol(Entry1)
label(Return1)
label(OriginalCode1)
alloc(BasicESP2, 400)
registersymbol(BasicESP2)
aobscanmodule(Entry2, BLR.exe, 83 A6 A0 00 00 00 FE 8B 86 BC 00 00 00)
registersymbol(Entry2)
label(Return2)
label(OriginalCode2)
label(OverWrite2)
label(Check)
alloc(BasicESP3, 400)
registersymbol(BasicESP3)
aobscanmodule(Entry3, BLR.exe, 81 A6 A0 00 00 00 FF EF FF FF 8B 87 64 24 00 00)
registersymbol(Entry3)
label(Return3)
label(OriginalCode3)
label(OverWrite3)
label(Storage3)
registersymbol(Storage3)
label(Address)
registersymbol(Address)
////
////
////
//BLR.GetStackOwnerClass+21B3DF:
Entry1:
jmp BasicESP1
nop
Return1:
//
BasicESP1:
mov [ecx+000000D4],00000003
jmp Return1
OriginalCode1:
xor [ecx+000000D4],edx
////
////
////
//BLR.AK::StreamMgr::CreateDevice+FF38E:
Entry2:
jmp BasicESP2
nop
nop
Return2:
//
BasicESP2:
cmp esi,[Storage3]
je Check
jmp OriginalCode2
Check:
cmp [esi+24],3F800000 // Beta
jne OriginalCode2
cmp [esi+2C],3F800000 // Beta
jne OriginalCode2
cmp [esi+34],3F800000 // Beta
jne OriginalCode2
cmp [esi+0E],0D36012F // Depots
je OverWrite2
cmp [esi+0E],0D2E012F // Mines
je OverWrite2
cmp [esi+0E],0CBF012F // Names
je OverWrite2
cmp [esi+0E],0DA9012F // Player Dots
je OverWrite2
jmp OriginalCode2
OverWrite2:
or dword ptr [esi+000000A0],01 // overwrite
jmp Return2
OriginalCode2:
and dword ptr [esi+000000A0],-02
jmp Return2
Address:
db 00 00 00 00
////
////
////
//BLR.AK::StreamMgr::CreateDevice+D4B9D:
Entry3:
jmp BasicESP3
nop
nop
nop
nop
nop
Return3:
//
BasicESP3:
mov [Storage3],esi
jmp OriginalCode3
OriginalCode3:
and [esi+000000A0],FFFFEFFF
jmp Return3
OverWrite3:
nop
Storage3:
db 00 00 00 00
////
////
////
[disable]
dealloc(BasicESP1)
unregistersymbol(BasecESP1)
unregistersymbol(Entry1)
dealloc(BasicESP2)
unregistersymbol(BasicESP2)
unregistersymbol(Entry2)
dealloc(BasicESP3)
unregistersymbol(BasicESP3)
unregistersymbol(Entry3)
unregistersymbol(Storage3)
unregistersymbol(Address)
Entry1:
xor [ecx+000000D4],edx
Entry2:
and dword ptr [esi+000000A0],-02
Entry3:
and [esi+000000A0],FFFFEFFF
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>21</ID>
<Description>"NoSpread"</Description>
<Color>80000008</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
alloc(NoSpread1,100)
label(Entry1)
label(Return1)
label(OriginalCode1)
label(Exit1)
////
////
////
BLR.exe+38AD9:
Entry1:
jmp NoSpread1
nop
nop
nop
Return1:
//
NoSpread1:
//Using struct comparison
cmp [edi-1E4],3E99999A
jne OriginalCode1
cmp [edi-1E0],3E666666
jne OriginalCode1
cmp [edi-1DC],3E19999A
jne OriginalCode1
jmp Exit1
OriginalCode1:
inc [edi]
jmp Exit1
Exit1:
mov edi,[edi]
mov ecx,[esp+14]
jmp Return1
////
////
////
[disable]
dealloc(NoSpread1)
BLR.exe+38AD9:
inc [edi]
mov edi,[edi]
mov ecx,[esp+14]
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>11</ID>
<Description>"NoRecoil"</Description>
<Options moHideChildren="1"/>
<Color>80000008</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
alloc(NoRecoil, 60)
aobscanmodule(RecoilEntry, BLR.exe, 5F F3 0F 11 00 5E 59 C2 08 00 CC CC CC CC 51 0F 57 C0 56 8B 74 24 0C C7 05 44 D3 39 01 00 00 00 00 8B 46 18 8B 4E 14 F3 0F 11 44 24 04 0F B6 10 40 89 46 18 8B 14 95 A0 06 3C 01 57 8D 44 24 08 50 56 FF D2 8B 0D 48 D3 39 01 85 C9 74 11 8B 01 8B 15 2C D3 39 01 8B 80 D0 00 00 00 52 FF D0 A1 44 D3 39 01 8B F8 85 C0 75 04 8D 7C 24 08 8B 46 18 0F 57 C0 F3 0F 11 44 24 10 0F B6 10 8D 4C 24 10 40 51 8B 4E 14 89 46 18 8B 14 95 A0 06 3C 01 56 FF D2 FF 46 18 8B 46 18 80 38 41 75 10 8B 4E 14 6A 00 40 56 89 46 18 FF 15 A4 07 3C 01 F3 0F 10 07 F3 0F 5C 44 24 10 8B 44 24 14 F3 0F 11 07 5F F3 0F 11 00 5E 59 C2 08 00 CC CC CC CC 51 0F 57 C0 56 8B 74 24 0C 8B 46 18 8B 4E 14 F3 0F 11 44 24 04 0F B6 10 40 89 46 18 8B 14 95 A0 06 3C 01 8D 44 24 04 50 56 FF D2 FF 46 18 8B 46 18 80 38 41 75 10 8B 4E 14 6A 00 40 56 89 46 18 FF 15 A4 07 3C 01 D9 44 24 04 8B 44 24 10 D9 E1 5E D9)
registersymbol(RecoilEntry)
registersymbol(NoRecoil)
label(Return)
label(OriginalCode)
label(OverWrite)
label(WeaponAddress)
registersymbol(WeaponAddress)
RecoilEntry:
jmp NoRecoil
Return:
NoRecoil:
//Using struct comparison
cmp [edi-1A0],3E99999A
jne OriginalCode
cmp [edi-19C],3E666666
jne OriginalCode
cmp [edi-198],3E19999A
jne OriginalCode
cmp [edi-9C],3F19999A
jne OriginalCode
cmp [edi-94],40A66666
jne OriginalCode
jmp OverWrite
OverWrite:
//mov [WeaponAddress],edi
mov [edi],00000000
jmp OriginalCode
OriginalCode:
pop edi
movss [eax],xmm0
jmp Return
WeaponAddress:
db 00 00 00 00
[disable]
dealloc(NoRecoil)
unregistersymbol(RecoilEntry)
unregistersymbol(WeaponAddress)
RecoilEntry:
pop edi
movss [eax],xmm0
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>13</ID>
<Description>"Last Weapon Fired Data"</Description>
<Options moHideChildren="1"/>
<Color>80000008</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>14</ID>
<Description>"Recoil"</Description>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"Ammo Left (Mag)"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFF00</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16</ID>
<Description>"Ammo Left (Pouch)"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFF04</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>15</ID>
<Description>"Max Ammo"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFF08</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>18</ID>
<Description>"Shots Fired"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFEF8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>20</ID>
<Description>"Shots Fired 2"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFEFC</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>23</ID>
<Description>"Shots Fired (Spread Calc)"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>44</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>19</ID>
<Description>"FireRate"</Description>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFEDC</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>31</ID>
<Description>"NoRecoil Struct Compares"</Description>
<Options moHideChildren="1"/>
<Color>80000008</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>25</ID>
<Description>"No description"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFE60</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>26</ID>
<Description>"No description"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFE64</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>27</ID>
<Description>"No description"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFE68</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>29</ID>
<Description>"No description"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFF64</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>30</ID>
<Description>"No description"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>WeaponAddress</Address>
<Offsets>
<Offset>FFFFFF6C</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
<CheatCodes>
<CodeEntry>
<Description>Code :?? </Description>
<Address>00438ADB</Address>
<ModuleName/>
<ModuleNameOffset>0</ModuleNameOffset>
<Before/>
<Actual>
<Byte>00</Byte>
<Byte>00</Byte>
</Actual>
<After/>
</CodeEntry>
<CodeEntry>
<Description>Code :?? </Description>
<Address>00492D7C</Address>
<ModuleName/>
<ModuleNameOffset>0</ModuleNameOffset>
<Before/>
<Actual>
<Byte>00</Byte>
<Byte>00</Byte>
</Actual>
<After/>
</CodeEntry>
<CodeEntry>
<Description>Code :inc [edi]</Description>
<Address>00438AD9</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>38AD9</ModuleNameOffset>
<Before>
<Byte>15</Byte>
<Byte>A4</Byte>
<Byte>07</Byte>
<Byte>3C</Byte>
<Byte>01</Byte>
</Before>
<Actual>
<Byte>FF</Byte>
<Byte>07</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>3F</Byte>
<Byte>8B</Byte>
<Byte>4C</Byte>
<Byte>24</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov ecx,[eax]</Description>
<Address>00492D7C</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>92D7C</ModuleNameOffset>
<Before>
<Byte>0F</Byte>
<Byte>8B</Byte>
<Byte>44</Byte>
<Byte>24</Byte>
<Byte>08</Byte>
</Before>
<Actual>
<Byte>8B</Byte>
<Byte>08</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>54</Byte>
<Byte>24</Byte>
<Byte>04</Byte>
<Byte>89</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov [esp+5C],eax</Description>
<Address>00486107</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>86107</ModuleNameOffset>
<Before>
<Byte>09</Byte>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>33</Byte>
<Byte>DB</Byte>
</Before>
<Actual>
<Byte>89</Byte>
<Byte>44</Byte>
<Byte>24</Byte>
<Byte>5C</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>84</Byte>
<Byte>24</Byte>
<Byte>80</Byte>
<Byte>09</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov [esp+34],esp</Description>
<Address>00486A26</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>86A26</ModuleNameOffset>
<Before>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>83</Byte>
<Byte>EC</Byte>
<Byte>08</Byte>
</Before>
<Actual>
<Byte>89</Byte>
<Byte>64</Byte>
<Byte>24</Byte>
<Byte>34</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>C4</Byte>
<Byte>57</Byte>
<Byte>8D</Byte>
<Byte>54</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :?? </Description>
<Address>00438ADB</Address>
<ModuleName/>
<ModuleNameOffset>0</ModuleNameOffset>
<Before/>
<Actual>
<Byte>00</Byte>
<Byte>00</Byte>
</Actual>
<After/>
</CodeEntry>
<CodeEntry>
<Description>Code :?? </Description>
<Address>00492D7C</Address>
<ModuleName/>
<ModuleNameOffset>0</ModuleNameOffset>
<Before/>
<Actual>
<Byte>00</Byte>
<Byte>00</Byte>
</Actual>
<After/>
</CodeEntry>
<CodeEntry>
<Description>Code :inc [edi]</Description>
<Address>00438AD9</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>38AD9</ModuleNameOffset>
<Before>
<Byte>15</Byte>
<Byte>A4</Byte>
<Byte>07</Byte>
<Byte>3C</Byte>
<Byte>01</Byte>
</Before>
<Actual>
<Byte>FF</Byte>
<Byte>07</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>3F</Byte>
<Byte>8B</Byte>
<Byte>4C</Byte>
<Byte>24</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov ecx,[eax]</Description>
<Address>00492D7C</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>92D7C</ModuleNameOffset>
<Before>
<Byte>0F</Byte>
<Byte>8B</Byte>
<Byte>44</Byte>
<Byte>24</Byte>
<Byte>08</Byte>
</Before>
<Actual>
<Byte>8B</Byte>
<Byte>08</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>54</Byte>
<Byte>24</Byte>
<Byte>04</Byte>
<Byte>89</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov [esp+5C],eax</Description>
<Address>00486107</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>86107</ModuleNameOffset>
<Before>
<Byte>09</Byte>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>33</Byte>
<Byte>DB</Byte>
</Before>
<Actual>
<Byte>89</Byte>
<Byte>44</Byte>
<Byte>24</Byte>
<Byte>5C</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>84</Byte>
<Byte>24</Byte>
<Byte>80</Byte>
<Byte>09</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Code :mov [esp+34],esp</Description>
<Address>00486A26</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>86A26</ModuleNameOffset>
<Before>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>83</Byte>
<Byte>EC</Byte>
<Byte>08</Byte>
</Before>
<Actual>
<Byte>89</Byte>
<Byte>64</Byte>
<Byte>24</Byte>
<Byte>34</Byte>
</Actual>
<After>
<Byte>8B</Byte>
<Byte>C4</Byte>
<Byte>57</Byte>
<Byte>8D</Byte>
<Byte>54</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Change of or dword ptr [esi+000000A0],01</Description>
<Address>00F0EFCA</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>B0EFCA</ModuleNameOffset>
<Before>
<Byte>56</Byte>
<Byte>8B</Byte>
<Byte>F1</Byte>
<Byte>74</Byte>
<Byte>24</Byte>
</Before>
<Actual>
<Byte>83</Byte>
<Byte>8E</Byte>
<Byte>A0</Byte>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>00</Byte>
<Byte>01</Byte>
</Actual>
<After>
<Byte>32</Byte>
<Byte>C9</Byte>
<Byte>8B</Byte>
<Byte>86</Byte>
<Byte>A0</Byte>
</After>
</CodeEntry>
<CodeEntry>
<Description>Change of movss [edi],xmm0</Description>
<Address>00439A1E</Address>
<ModuleName>BLR.exe</ModuleName>
<ModuleNameOffset>39A1E</ModuleNameOffset>
<Before>
<Byte>10</Byte>
<Byte>8B</Byte>
<Byte>44</Byte>
<Byte>24</Byte>
<Byte>14</Byte>
</Before>
<Actual>
<Byte>F3</Byte>
<Byte>0F</Byte>
<Byte>11</Byte>
<Byte>07</Byte>
</Actual>
<After>
<Byte>E9</Byte>
<Byte>D9</Byte>
<Byte>65</Byte>
<Byte>16</Byte>
<Byte>08</Byte>
</After>
</CodeEntry>
</CheatCodes>
<UserdefinedSymbols>
<SymbolEntry>
<Name>Entry4</Name>
<Address>00EE326A</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Entry5</Name>
<Address>00F0EFCA</Address>
</SymbolEntry>
<SymbolEntry>
<Name>RecoilEntryTrue</Name>
<Address>00439A1E</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Sxmm0</Name>
<Address>084100E5</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Sedi</Name>
<Address>084100E9</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Storage</Name>
<Address>00EE488D</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Written</Name>
<Address>07A600A8</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Entry1</Name>
<Address> 00D24ACF</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Entry2</Name>
<Address> 00F0EFEE</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Entry3</Name>
<Address> 00EE47FD</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Storage3</Name>
<Address>079C081B</Address>
</SymbolEntry>
<SymbolEntry>
<Name>Address</Name>
<Address>079C0489</Address>
</SymbolEntry>
</UserdefinedSymbols>
</CheatTable>