Metal Gear Survive Single Player CT needs update

Memory scanning, code injection, debugger internals and other gamemodding related discussion
Post Reply
HaTTDoG
Noobzor
Noobzor
Posts: 5
Joined: Thu Oct 25, 2018 2:19 pm
Reputation: 6

Metal Gear Survive Single Player CT needs update

Post by HaTTDoG »

Could somebody please try to update this CT file and repost it again when it's working, this was made by Kalas...

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="26">
  <CheatEntries>
    <CheatEntry>
      <ID>38</ID>
      <Description>"[ENABLE]"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <Color>000080</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

{$lua}
  if(getCEVersion() &lt; 6.7) then
    ShowMessage('Sorry. CE version should be 6.7 or above')
  end
{$asm}

//=======================================

{$lua}
  if(process == nil) then
    ShowMessage('No process was selected')
  elseif (process ~= "mgv.exe") then
    ShowMessage('Error. Expected Process = mgv.exe')
  end
{$asm}

[DISABLE]
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>39</ID>
          <Description>"[Player]"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>
          <LastState Value="" RealAddress="00000000"/>
          <Color>000080</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>27</ID>
              <Description>"Unlimited Health"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-03-10
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(aobHealth,mgv.exe,0F B7 83 00 08 00 00 F3)
alloc(newmem,$100,aobHealth)

label(code)
label(return)

newmem:

code:
  mov word ptr [rbx+00000800], #9999
  movzx eax,word ptr [rbx+00000800]
  jmp return

aobHealth:
  jmp newmem
  nop
  nop
return:
registersymbol(aobHealth)

[DISABLE]

aobHealth:
  db 0F B7 83 00 08 00 00

unregistersymbol(aobHealth)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15A42FC

"mgv.exe"+15A42DF: 0F 5B C0                 -  cvtdq2ps xmm0,xmm0
"mgv.exe"+15A42E2: 0F 2E C1                 -  ucomiss xmm0,xmm1
"mgv.exe"+15A42E5: 74 15                    -  je mgv.exe+15A42FC
"mgv.exe"+15A42E7: 0F 14 C9                 -  unpcklps xmm1,xmm1
"mgv.exe"+15A42EA: 0F 50 C1                 -  movmskps eax,xmm1
"mgv.exe"+15A42ED: 83 E0 01                 -  and eax,01
"mgv.exe"+15A42F0: 83 F0 01                 -  xor eax,01
"mgv.exe"+15A42F3: 03 D0                    -  add edx,eax
"mgv.exe"+15A42F5: 66 0F 6E CA              -  movd xmm1,edx
"mgv.exe"+15A42F9: 0F 5B C9                 -  cvtdq2ps xmm1,xmm1
// ---------- INJECTING HERE ----------
"mgv.exe"+15A42FC: 0F B7 83 00 08 00 00     -  movzx eax,word ptr [rbx+00000800]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15A4303: F3 0F 2C F1              -  cvttss2si esi,xmm1
"mgv.exe"+15A4307: 3B C6                    -  cmp eax,esi
"mgv.exe"+15A4309: 74 22                    -  je mgv.exe+15A432D
"mgv.exe"+15A430B: 66 0F 6E C8              -  movd xmm1,eax
"mgv.exe"+15A430F: 0F 5B C9                 -  cvtdq2ps xmm1,xmm1
"mgv.exe"+15A4312: E8 89 50 F9 FF           -  call mgv.exe+15393A0
"mgv.exe"+15A4317: 85 F6                    -  test esi,esi
"mgv.exe"+15A4319: 7E 12                    -  jle mgv.exe+15A432D
"mgv.exe"+15A431B: 66 83 BB 00 08 00 00 00  -  cmp word ptr [rbx+00000800],00
"mgv.exe"+15A4323: 75 08                    -  jne mgv.exe+15A432D
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"Unlimited Stamina"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-03-10
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobStamina,mgv.exe,F3 0F 10 88 30 08 00 00)
alloc(newmem,$100,aobStamina)

label(code)
label(return)

newmem:

code:
  mov [rax+00000830], (float)9999
  movss xmm1,[rax+00000830]
  jmp return

aobStamina:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(aobStamina)

[DISABLE]

aobStamina:
  db F3 0F 10 88 30 08 00 00

unregistersymbol(aobStamina)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15A64D7

"mgv.exe"+15A64A8: 45 32 C0                 -  xor r8l,r8l
"mgv.exe"+15A64AB: 49 8B DB                 -  mov rbx,r11
"mgv.exe"+15A64AE: 44 88 44 24 42           -  mov [rsp+42],r8l
"mgv.exe"+15A64B3: 48 69 DB AC 00 00 00     -  imul rbx,rbx,000000AC
"mgv.exe"+15A64BA: 49 03 DF                 -  add rbx,r15
"mgv.exe"+15A64BD: 48 89 5C 24 70           -  mov [rsp+70],rbx
"mgv.exe"+15A64C2: 45 84 C0                 -  test r8l,r8l
"mgv.exe"+15A64C5: 0F 84 37 02 00 00        -  je mgv.exe+15A6702
"mgv.exe"+15A64CB: 49 8B 45 48              -  mov rax,[r13+48]
"mgv.exe"+15A64CF: F3 0F 10 2D B9 B1 96 00  -  movss xmm5,[mgv.exe+1F11690]
// ---------- INJECTING HERE ----------
"mgv.exe"+15A64D7: F3 0F 10 88 30 08 00 00  -  movss xmm1,[rax+00000830]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15A64DF: 0F 2E CD                 -  ucomiss xmm1,xmm5
"mgv.exe"+15A64E2: 74 33                    -  je mgv.exe+15A6517
"mgv.exe"+15A64E4: 0F 2E 4B 58              -  ucomiss xmm1,[rbx+58]
"mgv.exe"+15A64E8: 74 2D                    -  je mgv.exe+15A6517
"mgv.exe"+15A64EA: 0F 2F CE                 -  comiss xmm1,xmm6
"mgv.exe"+15A64ED: F3 0F 10 53 5C           -  movss xmm2,[rbx+5C]
"mgv.exe"+15A64F2: 73 03                    -  jae mgv.exe+15A64F7
"mgv.exe"+15A64F4: 0F 28 CE                 -  movaps xmm1,xmm6
"mgv.exe"+15A64F7: 0F 28 C2                 -  movaps xmm0,xmm2
"mgv.exe"+15A64FA: F3 0F 5C C1              -  subss xmm0,xmm1
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>30</ID>
              <Description>"Unlimited Hunger"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-03-15
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(aobHunger,mgv.exe,F3 0F 10 98 34 08 00 00)
alloc(newmem,$100,aobHunger)

