|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
thirst for knowledge Cheater Reputation: 0
Joined: 15 Jan 2014 Posts: 28 Location: Russia
|
Posted: Tue Jan 16, 2018 11:50 am Post subject: Banner Saga 2 |
|
|
Hi guys. I decided to edit the game Banner Saga 2. Faced such a problem if I correctly believe that the game is protected in the language of Lua. I found a workaround with instructions that I can work with this is a working script.
I wanted to use the stealth plugin mod but did not quite understand how to use it
/////////////////////////
aobscan(Will,8B 50 08 8B 8A 84 00 00 00 8D 55 98 89 45 98 8B 41 04 83 EC 04 52 * * * * * 83 C4 10 8B 55 AC 8b 8a) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
push edx
mov edx,[eax+40]
mov edx,[edx+e8]
cmp [edx+30],1 // Id enemy or player
pop edx
jne @f
push edx
mov edx,[eax+3c]
cmp [edx+10],2 // Id Will
pop edx
jne @f
mov edx, [eax+30]
mov [eax+28],edx
@@:
mov edx,[eax+08]
mov ecx,[edx+00000084]
jmp return
/////////////////////////////
How to write correctly a script in this instruction on access that there would be no error?
////////////////////////////////
aobscan(Test,8B 42 28 83 F8 00 0F 4E) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
mov eax,[edx+28]
cmp eax,00
jmp return
////////////////////////////////
|
|
Back to top |
|
|
kantoboy69 Advanced Cheater Reputation: 2
Joined: 31 Mar 2010 Posts: 71 Location: Manila
|
Posted: Sun Apr 29, 2018 12:59 pm Post subject: |
|
|
I remark player id checking since I'm not sure if it is really the proper checking for player id so it would probably enable this to player and enemies.
Code: | [ENABLE]
aobscan(Will,8B 50 08 8B 8A 84 00 00 00 8D 55 98 89 45 98 8B 41 04 83 EC 04 52 * * * * * 83 C4 10 8B 55 AC 8b 8a) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(normal)
newmem:
code:
push edx
//mov edx,[eax+40]
//mov edx,[edx+e8]
//cmp [edx+30],1 // Id enemy or player
//jne normal
mov edx,[eax+3c]
cmp [edx+10],2 // Id Will
jne normal
mov edx, [eax+30]
mov [eax+28],edx
normal:
pop edx
mov edx,[eax+08]
mov ecx,[edx+00000084]
jmp return
Will:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(Will)
[DISABLE]
Will:
db 8B 50 08 8B 8A 84 00 00 00
unregistersymbol(Will)
dealloc(newmem) |
So far it works but when loading another scene you need to toggle the script again to find Will address.
_________________
Cheater always prosper Hitler
Last edited by kantoboy69 on Wed May 02, 2018 7:54 am; edited 1 time in total |
|
Back to top |
|
|
kantoboy69 Advanced Cheater Reputation: 2
Joined: 31 Mar 2010 Posts: 71 Location: Manila
|
Posted: Mon Apr 30, 2018 4:17 pm Post subject: |
|
|
This should work for v2.32.38
Code: | [ENABLE]
aobscan(GETHIT,89 5A 28 8B 5A 08 8b 8b 94 00 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(normal)
label(update)
newmem:
code:
pushf
push ecx
mov ecx, [edx+40]
cmp ecx, 0
je normal
// mov ecx, [ecx+7c]
// cmp ecx, 0 // check if player
mov ecx, [ecx+c0]
cmp ecx, 1 // check if player
jne normal
mov ecx, [edx+3c]
cmp [ecx+10], 2 // Will
je update
cmp [ecx+10], 1 // Armor
je update
cmp [ecx+10], 0 // Strength
je update
jmp normal
update:
mov ecx, [edx+30]
mov [edx+28], ecx
mov [edx+2C], ecx
mov ebx, ecx
normal:
pop ecx
popf
mov [edx+28],ebx
mov ebx,[edx+08]
jmp return
GETHIT:
jmp newmem
nop
return:
registersymbol(GETHIT)
[DISABLE]
GETHIT:
db 89 5A 28 8B 5A 08
unregistersymbol(GETHIT)
dealloc(newmem) |
_________________
Cheater always prosper Hitler |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|