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 


Another question.. (shared code)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Fri Feb 27, 2015 3:37 pm    Post subject: Another question.. (shared code) Reply with quote

So I did the tutorial, step 9 'n everything. But when I try it in actual games it doesn't work.

When I do the dissect data/structure thing, put in my addresses, put in -4, and do the define new structure thing, I don't know what to look for.. I know you're supposed to get the group different thing. But there're a lot of em'.. I thought trying any would do it but, it won't work. I keep trying it too. q-q

So hao do I find which off set 'n value to pick?

Sorry if you don't get the question, I have a hard time describing things. e-e;
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Fri Feb 27, 2015 4:13 pm    Post subject: Re: Another question.. (shared code) Reply with quote

That Bastard wrote:
So I did the tutorial, step 9 'n everything. But when I try it in actual games it doesn't work.

When I do the dissect data/structure thing, put in my addresses, put in -4, and do the define new structure thing, I don't know what to look for.. I know you're supposed to get the group different thing. But there're a lot of em'.. I thought trying any would do it but, it won't work. I keep trying it too. q-q

So hao do I find which off set 'n value to pick?

Sorry if you don't get the question, I have a hard time describing things. e-e;


Some times, you only need to look into registers. In some games, EAX holds 0 or 1 when opcode points to hero or enemy. Don't look "only" in the structure dissect. Some hard games, like Nuclear Throne, you must look into StackView to beat the shared code.

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Fri Feb 27, 2015 6:40 pm    Post subject: Reply with quote

..Man, I really wanna get this but that sounds way to complicated, so uh, what is the stackview again? :U..
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Fri Feb 27, 2015 7:20 pm    Post subject: Reply with quote

That Bastard wrote:
..Man, I really wanna get this but that sounds way to complicated, so uh, what is the stackview again? :U..


http://forum.cheatengine.org/viewtopic.php?t=569041

Here is where I learned to use the StackView method, I only was forced to use it 1 time for 1 game. The rest of sharedcode can be achieved with registers comparing method and/or structure dissect.

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Sat Feb 28, 2015 2:16 pm    Post subject: Reply with quote

Tanks bra! :J

..aww wait, 1 more question >-< ..how do I know what to look for in the stack view window? It's all random to me, it almost looks like none of the addresses(values and secondary, whatever secondary is..) in there don't have anything to do with my health. :C

I tried looking for one with the same address and the same value of my health. But I got nothing. q-q;;

Does it work for every game? Because I feel like it won't work with assault cube reloaded..
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Sat Feb 28, 2015 9:14 pm    Post subject: Reply with quote

That Bastard wrote:
Tanks bra! :J

..aww wait, 1 more question >-< ..how do I know what to look for in the stack view window? It's all random to me, it almost looks like none of the addresses(values and secondary, whatever secondary is..) in there don't have anything to do with my health. :C

I tried looking for one with the same address and the same value of my health. But I got nothing. q-q;;

Does it work for every game? Because I feel like it won't work with assault cube reloaded..


To deal with shared code, first:

1- Try to locate another opcode that READ/WRITE to your designed address without sharing code
2- Pick the opcode with the less "shares", Ctrl+R to show registers and compare, maybe you can use registers to dissect the shared code
3- Use structure dissect, use the colour codes to determine the "magic" offset, I recommend you to use groups and look into "purple" offsets.
4- If everyting fails... use StackView method, use every (dword) value and add it to a "compare column", like this table:

http://forum.cheatengine.org/viewtopic.php?t=578814

So forst try option (1), if you have no luck, try option (2), etc... StackView is the hard method, so use it when other methods fails...

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Mar 01, 2015 5:48 am    Post subject: Reply with quote

Quote:
1- Try to locate another opcode that READ/WRITE to your designed address without sharing code

@That Bastard, all above is true.

also, use CE feature:
"check if found opcodes also access other addresses"

_________________
Back to top
View user's profile Send private message MSN Messenger
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Mon Mar 02, 2015 3:38 pm    Post subject: Reply with quote