label(code)
label(return)

newmem:

code:
  mov [rax+00000834], (float)9999
  movss xmm3,[rax+00000834]
  jmp return

aobHunger:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(aobHunger)

[DISABLE]

aobHunger:
  db F3 0F 10 98 34 08 00 00

unregistersymbol(aobHunger)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15D9494

"mgv.exe"+15D946D: 0F 28 CE                 -  movaps xmm1,xmm6
"mgv.exe"+15D9470: 0F 28 C2                 -  movaps xmm0,xmm2
"mgv.exe"+15D9473: F3 0F 5C C1              -  subss xmm0,xmm1
"mgv.exe"+15D9477: 0F 2F C6                 -  comiss xmm0,xmm6
"mgv.exe"+15D947A: 73 03                    -  jae mgv.exe+15D947F
"mgv.exe"+15D947C: 0F 28 CA                 -  movaps xmm1,xmm2
"mgv.exe"+15D947F: F3 0F 11 4F 58           -  movss [rdi+58],xmm1
"mgv.exe"+15D9484: 49 8B 45 48              -  mov rax,[r13+48]
"mgv.exe"+15D9488: F3 0F 11 88 30 08 00 00  -  movss [rax+00000830],xmm1
"mgv.exe"+15D9490: 49 8B 45 48              -  mov rax,[r13+48]
// ---------- INJECTING HERE ----------
"mgv.exe"+15D9494: F3 0F 10 98 34 08 00 00  -  movss xmm3,[rax+00000834]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15D949C: 0F 2E DC                 -  ucomiss xmm3,xmm4
"mgv.exe"+15D949F: 74 4B                    -  je mgv.exe+15D94EC
"mgv.exe"+15D94A1: 0F 2E 5F 70              -  ucomiss xmm3,[rdi+70]
"mgv.exe"+15D94A5: 74 45                    -  je mgv.exe+15D94EC
"mgv.exe"+15D94A7: 4C 8B C7                 -  mov r8,rdi
"mgv.exe"+15D94AA: 41 8B D7                 -  mov edx,r15d
"mgv.exe"+15D94AD: 49 8B CD                 -  mov rcx,r13
"mgv.exe"+15D94B0: E8 EB C6 FF FF           -  call mgv.exe+15D5BA0
"mgv.exe"+15D94B5: 48 8B 03                 -  mov rax,[rbx]
"mgv.exe"+15D94B8: BA 09 00 00 00           -  mov edx,00000009
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>31</ID>
              <Description>"Unlimited Thirst"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-03-15
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]


aobscanmodule(aobThirst,mgv.exe,F3 0F 10 98 38 08 00 00)
alloc(newmem,$100,aobThirst)

label(code)
label(return)

newmem:

code:
  mov [rax+00000838], (float)9999
  movss xmm3,[rax+00000838]
  jmp return

aobThirst:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(aobThirst)

[DISABLE]

aobThirst:
  db F3 0F 10 98 38 08 00 00

unregistersymbol(aobThirst)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15D94F0

"mgv.exe"+15D94C3: 49 8B 45 48              -  mov rax,[r13+48]
"mgv.exe"+15D94C7: 45 33 C9                 -  xor r9d,r9d
"mgv.exe"+15D94CA: F3 0F 10 57 70           -  movss xmm2,[rdi+70]
"mgv.exe"+15D94CF: 41 8D 51 09              -  lea edx,[r9+09]
"mgv.exe"+15D94D3: 48 8B CB                 -  mov rcx,rbx
"mgv.exe"+15D94D6: F3 0F 11 90 34 08 00 00  -  movss [rax+00000834],xmm2
"mgv.exe"+15D94DE: 48 8B 03                 -  mov rax,[rbx]
"mgv.exe"+15D94E1: FF 50 38                 -  call qword ptr [rax+38]
"mgv.exe"+15D94E4: F3 0F 10 25 A4 62 97 00  -  movss xmm4,[mgv.exe+1F4F790]
"mgv.exe"+15D94EC: 49 8B 45 48              -  mov rax,[r13+48]
// ---------- INJECTING HERE ----------
"mgv.exe"+15D94F0: F3 0F 10 98 38 08 00 00  -  movss xmm3,[rax+00000838]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15D94F8: 0F 2E DC                 -  ucomiss xmm3,xmm4
"mgv.exe"+15D94FB: 74 51                    -  je mgv.exe+15D954E
"mgv.exe"+15D94FD: 0F 2E 9F 80 00 00 00     -  ucomiss xmm3,[rdi+00000080]
"mgv.exe"+15D9504: 74 48                    -  je mgv.exe+15D954E
"mgv.exe"+15D9506: 4C 8B C7                 -  mov r8,rdi
"mgv.exe"+15D9509: 41 8B D7                 -  mov edx,r15d
"mgv.exe"+15D950C: 49 8B CD                 -  mov rcx,r13
"mgv.exe"+15D950F: E8 FC D4 FF FF           -  call mgv.exe+15D6A10
"mgv.exe"+15D9514: 48 8B 03                 -  mov rax,[rbx]
"mgv.exe"+15D9517: BA 0B 00 00 00           -  mov edx,0000000B
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>43</ID>
              <Description>"Unlimited Oxygen"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-03-15
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobOxygen,mgv.exe,F3 0F 10 88 3C 08 00 00)
alloc(newmem,$100,aobOxygen)

