Page 5 of 6

Re: The Surge

Posted: Tue Jan 08, 2019 12:39 am
by Gvaz
I am also interested in this

Re: The Surge

Posted: Mon Feb 04, 2019 12:46 pm
by Danger_D
Any news jet?

BTW: searching for "The Surge" shows some strange behavior in the forum...
When i type "The Surge" or just "Surge" into search, I'll get an endless pending icon with no search results ever appearing. Anything else (linke "Frostpunk") works as usual. Tested with Firefox and Opera on 2 different laptops each...

Re: The Surge

Posted: Sat Apr 13, 2019 11:39 pm
by ashuraman
I'm going to assume this doesn't work with update 15. Am i correct?

Re: The Surge

Posted: Sun Apr 14, 2019 2:19 am
by Gakkajj
only the unlimited health stamina energy works. I would like an updated table with all the effects working but those three do help.

Re: The Surge

Posted: Thu May 02, 2019 6:49 pm
by Vena
Hi all,

I am trying to update the table by @Zanzer for the Minimum Health, but I admit I am over my head.
Anyone can point me to a quick tutorial on how I can update the player pointer/base address and how find the correct address?

V

Re: The Surge

Posted: Thu May 02, 2019 7:10 pm
by Vena
Freeze Max xxx all work fine, but the "Get pointer (->play)" does not do anything. I can not activate it (i assume activating it will run a script to try to locate the base address).

Thanks, for any help in advance,
V

Re: The Surge

Posted: Mon May 06, 2019 8:18 am
by Vena
After some cut and paste from multiple tables, I managed to get one fully working with my Origin copy (CreoTech.Exosoft v12.991 | TheSurge.exe 21-11-1018 10:10)

I am still not able to edit the components since the sig used to located has changed. I will keep playing around with it, and I post it here if I mange to fix that.

NONE of the work in these cheat tables is mine, all I did was grab them from multiple sources and reorganized it. So my thanks to the people that actually did the work.

V

Re: The Surge

Posted: Fri May 24, 2019 11:28 pm
by LeTroglodyte
Thanks for your work, Vena. It's working great on Steam.
Hope you'll find how to edit the components !

I don't know the tariff, but I'm ready to give money for a free cam and the possibility to choose the NG+.

Re: The Surge

Posted: Mon May 27, 2019 10:39 am
by Danger_D
Thanks for the update, it works great with Steam Version and all DLC activated.

The only thing I could not get to work is "Infinite Componentes". But its not realy a problem as you can easily farm enough to hack them manually...

Re: The Surge

Posted: Tue Jul 09, 2019 1:16 pm
by chrisreddot3
update pls

Re: The Surge

Posted: Wed Jul 10, 2019 11:38 pm
by chrisreddot3
Kalas wrote:
Tue May 16, 2017 11:33 am
..
Pls update for last steam version

Re: The Surge

Posted: Fri Jul 12, 2019 3:41 am
by Zanzer
I've updated my table. Not sure if it works with all the DLC (I have none).

Re: The Surge

Posted: Thu Jul 25, 2019 11:36 pm
by Chronix
Hey any word on the item swapping or something of that kind?

Re: The Surge

Posted: Fri Aug 30, 2019 9:42 am
by delukard
any trainer for windows 10 version?

Re: The Surge

Posted: Mon Oct 07, 2019 2:12 am
by fearless123456
Rudimentary Item Swapper
Note: only works in implants and gear screens. Tested on patch 15 only.

0. Make a backup of your savegame!!!!!
1. Mouse over an item you want to duplicate
2. Note down their ID pointer (this changes each time you reload the game)
3. Mouse over an item you don't want
4. Change their ID to an item you want (you can change gears into implants, weapons etc and vice versa)

If you want to get the rest of item IDs
1. Enable Get Item Array
2. Right Click on Item 0 and select browse memory region
3. Make sure to display as 8 byte hex (Ctrl+7) for easy viewing and copying

Tips:
- The ID pointer for an implant's next version is usually next to or near it in the array
- Be careful adding quest items (might break your game)
- DLC items are usually near the end of the array
- Some ID pointers don't work and will crash your game
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>156</ID>
      <Description>"Get Item Id (Mouse Over)"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : TheSurge.exe
  Version: 
  Date   : 2019-10-06
  Author : 0

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,TheSurge.exe,48 8B 41 48 48 85 C0 74 05) // should be unique
alloc(newmem,$1000,"TheSurge.exe"+3B93C0)
globalalloc(item1,4)

label(code)
label(return)

newmem:

code:
 mov rax,item1
 mov [rax],rcx


  mov rax,[rcx+48]
  test rax,rax
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 48 8B 41 48 48 85 C0

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "TheSurge.exe"+3B93C0