(I know it's embarrassing helping a dumb guyyyy buut..)

Can you explain it a little better? q.q;
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Mon Mar 02, 2015 4:58 pm    Post subject: Reply with quote

That Bastard wrote:
(I know it's embarrassing helping a dumb guyyyy buut..)

Can you explain it a little better? q.q;


What do you need?



First click option (1), then look the "counter" (2), 560 is the number of times that opcode accessed/writed to you address "8 or more address in my img example". Now click more info (3):



Click "Show registers" (1) to open a mini window with info/values of registers (2). Use that info to compare and dissect the shared code. You can use F button (3) to see XMM registers and S button (4) to see StackView.

Good Luck! Very Happy

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Tue Mar 03, 2015 3:29 pm    Post subject: Reply with quote

Mm.. Ok, just to make sure.. the 3 ways are register comparing method, stackview, and structure dissect.

In the register comparing method, you just compare registers and if one of the registers're is different you can just use cmp [register],[register numberthing]..

In stackview you look for any address with a value that says (dword) and use that.. 'n do cmp [esp],[numberthing]..

And in structure dissect you just keep trying the purple offsets?

Tell my if I'm wrong anywhere.. >-< Cuz I been trying it all but.. it's not working.. q.q; Well I guess I made some progress, instead of nothing happening I've been making the game crash. :T

Oh and by the way, when you do structure dissect, hao do you know what register to put(I'm guessing registers are ebx/eax/'n all that)..

I feel so terrible for not knowing so much. q-q
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Tue Mar 03, 2015 6:38 pm    Post subject: This post has 1 review(s) Reply with quote

That Bastard wrote:
Mm.. Ok, just to make sure.. the 3 ways are register comparing method, stackview, and structure dissect.

In the register comparing method, you just compare registers and if one of the registers're is different you can just use cmp [register],[register numberthing]..

In stackview you look for any address with a value that says (dword) and use that.. 'n do cmp [esp],[numberthing]..

And in structure dissect you just keep trying the purple offsets?

Tell my if I'm wrong anywhere.. >-< Cuz I been trying it all but.. it's not working.. q.q; Well I guess I made some progress, instead of nothing happening I've been making the game crash. :T

Oh and by the way, when you do structure dissect, hao do you know what register to put(I'm guessing registers are ebx/eax/'n all that)..

I feel so terrible for not knowing so much. q-q


I don't know if exist another way to achieve sharedcodes... I only use (shorted):

- Register comparing
- Structure Dissect
- StackView

Register Comparing Method

It's the easy and fast way to achieve shared code, works well if you have an opcode that access a few number of address, imagine this example:

Code:
mov [esi+40],eax


This opcode is executed when my hero character recive damage from enemy, this opcode is used also if I do damage to enemies (shared code). This opcode is accessed by me (hero) and every enemy I hit, so I can try the "register comparing method", take a screenshot of the registers for every address:



The red registers are for the hero character, the other 3 registers are for enemies... in a quick view you can see that EDX have value of 1 when opcode is writing to the hero character, when the opcode is writing to enemies you can see other values: 2D, 4B, etc... only 01 when is the main (hero) character, so we can use this info to code a working cheat script:



If EDX = 1 then JUMP to "StructureDump" code.

Structure Dissect Method

You can use this method when you have an opcode that access a few address, first you need to UNDERSTAND how to "read" the opcode, imagine this:

Code:
sub [ecx+10],5


This opcode is shared, it substract 5 to [ecx+10]. Using the option "find out what addresses this instruction access", identify your hero address and "enemy" address, show registers (Ctrl+R) and copy the value of ECX for each address. Warning, in this case you must copy/use the value of ECX because the opcode is writing to [ECX+10], if you have a game that use mov [eax+5D],0 then you must use EAX value.

Copy each value in the structure dissect tool, use groups, then dissect the addresses and look for purple offset, look this real example for game FTL:



I didn't used groups Razz, but you can see offset +04 is 0 or 1 depending if the address is pointing to hero or enemy. Use that info (like tutorial9 CE) to code a working cheat script.

Stack View Method

This is hard, but I will give you a full example code:



Here I'm using a mixed method of register comparing + StackView, first I compare EAX & EDX = 0 (because that values are the real values when the shared opcode is accessing to my address). Then I compare if EBP = 1, in this game, EBP is 1, 2, 3, 4, ... depending the tipe of AMMO used, in this case is 1, so the player is using the first ammo (bullets), I colored this in blue.

When all 3 registers have the correct values i JUMP to TryAmmo1, then use the StackView, as you can see I only use the (dword) values, I colored this in YELLOW. So now I only need to add a lot of "compares" to determine if the opcode is accessing my address. The more compares you add, the better, I used 7 StackView compares + 3 registers compares (at the beggining).

Hope this can help, I can't explain better Razz

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Thu Mar 05, 2015 4:43 pm    Post subject: Reply with quote

@AikonCWD

Thanks for helping. I don't think anyone else would've helped me as much as you did. q-q I'd do that quote thing uhh but idk hao to. lawl

I also figured it out, I has my own infinite health script. Very Happy
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Thu Mar 05, 2015 5:35 pm    Post subject: Reply with quote

That Bastard wrote:
@AikonCWD

Thanks for helping. I don't think anyone else would've helped me as much as you did. q-q I'd do that quote thing uhh but idk hao to. lawl

I also figured it out, I has my own infinite health script. Very Happy


So did you achieved your sharedcode? What method did you used? I'm glad to read that you learned something new.

Smile

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
That Bastard
Newbie cheater
Reputation: 0

Joined: 30 Jan 2015
Posts: 20

PostPosted: Thu Mar 05, 2015 6:24 pm    Post subject: Reply with quote

@AikonCWD

I used dissect data/struct. lawl I don't know hao2explain it as good as you, or at least without pictures. I wish I could do all that. q-q

Well I guess I just didn't know you were supposed to find the registers of you and your enemy, 'n use the value of the registers in the dissect thing. After I did that I just picked the first offset with 0 for my health and 1 for the other guy.

'N it worked! lawl

(I couldn't believe it.. I was like @[]@;..)
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