label(code)
label(return)

newmem:

code:
  mov [rax+0000083C], (float)100
  movss xmm1,[rax+0000083C]
  jmp return

aobOxygen:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(aobOxygen)

[DISABLE]

aobOxygen:
  db F3 0F 10 88 3C 08 00 00

unregistersymbol(aobOxygen)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15D9552

"mgv.exe"+15D9522: 49 8B 45 48              -  mov rax,[r13+48]
"mgv.exe"+15D9526: 45 33 C9                 -  xor r9d,r9d
"mgv.exe"+15D9529: F3 0F 10 97 80 00 00 00  -  movss xmm2,[rdi+00000080]
"mgv.exe"+15D9531: 41 8D 51 0B              -  lea edx,[r9+0B]
"mgv.exe"+15D9535: 48 8B CB                 -  mov rcx,rbx
"mgv.exe"+15D9538: F3 0F 11 90 38 08 00 00  -  movss [rax+00000838],xmm2
"mgv.exe"+15D9540: 48 8B 03                 -  mov rax,[rbx]
"mgv.exe"+15D9543: FF 50 38                 -  call qword ptr [rax+38]
"mgv.exe"+15D9546: F3 0F 10 25 42 62 97 00  -  movss xmm4,[mgv.exe+1F4F790]
"mgv.exe"+15D954E: 49 8B 45 48              -  mov rax,[r13+48]
// ---------- INJECTING HERE ----------
"mgv.exe"+15D9552: F3 0F 10 88 3C 08 00 00  -  movss xmm1,[rax+0000083C]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15D955A: 0F 2E CC                 -  ucomiss xmm1,xmm4
"mgv.exe"+15D955D: 74 3C                    -  je mgv.exe+15D959B
"mgv.exe"+15D955F: 0F 2E 8F 98 00 00 00     -  ucomiss xmm1,[rdi+00000098]
"mgv.exe"+15D9566: 74 33                    -  je mgv.exe+15D959B
"mgv.exe"+15D9568: 0F 2F CE                 -  comiss xmm1,xmm6
"mgv.exe"+15D956B: F3 0F 10 97 9C 00 00 00  -  movss xmm2,[rdi+0000009C]
"mgv.exe"+15D9573: 73 03                    -  jae mgv.exe+15D9578
"mgv.exe"+15D9575: 0F 28 CE                 -  movaps xmm1,xmm6
"mgv.exe"+15D9578: 0F 28 C2                 -  movaps xmm0,xmm2
"mgv.exe"+15D957B: F3 0F 5C C1              -  subss xmm0,xmm1
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>44</ID>
              <Description>"Ignore Fatigue"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-03-15
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobFatigue,mgv.exe,F3 0F 10 88 48 08 00 00)
alloc(newmem,$100,aobFatigue)

label(code)
label(return)

newmem:

code:
  mov [rax+00000848], (float)0
  movss xmm1,[rax+00000848]
  jmp return

aobFatigue:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(aobFatigue)

[DISABLE]

aobFatigue:
  db F3 0F 10 88 48 08 00 00

unregistersymbol(aobFatigue)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+15D959F

"mgv.exe"+15D9575: 0F 28 CE                 -  movaps xmm1,xmm6
"mgv.exe"+15D9578: 0F 28 C2                 -  movaps xmm0,xmm2
"mgv.exe"+15D957B: F3 0F 5C C1              -  subss xmm0,xmm1
"mgv.exe"+15D957F: 0F 2F C6                 -  comiss xmm0,xmm6
"mgv.exe"+15D9582: 73 03                    -  jae mgv.exe+15D9587
"mgv.exe"+15D9584: 0F 28 CA                 -  movaps xmm1,xmm2
"mgv.exe"+15D9587: F3 0F 11 8F 98 00 00 00  -  movss [rdi+00000098],xmm1
"mgv.exe"+15D958F: 49 8B 45 48              -  mov rax,[r13+48]
"mgv.exe"+15D9593: F3 0F 11 88 3C 08 00 00  -  movss [rax+0000083C],xmm1
"mgv.exe"+15D959B: 49 8B 45 48              -  mov rax,[r13+48]
// ---------- INJECTING HERE ----------
"mgv.exe"+15D959F: F3 0F 10 88 48 08 00 00  -  movss xmm1,[rax+00000848]
// ---------- DONE INJECTING  ----------
"mgv.exe"+15D95A7: 0F 2E CC                 -  ucomiss xmm1,xmm4
"mgv.exe"+15D95AA: 74 3E                    -  je mgv.exe+15D95EA
"mgv.exe"+15D95AC: 0F 2E 8F A4 00 00 00     -  ucomiss xmm1,[rdi+000000A4]
"mgv.exe"+15D95B3: 74 35                    -  je mgv.exe+15D95EA
"mgv.exe"+15D95B5: 0F 2F CE                 -  comiss xmm1,xmm6
"mgv.exe"+15D95B8: 73 03                    -  jae mgv.exe+15D95BD
"mgv.exe"+15D95BA: 0F 28 CE                 -  movaps xmm1,xmm6
"mgv.exe"+15D95BD: F3 0F 10 3D B3 31 BC 00  -  movss xmm7,[mgv.exe+219C778]
"mgv.exe"+15D95C5: 0F 28 C7                 -  movaps xmm0,xmm7
"mgv.exe"+15D95C8: F3 0F 5C C1              -  subss xmm0,xmm1
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>277</ID>
              <Description>"Remove AI Collision"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-04-21
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobGadgetDurability,mgv.exe,40 55 56 57 41 54 41 55 41 56 41 57 48 81 EC B0 02)
registersymbol(aobGadgetDurability)

aobGadgetDurability:
  ret

[DISABLE]

aobGadgetDurability:
  db 40 55 56 57 41 54

unregistersymbol(aobGadgetDurability)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+1A36440

