Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Cheat Engine Help

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Crash Bash
How do I cheat?
Reputation: 0

Joined: 19 Jul 2014
Posts: 7

PostPosted: Thu Aug 14, 2014 3:52 pm    Post subject: Cheat Engine Help Reply with quote

Game: Armada Tanks
Platform: PC

This Game is a normal PC game, it is not a flash or a online game.
The reason I'm using Cheat Engine is to find a code that will control an Enemy Tank!
So I start searching for it and come up with one (green) address. It is a green address so I don't have to find a pointer for it lucky me.

Here is screenshot so I can explain the situation:
s28.postimg.org/947pld5uj/2014_08_14_211918.png

You can see that a tank is marked with a red circle, that's the tank I want to control and the others will be automatically.
So I started to modify the address to see if it affects the Enemy Tank, and it didn't. I was somehow confused since this is the only address I have found. I clicked Find out what writes to this address and I got a code that writes it, so I clicked the Replace button and it Worked! I can move the Enemy Tank freely wherever I wont (I used hotkeys to set the appropriate values quickly). But... the problem now is that everyone is standing still and not moving, it seems that the code I Replaced is affecting every Enemy, I can't control all of them!

So the question is How to Replace the code so it affects only may Tank (the enemy tank).

Help me out! Sad
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25796
Location: The netherlands

PostPosted: Thu Aug 14, 2014 3:58 pm    Post subject: Reply with quote

Instead of replace do a code injection
Check if the address is the address of the specific tank you're interested in, and if so, skip it, else execute it as normally

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Crash Bash
How do I cheat?
Reputation: 0

Joined: 19 Jul 2014
Posts: 7

PostPosted: Thu Aug 14, 2014 4:29 pm    Post subject: Reply with quote

Dark Byte wrote:
Instead of replace do a code injection
Check if the address is the address of the specific tank you're interested in, and if so, skip it, else execute it as normally


Oh... what a shame I don't know how to use it but I know how to run it.
So I click on show disassemble It brings me to the code I click on Auto Assemble and then code injection, and how next? How do I nop the code?
It shows me this:
Code:
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [esi+30],eax
call "Armada Tanks.exe"+26620

exit:
jmp returnhere

"Armada Tanks.exe"+2400C:
jmp newmem
nop
nop
nop
returnhere:


Bay the way this is the address for the Tank: "Armada Tanks.exe"+2A5A78 it brings to 006A5A78
And this shows up when I Find out what writes to this address: mov [esi+30],eax
esi=006A5A48
eax=00000002 (the value)
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25796
Location: The netherlands

PostPosted: Thu Aug 14, 2014 5:23 pm    Post subject: Reply with quote

Code:
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(after)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
cmp esi,006A5A48
je after

originalcode:
mov [esi+30],eax

after:
call "Armada Tanks.exe"+26620

exit:
jmp returnhere

"Armada Tanks.exe"+2400C:
jmp newmem
nop
nop
nop
returnhere:

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Crash Bash
How do I cheat?
Reputation: 0

Joined: 19 Jul 2014
Posts: 7

PostPosted: Thu Aug 14, 2014 6:29 pm    Post subject: Reply with quote

Dark Byte wrote:
Code:
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(after)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
cmp esi,006A5A48
je after

originalcode:
mov [esi+30],eax

after:
call "Armada Tanks.exe"+26620

exit:
jmp returnhere

"Armada Tanks.exe"+2400C:
jmp newmem
nop
nop
nop
returnhere:


Thank you! I will test it later.
Back to top
View user's profile Send private message
Crash Bash
How do I cheat?
Reputation: 0

Joined: 19 Jul 2014
Posts: 7

PostPosted: Sat Aug 16, 2014 12:57 pm    Post subject: Reply with quote

That worked perfectly! There's one more think. Can you help me?

It's the original NES game Battle City also about Enemy Control.
Here I found the address of the Tank and it worked from first try, but the problem is...
that the Game is changing Tank direction even if I didn't move it! But that happen in a split second, so it wiggles, and most of the time it slows down the Tank.

Do I have to do this again with Code Injection? If Yes then those are the information:
Tank address: P->0245015C Offset: 13C (the next Byte, so 0245015D is the address of another Tank)
Code: mov [eax+esi+68],dl this show up when I Found out what writes this address
EAX: 000000A4 (this is actually the value)
ESI: 02450050
dl: What's that?

This shows when I do Code Injection on the Code:

Code:
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [eax+esi+68],dl
pop esi

exit:
jmp returnhere

"nestopia.exe"+73300:
jmp newmem
returnhere:


If I don't have to do anything about Code Injection, then what should I do then?

Note: Even if I set the interval on minimal so 10 milliseconds, it's still changing.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites