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
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
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^^
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