"mgv.exe"+1A36436: CC                                   -  int 3 
"mgv.exe"+1A36437: CC                                   -  int 3 
"mgv.exe"+1A36438: CC                                   -  int 3 
"mgv.exe"+1A36439: CC                                   -  int 3 
"mgv.exe"+1A3643A: CC                                   -  int 3 
"mgv.exe"+1A3643B: CC                                   -  int 3 
"mgv.exe"+1A3643C: CC                                   -  int 3 
"mgv.exe"+1A3643D: CC                                   -  int 3 
"mgv.exe"+1A3643E: CC                                   -  int 3 
"mgv.exe"+1A3643F: CC                                   -  int 3 
// ---------- INJECTING HERE ----------
"mgv.exe"+1A36440: 40 55                                -  push rbp
"mgv.exe"+1A36442: 56                                   -  push rsi
"mgv.exe"+1A36443: 57                                   -  push rdi
"mgv.exe"+1A36444: 41 54                                -  push r12
// ---------- DONE INJECTING  ----------
"mgv.exe"+1A36446: 41 55                                -  push r13
"mgv.exe"+1A36448: 41 56                                -  push r14
"mgv.exe"+1A3644A: 41 57                                -  push r15
"mgv.exe"+1A3644C: 48 81 EC B0 02 00 00                 -  sub rsp,000002B0
"mgv.exe"+1A36453: 48 C7 84 24 A8 02 00 00 FE FF FF FF  -  mov [rsp+000002A8],FFFFFFFE
"mgv.exe"+1A3645F: 48 89 9C 24 F0 02 00 00              -  mov [rsp+000002F0],rbx
"mgv.exe"+1A36467: 48 8D AC 24 A0 00 00 00              -  lea rbp,[rsp+000000A0]
"mgv.exe"+1A3646F: 48 83 E5 80                          -  and rbp,-80
"mgv.exe"+1A36473: 48 8B 05 06 92 02 01                 -  mov rax,[mgv.exe+2A5F680]
"mgv.exe"+1A3647A: 48 33 C4                             -  xor rax,rsp
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"[Pointers]"</Description>
              <Options moHideChildren="1"/>
              <LastState Value="" RealAddress="00000000"/>
              <Color>000080</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>1</ID>
                  <Description>"Health"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>mgv.exe+2C7FB60</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>0</ID>
                  <Description>"Stamina"</Description>
                  <VariableType>Float</VariableType>
                  <Address>mgv.exe+2C7FB90</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>45</ID>
                  <Description>"Hunger"</Description>
                  <VariableType>Float</VariableType>
                  <Address>mgv.exe+2C7FB94</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>46</ID>
                  <Description>"Thirst"</Description>
                  <VariableType>Float</VariableType>
                  <Address>mgv.exe+2C7FB98</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>201</ID>
                  <Description>"Oxygen"</Description>
                  <VariableType>Float</VariableType>
                  <Address>mgv.exe+2C7FB9C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>42</ID>
                  <Description>"Fatigue"</Description>
                  <VariableType>Float</VariableType>
                  <Address>mgv.exe+2C7FBA8</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>35</ID>
          <Description>"[Inventory]"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>
          <LastState/>
          <Color>000080</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-04-27
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobKubanEnergy,mgv.exe,8B 81 10 0B 00 00 C3)
alloc(newmem,$100,aobKubanEnergy)

label(code)
label(return)
label(ptrBaseKE)
label(setKubanEnergy)

newmem:
  cmp [setKubanEnergy], 0
  je @f
  mov [rcx+00000B10], #999999999

code:
  push rbx
  mov rbx, ptrBaseKE
  mov [rbx], rcx
  pop rbx

  mov eax,[rcx+00000B10]
  jmp return

ptrBaseKE:
  dq 0

setKubanEnergy:
  dd 0

aobKubanEnergy:
  jmp newmem
  nop
return:
registersymbol(aobKubanEnergy)
registersymbol(ptrBaseKE)
registersymbol(setKubanEnergy)

[DISABLE]

aobKubanEnergy:
  db 8B 81 10 0B 00 00

unregistersymbol(aobKubanEnergy)
unregistersymbol(ptrBaseKE)
unregistersymbol(setKubanEnergy)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+105DFE0

"mgv.exe"+105DFD6: CC                    -  int 3
"mgv.exe"+105DFD7: CC                    -  int 3
"mgv.exe"+105DFD8: CC                    -  int 3
"mgv.exe"+105DFD9: CC                    -  int 3
"mgv.exe"+105DFDA: CC                    -  int 3
"mgv.exe"+105DFDB: CC                    -  int 3
"mgv.exe"+105DFDC: CC                    -  int 3
"mgv.exe"+105DFDD: CC                    -  int 3
"mgv.exe"+105DFDE: CC                    -  int 3
"mgv.exe"+105DFDF: CC                    -  int 3
// ---------- INJECTING HERE ----------
"mgv.exe"+105DFE0: 8B 81 10 0B 00 00     -  mov eax,[rcx+00000B10]
// ---------- DONE INJECTING  ----------
"mgv.exe"+105DFE6: C3                    -  ret
"mgv.exe"+105DFE7: CC                    -  int 3
"mgv.exe"+105DFE8: CC                    -  int 3
"mgv.exe"+105DFE9: CC                    -  int 3
"mgv.exe"+105DFEA: CC                    -  int 3
"mgv.exe"+105DFEB: CC                    -  int 3
"mgv.exe"+105DFEC: CC                    -  int 3
"mgv.exe"+105DFED: CC                    -  int 3
"mgv.exe"+105DFEE: CC                    -  int 3
"mgv.exe"+105DFEF: CC                    -  int 3
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>284</ID>
              <Description>"Unlimited Kuban Energy"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
setKubanEnergy:
  dd 1

[DISABLE]
setKubanEnergy:
  dd 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>228</ID>
              <Description>"Unlimited Gadgets Use"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-04-18
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobGadget,mgv.exe,66 89 59 0A 74 77)
registersymbol(aobGadget)

aobGadget:
  db 90 90 90 90

[DISABLE]

aobGadget:
  db 66 89 59 0A 74 77

unregistersymbol(aobGadget)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+107F5A6

