| Cheat Engine The Official Site of Cheat Engine FAQ Search Memberlist UsergroupsRegister | Profile Log in to check your private messages Log in |
|
Another question.. (shared code) | Cheat Engine Forum Index -> Cheat Engine | View previous topic :: View next topic | Author | Message |
---|
That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Fri Feb 27, 2015 3:37 pm Post subject: Another question.. (shared code) | | | 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 | | ![Cheat Engine :: View topic (17) Cheat Engine :: View topic (17)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Fri Feb 27, 2015 4:13 pm Post subject: Re: Another question.. (shared code) | | | 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 | | ![Cheat Engine :: View topic (23) Cheat Engine :: View topic (23)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Fri Feb 27, 2015 6:40 pm Post subject: | | | ..Man, I really wanna get this but that sounds way to complicated, so uh, what is the stackview again? :U.. |
| Back to top | | ![Cheat Engine :: View topic (29) Cheat Engine :: View topic (29)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Fri Feb 27, 2015 7:20 pm Post subject: | | | 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 | | ![Cheat Engine :: View topic (35) Cheat Engine :: View topic (35)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Sat Feb 28, 2015 2:16 pm Post subject: | | | 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 | | ![Cheat Engine :: View topic (41) Cheat Engine :: View topic (41)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Sat Feb 28, 2015 9:14 pm Post subject: | | | 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 | | ![Cheat Engine :: View topic (47) Cheat Engine :: View topic (47)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | mgr.inz.Player I post too much
Reputation: 218Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
| Posted: Sun Mar 01, 2015 5:48 am Post subject: | | | 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 | | ![Cheat Engine :: View topic (54) Cheat Engine :: View topic (54)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Mon Mar 02, 2015 3:38 pm Post subject: | | | (I know it's embarrassing helping a dumb guyyyy buut..) Can you explain it a little better? q.q; |
| Back to top | | ![Cheat Engine :: View topic (60) Cheat Engine :: View topic (60)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Mon Mar 02, 2015 4:58 pm Post subject: | | | 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? ![Cheat Engine :: View topic (64) Cheat Engine :: View topic (64)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
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): ![Cheat Engine :: View topic (65) Cheat Engine :: View topic (65)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
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! ![Cheat Engine :: View topic (66) Cheat Engine :: View topic (66)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) _________________Hey Hitler Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it! HERE |
| Back to top | | ![Cheat Engine :: View topic (69) Cheat Engine :: View topic (69)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Tue Mar 03, 2015 3:29 pm Post subject: | | | 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 | | ![Cheat Engine :: View topic (75) Cheat Engine :: View topic (75)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Tue Mar 03, 2015 6:38 pm Post subject: | | | 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: 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: ![Cheat Engine :: View topic (80) Cheat Engine :: View topic (80)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
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: ![Cheat Engine :: View topic (81) Cheat Engine :: View topic (81)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
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: 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: ![Cheat Engine :: View topic (82) Cheat Engine :: View topic (82)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
I didn't used groups , 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: ![Cheat Engine :: View topic (84) Cheat Engine :: View topic (84)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
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 ![Cheat Engine :: View topic (85) Cheat Engine :: View topic (85)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) _________________Hey Hitler Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it! HERE |
| Back to top | | ![Cheat Engine :: View topic (88) Cheat Engine :: View topic (88)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Thu Mar 05, 2015 4:43 pm Post subject: | | | @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. ![Cheat Engine :: View topic (92) Cheat Engine :: View topic (92)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) |
| Back to top | | ![Cheat Engine :: View topic (95) Cheat Engine :: View topic (95)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | aikoncwd Grandmaster Cheater
Reputation: 23Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
| Posted: Thu Mar 05, 2015 5:35 pm Post subject: | | | 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. ![Cheat Engine :: View topic (99) Cheat Engine :: View topic (99)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) |
So did you achieved your sharedcode? What method did you used? I'm glad to read that you learned something new. ![Cheat Engine :: View topic (100) Cheat Engine :: View topic (100)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
_________________Hey Hitler Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it! HERE |
| Back to top | | ![Cheat Engine :: View topic (103) Cheat Engine :: View topic (103)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | That Bastard Newbie cheater
Reputation: 0Joined: 30 Jan 2015 Posts: 20
| Posted: Thu Mar 05, 2015 6:24 pm Post subject: | | | @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 | | ![Cheat Engine :: View topic (109) Cheat Engine :: View topic (109)](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==) | |
| Cheat Engine Forum Index -> Cheat Engine | All times are GMT - 6 Hours | Page 1 of 1 | | 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
| |