Page 1 of 1

[Request] Worbital

Posted: Sat Feb 02, 2019 4:41 am
by WarStalkeR
Game Name: Worbital
Game Engine: Unity + IL2CPP
Game Version: 1.01.5478
Options Required:
  • Tech Unlock (a.k.a. BattleKit Customization) Points
Game/Steam Website: [Link]
761910

You can easily find 4 byte value of the points, but changing it does nothing. As it seems original value is encrypted and I lack skills to find it.

savedata.zip
(1.2 KiB) Downloaded 76 times
In addition, I've attached save file that already has 5000 unlock points for testing. After unpacking savedata.sav file from savedata.zip paste it and overwrite the original file in directory Steam\steamapps\common\Worbital\PlayerData\%YOUR_PLAYER_DATA_ID%\

Re: [Request] Worbital

Posted: Sat Apr 13, 2019 1:31 pm
by Aperture32
Here's my cheat table with infinite anti-matter:

Re: [Request] Worbital

Posted: Mon Apr 15, 2019 5:22 pm
by HarFanG
Hi there

It's amazing nobody needs a table for this game, which is funny to play.

The given table does not work here, I can't activate the option :( (guess my version is not the good one).

Re: [Request] Worbital

Posted: Fri Jun 07, 2019 6:05 pm
by Sander_Bouwhuis
Same problem here. I guess it's for an old version of Worbital.

Re: [Request] Worbital

Posted: Sat Jan 18, 2020 11:55 am
by CannonFodder
Credits are protected, but there is an easy way to cheat, just search for building hp, change it to a huge value, sell it and you get infinite credits.
Since the game is protected with IL2CPP, I don't know how to modify the code, but there is a benefit, assembly code address doesn't change every time the game restart. So just find out what code access your building hp address, and watch the code every battle.

Re: [Request] Worbital

Posted: Sat Jan 18, 2020 11:21 pm
by cfemen
CannonFodder wrote:
Sat Jan 18, 2020 11:55 am
Credits are protected, but there is an easy way to cheat, just search for building hp, change it to a huge value, sell it and you get infinite credits.
Since the game is protected with IL2CPP, I don't know how to modify the code, but there is a benefit, assembly code address doesn't change every time the game restart. So just find out what code access your building hp address, and watch the code every battle.
well thats a creative method :D

My Method:

Update() of PlayerResourceGains calls GameAssembly.dll+4A9460(PlayerResources:IncreaseMaterials) for the player+ each AI

ToDo : hook into Update, check for the player, change amount and call IncreaseMaterials:
(pseudocode)

Code: Select all


if (_thisplayer == HumanPlayer)
{
iResAmount= 100;
}
_thisplayer.PlayerResources.IncreaseMaterials(iResAmount);
as AA script:

Code: Select all

alloc(newmem,$1000,"GameAssembly.dll"+4A7986)

label(code)
label(return)

newmem:

code:
  push rax
  mov rax,[rsp+40]
  cmp ax,1623
  jne @f
  mov rdx,64
  @@:
  pop rax
  call GameAssembly.dll+4A9640
  jmp return

"GameAssembly.dll"+4A7986:
  jmp newmem

return:

[DISABLE]

"GameAssembly.dll"+4A7986:
  db E8 B5 1C 00 00

dealloc(newmem)
execute script and you get 100 credits per sec ;)

//

another script for Dark Matter(every time you earn dark matter you get +100)
player/ai check is not necessary:

Code: Select all

[ENABLE]
alloc(newmem,$1000,"GameAssembly.dll"+4A8F60)

label(code)
label(return)

newmem:

code:
  mov [rsp+08],rbx
  mov rdx,64
  jmp return

"GameAssembly.dll"+4A8F60:
  jmp newmem
return:

[DISABLE]

"GameAssembly.dll"+4A8F60:
  db 48 89 5C 24 08

dealloc(newmem)
and last one:
AI cant shoot(returns the update of AIWorbital):
if you are adding a player/team tag check then you can force only enemys to stop shoot :D

Code: Select all

[ENABLE]

"GameAssembly.dll"+19059D0:
  db C3
return:

[DISABLE]

"GameAssembly.dll"+19059D0:
  db 40
ok thats it, just my quick observations, its not really my type of game^^ :ph34r:

scripts for game version : v1.10.6650

edit :
oh i almost forgot about the BattleKit Points xD

Code: Select all

define(address,"GameAssembly.dll"+452F30)
define(bytes,48 89 5C 24 08)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,"GameAssembly.dll"+452F30)

label(code)
label(return)

newmem:

code:
  mov [rsp+08],rbx
  xor r8,r8
  jmp return

address:
  jmp newmem
return:

[DISABLE]

address:
  db bytes

dealloc(newmem)
execute script while buying customize-cosmetic stuff = free item
or change xor r8,r8 to mov r8,FFFFFF00 = you get points for buying stuff :D