"mgv.exe"+107F57A: 0F B7 85 AA 00 00 00     -  movzx eax,word ptr [rbp+000000AA]
"mgv.exe"+107F581: 44 8D 4F FA              -  lea r9d,[rdi-06]
"mgv.exe"+107F585: 41 8B C9                 -  mov ecx,r9d
"mgv.exe"+107F588: 48 83 C1 0F              -  add rcx,0F
"mgv.exe"+107F58C: 48 C1 E1 04              -  shl rcx,04
"mgv.exe"+107F590: 49 03 CC                 -  add rcx,r12
"mgv.exe"+107F593: F6 41 0F 01              -  test byte ptr [rcx+0F],01
"mgv.exe"+107F597: 44 0F B7 41 0C           -  movzx r8d,word ptr [rcx+0C]
"mgv.exe"+107F59C: 8B 39                    -  mov edi,[rcx]
"mgv.exe"+107F59E: 66 44 89 85 A8 00 00 00  -  mov [rbp+000000A8],r8w
// ---------- INJECTING HERE ----------
"mgv.exe"+107F5A6: 66 89 59 0A              -  mov [rcx+0A],bx
"mgv.exe"+107F5AA: 74 77                    -  je mgv.exe+107F623
// ---------- DONE INJECTING  ----------
"mgv.exe"+107F5AC: BA 1D F8 00 00           -  mov edx,0000F81D
"mgv.exe"+107F5B1: 66 23 C2                 -  and ax,dx
"mgv.exe"+107F5B4: 66 83 C8 1D              -  or ax,1D
"mgv.exe"+107F5B8: 66 89 85 AA 00 00 00     -  mov [rbp+000000AA],ax
"mgv.exe"+107F5BF: A8 01                    -  test al,01
"mgv.exe"+107F5C1: 74 06                    -  je mgv.exe+107F5C9
"mgv.exe"+107F5C3: 66 45 3B C6              -  cmp r8w,r14w
"mgv.exe"+107F5C7: 75 77                    -  jne mgv.exe+107F640
"mgv.exe"+107F5C9: 33 C0                    -  xor eax,eax
"mgv.exe"+107F5CB: 8B D0                    -  mov edx,eax
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2</ID>
              <Description>"Unlimited Cases"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-04-21
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobCases,mgv.exe,41 0F B6 44 89 08 C3)
alloc(newmem,$100,aobCases)

label(code)
label(return)

newmem:

code:
  mov byte ptr [r9+rcx*4+08], #150
  movzx eax,byte ptr [r9+rcx*4+08]
  jmp return

aobCases:
  jmp newmem
  nop
return:
registersymbol(aobCases)

[DISABLE]

aobCases:
  db 41 0F B6 44 89 08

unregistersymbol(aobCases)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+106087D

"mgv.exe"+1060864: 49 8B C9              -  mov rcx,r9
"mgv.exe"+1060867: 44 39 01              -  cmp [rcx],r8d
"mgv.exe"+106086A: 74 0D                 -  je mgv.exe+1060879
"mgv.exe"+106086C: FF C0                 -  inc eax
"mgv.exe"+106086E: 48 83 C1 0C           -  add rcx,0C
"mgv.exe"+1060872: 3B C2                 -  cmp eax,edx
"mgv.exe"+1060874: 72 F1                 -  jb mgv.exe+1060867
"mgv.exe"+1060876: 33 C0                 -  xor eax,eax
"mgv.exe"+1060878: C3                    -  ret
"mgv.exe"+1060879: 48 8D 0C 40           -  lea rcx,[rax+rax*2]
// ---------- INJECTING HERE ----------
"mgv.exe"+106087D: 41 0F B6 44 89 08     -  movzx eax,byte ptr [r9+rcx*4+08]
// ---------- DONE INJECTING  ----------
"mgv.exe"+1060883: C3                    -  ret
"mgv.exe"+1060884: CC                    -  int 3
"mgv.exe"+1060885: CC                    -  int 3
"mgv.exe"+1060886: CC                    -  int 3
"mgv.exe"+1060887: CC                    -  int 3
"mgv.exe"+1060888: CC                    -  int 3
"mgv.exe"+1060889: CC                    -  int 3
"mgv.exe"+106088A: CC                    -  int 3
"mgv.exe"+106088B: CC                    -  int 3
"mgv.exe"+106088C: CC                    -  int 3
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>244</ID>
              <Description>"Unlimited Materials"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-04-27
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobStorehouse,mgv.exe,0F B7 43 08 89 46 4C 0F B6 4B)
alloc(newmem,$100,aobStorehouse)

label(code)
label(return)

newmem:

code:
  mov word ptr [rbx+08], #5000
  movzx eax,word ptr [rbx+08]
  mov [rsi+4C],eax
  jmp return

aobStorehouse:
  jmp newmem
  nop
  nop
return:
registersymbol(aobStorehouse)

[DISABLE]

aobStorehouse:
  db 0F B7 43 08 89 46 4C

unregistersymbol(aobStorehouse)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+1054619

"mgv.exe"+10545F3: 48 C1 E3 04              -  shl rbx,04
"mgv.exe"+10545F7: 49 03 59 08              -  add rbx,[r9+08]
"mgv.exe"+10545FB: 8B 13                    -  mov edx,[rbx]
"mgv.exe"+10545FD: E8 0E 50 98 FF           -  call mgv.exe+9D9610
"mgv.exe"+1054602: 48 85 C0                 -  test rax,rax
"mgv.exe"+1054605: 0F 84 80 04 00 00        -  je mgv.exe+1054A8B
"mgv.exe"+105460B: 4C 8B C6                 -  mov r8,rsi
"mgv.exe"+105460E: 48 8B D0                 -  mov rdx,rax
"mgv.exe"+1054611: 48 8B CD                 -  mov rcx,rbp
"mgv.exe"+1054614: E8 27 FB 01 00           -  call mgv.exe+1074140
// ---------- INJECTING HERE ----------
"mgv.exe"+1054619: 0F B7 43 08              -  movzx eax,word ptr [rbx+08]
"mgv.exe"+105461D: 89 46 4C                 -  mov [rsi+4C],eax
// ---------- DONE INJECTING  ----------
"mgv.exe"+1054620: 0F B6 4B 0C              -  movzx ecx,byte ptr [rbx+0C]
"mgv.exe"+1054624: 0F B6 46 74              -  movzx eax,byte ptr [rsi+74]
"mgv.exe"+1054628: 80 E1 01                 -  and cl,01
"mgv.exe"+105462B: 24 FE                    -  and al,-02
"mgv.exe"+105462D: 0A C8                    -  or cl,al
"mgv.exe"+105462F: 80 C9 80                 -  or cl,-80
"mgv.exe"+1054632: 88 4E 74                 -  mov [rsi+74],cl
"mgv.exe"+1054635: E9 C1 02 00 00           -  jmp mgv.exe+10548FB
"mgv.exe"+105463A: 0F B7 54 24 72           -  movzx edx,word ptr [rsp+72]
"mgv.exe"+105463F: B9 FF FF 00 00           -  mov ecx,0000FFFF
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>216</ID>
              <Description>"Ignore Weight"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-03-15
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobWeight,mgv.exe,8B 40 44 03 91 34 0C 00 00)
alloc(newmem,$100,aobWeight)

label(code)
label(return)

newmem:

code:
  mov [rax+44], #0
  mov eax,[rax+44]
  add edx,[rcx+00000C34]
  jmp return

aobWeight:
  jmp newmem
  nop
  nop
  nop
  nop
return:
registersymbol(aobWeight)

[DISABLE]

aobWeight:
  db 8B 40 44 03 91 34 0C 00 00

unregistersymbol(aobWeight)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+10623A3

"mgv.exe"+106238A: 5E                       -  pop rsi
"mgv.exe"+106238B: 5D                       -  pop rbp
"mgv.exe"+106238C: 5B                       -  pop rbx
"mgv.exe"+106238D: C3                       -  ret 
"mgv.exe"+106238E: CC                       -  int 3 
"mgv.exe"+106238F: CC                       -  int 3 
"mgv.exe"+1062390: 8B 91 2C 0C 00 00        -  mov edx,[rcx+00000C2C]
"mgv.exe"+1062396: 48 8B 41 18              -  mov rax,[rcx+18]
"mgv.exe"+106239A: 4C 8B C1                 -  mov r8,rcx
"mgv.exe"+106239D: 03 91 28 0C 00 00        -  add edx,[rcx+00000C28]
// ---------- INJECTING HERE ----------
"mgv.exe"+10623A3: 8B 40 44                 -  mov eax,[rax+44]
"mgv.exe"+10623A6: 03 91 24 0C 00 00        -  add edx,[rcx+00000C24]
// ---------- DONE INJECTING  ----------
"mgv.exe"+10623AC: 03 91 20 0C 00 00        -  add edx,[rcx+00000C20]
"mgv.exe"+10623B2: 03 91 1C 0C 00 00        -  add edx,[rcx+00000C1C]
"mgv.exe"+10623B8: 03 91 18 0C 00 00        -  add edx,[rcx+00000C18]
"mgv.exe"+10623BE: 8B 89 54 0D 00 00        -  mov ecx,[rcx+00000D54]
"mgv.exe"+10623C4: 41 03 88 50 0D 00 00     -  add ecx,[r8+00000D50]
"mgv.exe"+10623CB: 03 C2                    -  add eax,edx
"mgv.exe"+10623CD: 41 03 88 4C 0D 00 00     -  add ecx,[r8+00000D4C]
"mgv.exe"+10623D4: 41 03 88 48 0D 00 00     -  add ecx,[r8+00000D48]
"mgv.exe"+10623DB: 41 03 88 44 0D 00 00     -  add ecx,[r8+00000D44]
"mgv.exe"+10623E2: 03 C1                    -  add eax,ecx
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>209</ID>
              <Description>"[Pointers]"</Description>
              <Options moHideChildren="1"/>
              <LastState Value="" RealAddress="00000000"/>
              <Color>000080</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>207</ID>
                  <Description>"Base Address"</Description>
                  <Options moManualExpandCollapse="1"/>
                  <LastState RealAddress="00000000"/>
                  <VariableType>String</VariableType>
                  <Length>0</Length>
                  <Unicode>0</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>ptrBaseKE</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>206</ID>
                      <Description>"Kuban Energy"</Description>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+B10</Address>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>249</ID>
          <Description>"[Weapon]"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>
          <LastState/>
          <Color>000080</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-04-18
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscan(aobDurability,8B 42 04 41 83 C8 FF)
alloc(newmem,$100,aobDurability)

label(code)
label(return)
label(ptrBaseEquipped)
label(setDurability)
label(setAttack)

newmem:
  cmp [setDurability], 0
  je @f
  fild [rdx+08]
  fistp [rdx+04]

@@:
  cmp [setAttack], 0
  je @f
  mov [rdx+10], #10000

code:
  push rbx
  mov rbx, ptrBaseEquipped
  mov [rbx], rdx
  pop rbx

  mov eax,[rdx+04]
  or r8d,-01
  jmp return

ptrBaseEquipped:
  dq 0

setDurability:
  dd 0

setAttack:
  dd 0

aobDurability:
  jmp newmem
  nop
  nop
return:
registersymbol(aobDurability)
registersymbol(ptrBaseEquipped)
registersymbol(setDurability)
registersymbol(setAttack)

[DISABLE]

aobDurability:
  db 8B 42 04 41 83 C8 FF

unregistersymbol(aobDurability)
unregistersymbol(ptrBaseEquipped)
unregistersymbol(setDurability)
unregistersymbol(setAttack)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 7FF75A1E0056

