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 


Need help please!~

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
foxfire9
Advanced Cheater
Reputation: 0

Joined: 23 Mar 2012
Posts: 57

PostPosted: Wed Feb 27, 2013 1:13 am    Post subject: Need help please!~ Reply with quote

I'm having problem with Infinite Life and it does affect AI, in Battle Realms

Quote:
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
??? (nop)

originalcode:
add [esi+00000400],ebx

exit:
jmp returnhere

"Battle_Realms_F.exe"+A4D8A:
jmp newmem
nop
returnhere:




[DISABLE]
dealloc(newmem)
"Battle_Realms_F.exe"+A4D8A:
add [esi+00000400],ebx
//Alt: db 01 9E 00 04 00 00


I think this IS the code if they attack me? I put nop but still does the same it affects AI. And also my Stamina

Quote:
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
nop

originalcode:
//sub [esi+00000404],eax

exit:
jmp returnhere

"Battle_Realms_F.exe"+A5FD9:
jmp newmem
nop
returnhere:





[DISABLE]
dealloc(newmem)
"Battle_Realms_F.exe"+A5FD9:
sub [esi+00000404],eax
//Alt: db 29 86 04 04 00 00


I need help making only me affected on these codes.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Feb 27, 2013 2:36 am    Post subject: Reply with quote

Check out the cheat engine tutorial. There is a tutorial for dissecting data structures to determine player ID (player vs. computer etc.). Once you have the player ID info., you can write a script that will perform a check to see if the player ID is 1 for player (for example), or 2 for computer. With this, you can perform a number of different tasks that will effect either the player, only, or the computer, only.

Member Geri has published an article/tutorial that can walk you through the process better than I can explain it.
Back to top
View user's profile Send private message
foxfire9
Advanced Cheater
Reputation: 0

Joined: 23 Mar 2012
Posts: 57

PostPosted: Wed Feb 27, 2013 8:44 pm    Post subject: Reply with quote

Thanks, I was wondering where and when it is posted.

By the way, why didn't I notice it?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Feb 27, 2013 8:53 pm    Post subject: Reply with quote

You have to follow the link in his signature.
Back to top
View user's profile Send private message
HiSaZuL
Expert Cheater
Reputation: 6

Joined: 09 Aug 2011
Posts: 245

PostPosted: Wed Feb 27, 2013 9:37 pm    Post subject: Reply with quote

1. You really should check Geris tutorial.

But in short open disasember hit ctrl+d.. disect data is what you are looking for.
Now the code is
add [esi+00000400],ebx

basically if it affects everyone you need to make a condition so sort who is who so you can set who you would want to be affected.
esi+400 is the thing you want to dissect or to be more specific esi itself.
Find both your health and enemy health put the address of your health( lets say 12345678-400) to get to the lower level of the stack and add another column for enemy health same deal. Now compare the two and try to see if theres any indicators that may lead to distinguish player from enemy. Since you said stamina is affected too... it will probably be there too but at different offset. In general you add a couple of columns define the structure and go do some stuff see how its affected. What stays the same what changes if enemy has offset that is identical for them but different for you.
Anyway Geri explains it better imo.

Lets just make an example say at offset 0... player is 0 and everyone else is something else. Your code would look something like this.
Code:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:
push eax //saves eax just in case
cmp esi,0 //compares esi at base offset
jne originalcode // if not 0(player) runs code as normal
mov eax,0 //if its player then eax is set to 0... so you are subtracting 0.

originalcode:
sub [esi+00000404],eax
pop eax //returns eax to w/e the heck it was

exit:
jmp returnhere

"Battle_Realms_F.exe"+A5FD9:
jmp newmem
nop
returnhere:





[DISABLE]
dealloc(newmem)
"Battle_Realms_F.exe"+A5FD9:
sub [esi+00000404],eax
//Alt: db 29 86 04 04 00 00
Back to top
View user's profile Send private message
foxfire9
Advanced Cheater
Reputation: 0

Joined: 23 Mar 2012
Posts: 57

PostPosted: Sat Mar 09, 2013 6:07 am    Post subject: Reply with quote

So, this is the Code for cmp but the Game [Battle Realms] crashes, is there something wrong?

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

newmem:
pushfd
cmp [esi+00000240],0
jne +6
nop
popfd

originalcode:
//add [esi+00000400],ebx

exit:
jmp returnhere

"Battle_Realms_F.exe"+A4D8A:
jmp newmem
nop
returnhere:

[DISABLE]
dealloc(newmem)
"Battle_Realms_F.exe"+A4D8A:
add [esi+00000400],ebx
//Alt: db 01 9E 00 04 00 00
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Mar 09, 2013 1:35 pm    Post subject: Reply with quote

First, you need to find the actual instruction that manipulates your health address. Once you have found that, put the compare and the health code in the same script. For example, something like this...if (1) is for hero ID:

Code:

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(enemy)

newmem:
cmp [esi+00000240],1           //check player ID to see if address is for hero or enemy player
jne enemy                      //jump to enemy if player ID is not 1
add [esi+00000400],ebx         //add damage value to health, instead of subtracting it
jmp returnhere            

enemy:
sub [esi+00000400],ebx         //subtract damage value from health, as always
jmp returnhere

"Battle_Realms_F.exe"+A4D8A:
jmp newmem
nop
returnhere:

[DISABLE]
dealloc(newmem)
"Battle_Realms_F.exe"+A4D8A:
sub [esi+00000400],ebx


Now, this is just a total guess as to what those addresses really are, but it should give you some idea about what you should be doing. There are many ways to manipulate code. Add/subtracting for health is not the approach that I would use.
Back to top
View user's profile Send private message
foxfire9
Advanced Cheater
Reputation: 0

Joined: 23 Mar 2012
Posts: 57

PostPosted: Sat Mar 09, 2013 9:25 pm    Post subject: Reply with quote

I'll try reading the tutorials even though it's hard for me but I'm getting the idea of Geri's tutorial on Dissecting Data/Structures. All that's left is understanding the general basics of the codes [cmp,jne,jmp,etc...].

Thanks for the tip. Very Happy
Back to top
View user's profile Send private message
foxfire9
Advanced Cheater
Reputation: 0

Joined: 23 Mar 2012
Posts: 57

PostPosted: Mon Mar 11, 2013 5:02 am    Post subject: Reply with quote

I forgot to ask someting.

Can you tell me how to change the value type?

Example:
cmp [esi+00000240],1 => cmp [esi+00000240],(float)1

I only know float value but what about byte,2bytes,4bytes,etc.?

I'm trying to find guides but nothing I dunno where to start.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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