"TheSurge.exe"+3B93B6: CC                       -  int 3 
"TheSurge.exe"+3B93B7: CC                       -  int 3 
"TheSurge.exe"+3B93B8: CC                       -  int 3 
"TheSurge.exe"+3B93B9: CC                       -  int 3 
"TheSurge.exe"+3B93BA: CC                       -  int 3 
"TheSurge.exe"+3B93BB: CC                       -  int 3 
"TheSurge.exe"+3B93BC: CC                       -  int 3 
"TheSurge.exe"+3B93BD: CC                       -  int 3 
"TheSurge.exe"+3B93BE: CC                       -  int 3 
"TheSurge.exe"+3B93BF: CC                       -  int 3 
// ---------- INJECTING HERE ----------
"TheSurge.exe"+3B93C0: 48 8B 41 48              -  mov rax,[rcx+48]
"TheSurge.exe"+3B93C4: 48 85 C0                 -  test rax,rax
// ---------- DONE INJECTING  ----------
"TheSurge.exe"+3B93C7: 74 05                    -  je TheSurge.exe+3B93CE
"TheSurge.exe"+3B93C9: 48 83 C0 28              -  add rax,28
"TheSurge.exe"+3B93CD: C3                       -  ret 
"TheSurge.exe"+3B93CE: 48 8D 05 A7 80 E3 13     -  lea rax,[TheSurge.exe+141F147C]
"TheSurge.exe"+3B93D5: C3                       -  ret 
"TheSurge.exe"+3B93D6: CC                       -  int 3 
"TheSurge.exe"+3B93D7: CC                       -  int 3 
"TheSurge.exe"+3B93D8: CC                       -  int 3 
"TheSurge.exe"+3B93D9: CC                       -  int 3 
"TheSurge.exe"+3B93DA: CC                       -  int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>158</ID>
          <Description>"MK"</Description>
          <LastState Value="00000005" RealAddress="16185A2C620"/>
          <ShowAsHex>1</ShowAsHex>
          <VariableType>4 Bytes</VariableType>
          <Address>item1</Address>
          <Offsets>
            <Offset>50</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>175</ID>
          <Description>"ID"</Description>
          <LastState Value="0000016178D83270" RealAddress="16185A2C618"/>
          <ShowAsHex>1</ShowAsHex>
          <VariableType>8 Bytes</VariableType>
          <Address>item1</Address>
          <Offsets>
            <Offset>48</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Increase Value</Action>
              <Keys>
                <Key>18</Key>
                <Key>88</Key>
              </Keys>
              <Value>448</Value>
              <ID>0</ID>
              <ActivateSound>Activate</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>195</ID>
          <Description>"Get Item Array"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : TheSurge.exe
  Version: 
  Date   : 2019-10-06
  Author : 0

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,TheSurge.exe,48 8B 49 18 48 8B 04 C1 48 83) // should be unique
alloc(newmem,$1000,"TheSurge.exe"+68D416)
globalalloc(itemlist1,8)


label(code)
label(return)

newmem:

code:
  mov rcx,[rcx+18]

push rax
mov rax,itemlist1
mov [rax],rcx
pop rax




  mov rax,[rcx+rax*8]  //read item list rax = count rcx = base address
  jmp return

INJECT:
  jmp newmem
  nop 3
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 48 8B 49 18 48 8B 04 C1

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "TheSurge.exe"+68D416

"TheSurge.exe"+68D3F8: 48 8B 44 24 28           -  mov rax,[rsp+28]
"TheSurge.exe"+68D3FD: 8B 40 10                 -  mov eax,[rax+10]
"TheSurge.exe"+68D400: 39 44 24 48              -  cmp [rsp+48],eax
"TheSurge.exe"+68D404: 72 01                    -  jb TheSurge.exe+68D407
"TheSurge.exe"+68D406: CC                       -  int 3 
"TheSurge.exe"+68D407: 33 C0                    -  xor eax,eax
"TheSurge.exe"+68D409: 85 C0                    -  test eax,eax
"TheSurge.exe"+68D40B: 75 FA                    -  jne TheSurge.exe+68D407
"TheSurge.exe"+68D40D: 8B 44 24 48              -  mov eax,[rsp+48]
"TheSurge.exe"+68D411: 48 8B 4C 24 28           -  mov rcx,[rsp+28]
// ---------- INJECTING HERE ----------
"TheSurge.exe"+68D416: 48 8B 49 18              -  mov rcx,[rcx+18]
"TheSurge.exe"+68D41A: 48 8B 04 C1              -  mov rax,[rcx+rax*8]
// ---------- DONE INJECTING  ----------
"TheSurge.exe"+68D41E: 48 83 C4 38              -  add rsp,38
"TheSurge.exe"+68D422: C3                       -  ret 
"TheSurge.exe"+68D423: CC                       -  int 3 
"TheSurge.exe"+68D424: CC                       -  int 3 
"TheSurge.exe"+68D425: CC                       -  int 3 
"TheSurge.exe"+68D426: CC                       -  int 3 
"TheSurge.exe"+68D427: CC                       -  int 3 
"TheSurge.exe"+68D428: CC                       -  int 3 
"TheSurge.exe"+68D429: CC                       -  int 3 
"TheSurge.exe"+68D42A: CC                       -  int 3 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>199</ID>
              <Description>"Item0 (brose memory region to see more)"</Description>
              <LastState Value="0000016178B16F70" RealAddress="1613E68F7A0"/>
              <ShowAsHex>1</ShowAsHex>
              <VariableType>8 Bytes</VariableType>
              <Address>itemlist1</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>