7FF75A1E002A: C7 42 10 3F 42 0F 00           -  mov [rdx+10],000F423F
7FF75A1E0031: 83 3D 43 00 00 00 00           -  cmp dword ptr [ResetAttack],00
7FF75A1E0038: 74 15                          -  je 7FF75A1E004F
7FF75A1E003A: 90                             -  nop 
7FF75A1E003B: 90                             -  nop 
7FF75A1E003C: 90                             -  nop 
7FF75A1E003D: 90                             -  nop 
7FF75A1E003E: C7 05 33 00 00 00 00 00 00 00  -  mov [ResetAttack],00000000
7FF75A1E0048: C7 42 10 E8 03 00 00           -  mov [rdx+10],000003E8
7FF75A1E004F: 48 89 15 15 00 00 00           -  mov [ptrBaseWeaponStats],rdx
// ---------- INJECTING HERE ----------
7FF75A1E0056: 8B 42 04                       -  mov eax,[rdx+04]
7FF75A1E0059: 41 83 C8 FF                    -  or r8d,-01
// ---------- DONE INJECTING  ----------
7FF75A1E005D: E9 7F 05 10 01                 -  jmp mgv.exe+10F05E1
7FF75A1E0062: 90                             -  nop 
7FF75A1E0063: 90                             -  nop 
7FF75A1E0064: 90                             -  nop 
7FF75A1E0065: 90                             -  nop 
7FF75A1E0066: 90                             -  nop 
7FF75A1E0067: 90                             -  nop 
7FF75A1E0068: 90                             -  nop 
7FF75A1E0069: 90                             -  nop 
7FF75A1E006A: 90                             -  nop 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>285</ID>
              <Description>"Unlimited Durability"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
setDurability:
  dd 1

[DISABLE]
setDurability:
  dd 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>282</ID>
              <Description>"Unlimited Ammo"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version:
  Date   : 2018-04-27
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobAmmo,mgv.exe,0F B7 81 B2 00 00 00)
alloc(newmem,$100,aobAmmo)

label(code)
label(return)

newmem:

code:
  mov word ptr [rcx+000000B2], #99
  movzx eax,word ptr [rcx+000000B2]
  jmp return

aobAmmo:
  jmp newmem
  nop
  nop
return:
registersymbol(aobAmmo)

[DISABLE]

aobAmmo:
  db 0F B7 81 B2 00 00 00

unregistersymbol(aobAmmo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+105CD4F

"mgv.exe"+105CD23: 39 91 88 00 00 00        -  cmp [rcx+00000088],edx
"mgv.exe"+105CD29: 75 0A                    -  jne mgv.exe+105CD35
"mgv.exe"+105CD2B: 0F B7 81 92 00 00 00     -  movzx eax,word ptr [rcx+00000092]
"mgv.exe"+105CD32: 44 03 C0                 -  add r8d,eax
"mgv.exe"+105CD35: 39 91 98 00 00 00        -  cmp [rcx+00000098],edx
"mgv.exe"+105CD3B: 75 0A                    -  jne mgv.exe+105CD47
"mgv.exe"+105CD3D: 0F B7 81 A2 00 00 00     -  movzx eax,word ptr [rcx+000000A2]
"mgv.exe"+105CD44: 44 03 C0                 -  add r8d,eax
"mgv.exe"+105CD47: 39 91 A8 00 00 00        -  cmp [rcx+000000A8],edx
"mgv.exe"+105CD4D: 75 0A                    -  jne mgv.exe+105CD59
// ---------- INJECTING HERE ----------
"mgv.exe"+105CD4F: 0F B7 81 B2 00 00 00     -  movzx eax,word ptr [rcx+000000B2]
// ---------- DONE INJECTING  ----------
"mgv.exe"+105CD56: 44 03 C0                 -  add r8d,eax
"mgv.exe"+105CD59: 39 91 B8 00 00 00        -  cmp [rcx+000000B8],edx
"mgv.exe"+105CD5F: 75 0A                    -  jne mgv.exe+105CD6B
"mgv.exe"+105CD61: 0F B7 89 C2 00 00 00     -  movzx ecx,word ptr [rcx+000000C2]
"mgv.exe"+105CD68: 44 03 C1                 -  add r8d,ecx
"mgv.exe"+105CD6B: 41 39 91 C8 00 00 00     -  cmp [r9+000000C8],edx
"mgv.exe"+105CD72: 75 0C                    -  jne mgv.exe+105CD80
"mgv.exe"+105CD74: 41 0F B7 81 D2 00 00 00  -  movzx eax,word ptr [r9+000000D2]
"mgv.exe"+105CD7C: 41 03 C0                 -  add eax,r8d
"mgv.exe"+105CD7F: C3                       -  ret
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>291</ID>
              <Description>"No Reload"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-04-27
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobNoReload,mgv.exe,66 89 57 22 2B F0)
alloc(newmem,$100,aobNoReload)

label(code)
label(return)

newmem:

code:
  mov dx, #99
  mov [rdi+22],dx
  sub esi,eax
  jmp return

aobNoReload:
  jmp newmem
  nop
return:
registersymbol(aobNoReload)

[DISABLE]

aobNoReload:
  db 66 89 57 22 2B F0

unregistersymbol(aobNoReload)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+10736BE

"mgv.exe"+1073692: 0F 85 74 01 00 00        -  jne mgv.exe+107380C
"mgv.exe"+1073698: 49 89 73 10              -  mov [r11+10],rsi
"mgv.exe"+107369C: 49 89 7B E8              -  mov [r11-18],rdi
"mgv.exe"+10736A0: C6 82 51 04 00 00 01     -  mov byte ptr [rdx+00000451],01
"mgv.exe"+10736A7: 49 8B FE                 -  mov rdi,r14
"mgv.exe"+10736AA: 48 C1 E7 04              -  shl rdi,04
"mgv.exe"+10736AE: 48 03 FA                 -  add rdi,rdx
"mgv.exe"+10736B1: 8B 94 24 90 00 00 00     -  mov edx,[rsp+00000090]
"mgv.exe"+10736B8: 0F B7 47 22              -  movzx eax,word ptr [rdi+22]
"mgv.exe"+10736BC: 8B F2                    -  mov esi,edx
// ---------- INJECTING HERE ----------
"mgv.exe"+10736BE: 66 89 57 22              -  mov [rdi+22],dx
"mgv.exe"+10736C2: 2B F0                    -  sub esi,eax
// ---------- DONE INJECTING  ----------
"mgv.exe"+10736C4: 45 84 C0                 -  test r8l,r8l
"mgv.exe"+10736C7: 0F 84 35 01 00 00        -  je mgv.exe+1073802
"mgv.exe"+10736CD: F6 47 27 01              -  test byte ptr [rdi+27],01
"mgv.exe"+10736D1: 0F B7 4F 24              -  movzx ecx,word ptr [rdi+24]
"mgv.exe"+10736D5: 41 0F B7 43 22           -  movzx eax,word ptr [r11+22]
"mgv.exe"+10736DA: 66 41 89 4B 20           -  mov [r11+20],cx
"mgv.exe"+10736DF: 49 89 5B 08              -  mov [r11+08],rbx
"mgv.exe"+10736E3: 74 76                    -  je mgv.exe+107375B
"mgv.exe"+10736E5: BA 1D F8 00 00           -  mov edx,0000F81D
"mgv.exe"+10736EA: 66 23 C2                 -  and ax,dx
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>286</ID>
              <Description>"Super Attack"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
setAttack:
  dd 1

[DISABLE]
setAttack:
  dd 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>257</ID>
              <Description>"[Pointers]"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <LastState Value="" RealAddress="00000000"/>
              <Color>000080</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>250</ID>
                  <Description>"Base Address"</Description>
                  <Options moHideChildren="1" moManualExpandCollapse="1"/>
                  <LastState RealAddress="00000000"/>
                  <VariableType>String</VariableType>
                  <Length>0</Length>
                  <Unicode>0</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>ptrBaseEquipped</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>251</ID>
                      <Description>"Durability"</Description>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+4</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>252</ID>
                      <Description>"Max Durability"</Description>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+8</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>253</ID>
                      <Description>"??"</Description>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+C</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>254</ID>
                      <Description>"Attack"</Description>
                      <VariableType>4 Bytes</VariableType>
                      <Address>+10</Address>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>263</ID>
          <Description>"[Gear]"</Description>
          <Options moHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>
          <LastState/>
          <Color>000080</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : mgv.exe
  Version: 
  Date   : 2018-04-18
  Author : Kalas

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aobGear,mgv.exe,8B 43 04 0F 57 C9)
alloc(newmem,$100,aobGear)

label(code)
label(return)
label(setDefense)
label(setDurabilityGear)

newmem:
  cmp [setDefense], 0
  je @f
  mov [rbx+10], 999999999

@@:
  cmp [setDurabilityGear], 0
  je @f
  fild [rbx+08]
  fistp [rbx+04]

code:
  mov eax,[rbx+04]
  xorps xmm1,xmm1
  jmp return

setDefense:
  dd 0

setDurabilityGear:
  dd 0

aobGear:
  jmp newmem
  nop
return:
registersymbol(aobGear)
registersymbol(setDefense)
registersymbol(setDurabilityGear)

[DISABLE]

aobGear:
  db 8B 43 04 0F 57 C9

unregistersymbol(aobGear)
unregistersymbol(setDefense)
unregistersymbol(setDurabilityGear)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgv.exe"+106FE56

"mgv.exe"+106FE34: 49 8B 06              -  mov rax,[r14]
"mgv.exe"+106FE37: 41 83 C8 FF           -  or r8d,-01
"mgv.exe"+106FE3B: 48 8B D3              -  mov rdx,rbx
"mgv.exe"+106FE3E: 49 8B CE              -  mov rcx,r14
"mgv.exe"+106FE41: FF 90 40 04 00 00     -  call qword ptr [rax+00000440]
"mgv.exe"+106FE47: 8B C0                 -  mov eax,eax
"mgv.exe"+106FE49: 0F 57 C0              -  xorps xmm0,xmm0
"mgv.exe"+106FE4C: F3 48 0F 2A C0        -  cvtsi2ss xmm0,rax
"mgv.exe"+106FE51: 0F 2F C7              -  comiss xmm0,xmm7
"mgv.exe"+106FE54: 76 35                 -  jna mgv.exe+106FE8B
// ---------- INJECTING HERE ----------
"mgv.exe"+106FE56: 8B 43 04              -  mov eax,[rbx+04]
"mgv.exe"+106FE59: 0F 57 C9              -  xorps xmm1,xmm1
// ---------- DONE INJECTING  ----------
"mgv.exe"+106FE5C: F3 48 0F 2A C8        -  cvtsi2ss xmm1,rax
"mgv.exe"+106FE61: F3 0F 5E C8           -  divss xmm1,xmm0
"mgv.exe"+106FE65: 0F 2F CF              -  comiss xmm1,xmm7
"mgv.exe"+106FE68: 73 03                 -  jae mgv.exe+106FE6D
"mgv.exe"+106FE6A: 0F 28 CF              -  movaps xmm1,xmm7
"mgv.exe"+106FE6D: 41 0F 28 C0           -  movaps xmm0,xmm8
"mgv.exe"+106FE71: F3 0F 5C C1           -  subss xmm0,xmm1
"mgv.exe"+106FE75: 0F 2F C7              -  comiss xmm0,xmm7
"mgv.exe"+106FE78: 73 14                 -  jae mgv.exe+106FE8E
"mgv.exe"+106FE7A: 41 0F 28 C8           -  movaps xmm1,xmm8
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>292</ID>
              <Description>"Unlimited Durability"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
setDefense:
  dd 1

[DISABLE]
setDefense:
  dd 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>293</ID>
              <Description>"Super Defense"</Description>
              <LastState/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
setDurabilityGear:
  dd 1

[DISABLE]
setDurabilityGear:
  dd 0
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
Attachments
Metal Gear Survive.CT
Metal Gear Survive Single Player CT needs update
(46.41 KiB) Downloaded 64 times

Post Reply

Who is online

Users browsing this forum: No registered users