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 


Crysis 1 Cheating

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

Joined: 12 Jul 2012
Posts: 7

PostPosted: Thu Jul 12, 2012 7:39 pm    Post subject: Crysis 1 Cheating Reply with quote

In singleplayer, I'm trying to hack the values of the amount of grenades I have. I can even do it, but only for the current level I'm playing. I want cheat engine to automatically find the address for the amount of grenades I have without having to alt+tab every single time to use it.
Thanks for the info.
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Fri Jul 13, 2012 7:49 am    Post subject: Reply with quote

take cheat engine tutorial, install ce 6.2 and hit help > ce tutorial.
after you complete that, your answer will reveal by itself.
tip: find the code that writes to that address and nop it.
right click the address, find out what writes ... > throw 1 grenade, click the first code and click replace > ok.

_________________
... Fresco
Back to top
View user's profile Send private message
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Fri Jul 13, 2012 11:29 am    Post subject: Reply with quote

Fresco wrote:
take cheat engine tutorial, install ce 6.2 and hit help > ce tutorial.
after you complete that, your answer will reveal by itself.
tip: find the code that writes to that address and nop it.
right click the address, find out what writes ... > throw 1 grenade, click the first code and click replace > ok.

I tried applying the same that's taught in step 5 of the tutorial but whenever I die, the amount of grenades I have is still being set to 0 and it's address changes. I need to automatically change the amount of grenades I have and freeze the address that specifies the amount at the moment, right? I can't seem to do that :c can you help me some other way?
EDIT:
Also, I noticed that when I respawn (with 0 grenades), and find a grenade pack and try to pick it up, I still have 0 grenades. What should I do?
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Sat Jul 14, 2012 4:18 am    Post subject: Reply with quote

okay, so it works if you pick and you got nothing Smile
just nop the code when you have at least one grenade, and then when you try to throw one, the value of grenades should still be 1, those how make trainers nopping the code, call the code freeze / unfreeze, so if you freeze to 0 you'll still have 0, anyways i said complete the tutorial, there's also another method, pointers, they allow you to find an address that never changes no matter what, and it is as you have always the right address.
complete the tut, and you'll have no doubts, you can also code injection, set ve value of grenades to whatever whenever the code in ran, so when you pick or throw, the value is set to whatever you want.

_________________
... Fresco
Back to top
View user's profile Send private message
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Sat Jul 14, 2012 3:01 pm    Post subject: Reply with quote

Fresco wrote:
okay, so it works if you pick and you got nothing Smile
just nop the code when you have at least one grenade, and then when you try to throw one, the value of grenades should still be 1, those how make trainers nopping the code, call the code freeze / unfreeze, so if you freeze to 0 you'll still have 0, anyways i said complete the tutorial, there's also another method, pointers, they allow you to find an address that never changes no matter what, and it is as you have always the right address.
complete the tut, and you'll have no doubts, you can also code injection, set ve value of grenades to whatever whenever the code in ran, so when you pick or throw, the value is set to whatever you want.

It does work: when I nop it, no matter how many grenades I throw, I still have them. Except when I die: I spawn with no grenades on me and when I try to pick them up, I still have nothing. I don't think noping it is a possible solution, is it? I'm the noob here but that doesn't seem to be working... :c
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Sun Jul 15, 2012 7:49 am    Post subject: Reply with quote

so if nop works, you might want to check for what writes to the address.
find some sort of code that continuously accesses the address and then code injection it.
the instruction should be like that:
mov [eax+10],ebx
[eax+10] is the address and ebx the value,
therefore when the code is being read and executed ebx is written as a value, just code injection and change ebx's value.
do something like:
mov [eax+10],3
now no matter how many grenades you have, the code should give you 3 grenades when you throw or when you pick.
NOTE : mov [eax+10],ebx is just an example that i used, the game most probably have a different code, but anyways the stuff between square brackets [stuff] means write to the value of the address, so mov [stuff],3 means put 3 as value for address stuff, being stuff you grenades address or whatever.
just take the tutorial to see how code injection works.
in ce 6.2 hit help and then click ce tutorial.

_________________
... Fresco
Back to top
View user's profile Send private message
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Mon Jul 16, 2012 10:02 am    Post subject: Reply with quote

Fresco wrote:
so if nop works, you might want to check for what writes to the address.
find some sort of code that continuously accesses the address and then code injection it.
the instruction should be like that:
mov [eax+10],ebx
[eax+10] is the address and ebx the value,
therefore when the code is being read and executed ebx is written as a value, just code injection and change ebx's value.
do something like:
mov [eax+10],3
now no matter how many grenades you have, the code should give you 3 grenades when you throw or when you pick.
NOTE : mov [eax+10],ebx is just an example that i used, the game most probably have a different code, but anyways the stuff between square brackets [stuff] means write to the value of the address, so mov [stuff],3 means put 3 as value for address stuff, being stuff you grenades address or whatever.
just take the tutorial to see how code injection works.
in ce 6.2 hit help and then click ce tutorial.

Took a little time to understand, but I did it! Very Happy Except that when I die, I have to pick up one more grenade so I have at least 1 in the counter, which is nbd, I'm fine with that. But can I make this whole process of getting the address and all automatic?? It'd make my cheating a lot easier if it could... Smile Anyway, thanks a LOT for being patient with my noobness Razz
Back to top
View user's profile Send private message
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Wed Jul 18, 2012 5:13 pm    Post subject: Reply with quote

marcelovski wrote:
Fresco wrote:
so if nop works, you might want to check for what writes to the address.
find some sort of code that continuously accesses the address and then code injection it.
the instruction should be like that:
mov [eax+10],ebx
[eax+10] is the address and ebx the value,
therefore when the code is being read and executed ebx is written as a value, just code injection and change ebx's value.
do something like:
mov [eax+10],3
now no matter how many grenades you have, the code should give you 3 grenades when you throw or when you pick.
NOTE : mov [eax+10],ebx is just an example that i used, the game most probably have a different code, but anyways the stuff between square brackets [stuff] means write to the value of the address, so mov [stuff],3 means put 3 as value for address stuff, being stuff you grenades address or whatever.
just take the tutorial to see how code injection works.
in ce 6.2 hit help and then click ce tutorial.

Took a little time to understand, but I did it! Very Happy Except that when I die, I have to pick up one more grenade so I have at least 1 in the counter, which is nbd, I'm fine with that. But can I make this whole process of getting the address and all automatic?? It'd make my cheating a lot easier if it could... Smile Anyway, thanks a LOT for being patient with my noobness Razz

Hey is bump allowed on this forum?
Back to top
View user's profile Send private message
Kriogenic
Cheater
Reputation: -1

Joined: 13 Jun 2012
Posts: 36
Location: localhost

PostPosted: Thu Jul 19, 2012 2:23 am    Post subject: Reply with quote

Here is a method you can try it requires use of the pointer scanner if you are not very familiar with it you can look around the forum for some specific tutorials regarding it...

Basically pick up a bunch of grenades (im gonna use 7 as an example here)
do your basic search of 7, throw, 6 untill you find a couple of values.

Freeze the values untill you find the one which works (even if it is just for the level) and then right click on the address and click "Pointer Scan for this Address"

Leave everything as it is EXCEPT "Nr of threads scanning" change this to a number maybe 1 - 2 higher then your amount of cores (I usually find this to be pretty optimum though with my 6 core processor I use 6 threads to be safe)

Then I click ok, give it a descriptive filename like "CrysisGrenade" then allow it to scan, I have read on the forum that this takes forever and people seem to cancel it. DO NOT CANCEL IT. For me the longest I have had to wait for it to complete was 15 minutes on Prototype 1, although some forum people have said theirs have taken an hour.

NOTE: If you get a message about too many results that is not a problem rescan still works fine as the message says and that is what we will be doing later.

Once you have done this close pointer scanner AND the entire game
open up the game again, attach cheat engine.

Find the value for your grenades again and double click on the "address" and copy the address from the box that comes up then cancel it. right click and choose "Pointer Scan for this Address" but this time hit cancel on the box that comes up.

then on the pointer scan window hit file -> open and open the file you saved before using the pointer scanner then hit the "pointer scanner" tab up the top and choose "rescan memory" and paste the address you copied before into the box and click ok save it as "CrysisGrenade2" (You can overwrite your old pointerscan file but I make a new one for backup purposes)

It will not take that long to scan as it only rescans the old results from the last pointer file.

This should knock out the amount of pointers found.

Repeat the closing, opening and attaching processes and repeat the steps one more time. (copy address, pointer scan, cancel, open, rescan, paste address)

Once this has been completed scroll to the VERY bottom of the pointer list and double click the result to add it to your table.

try locking the new value pointer scanner added and see if that works...

It is time consuming... but sometimes its worth it.
(Sorry for the long post I couldnt explain it any simplier O.o)


------------------
EDIT: Fresco also has a really great idea of using injection to modify the instructions being handled when a grenade is thrown. If you don't understand his quick explanation I can go over it in a little more detail
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: Thu Jul 19, 2012 7:09 am    Post subject: Reply with quote

Quote:
Once you have done this close pointer scanner AND the entire game
open up the game again, attach cheat engine.

Sometimes it's better to restart OS too.

And/or open up the game again, but load other save/checkpoint or use other profile. This should knock out bad pointers much more.

_________________
Back to top
View user's profile Send private message MSN Messenger
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Sat Jul 21, 2012 10:04 pm    Post subject: Reply with quote

Kriogenic wrote:
Here is a method you can try it requires use of the pointer scanner if you are not very familiar with it you can look around the forum for some specific tutorials regarding it...

Basically pick up a bunch of grenades (im gonna use 7 as an example here)
do your basic search of 7, throw, 6 untill you find a couple of values.

Freeze the values untill you find the one which works (even if it is just for the level) and then right click on the address and click "Pointer Scan for this Address"

Leave everything as it is EXCEPT "Nr of threads scanning" change this to a number maybe 1 - 2 higher then your amount of cores (I usually find this to be pretty optimum though with my 6 core processor I use 6 threads to be safe)

Then I click ok, give it a descriptive filename like "CrysisGrenade" then allow it to scan, I have read on the forum that this takes forever and people seem to cancel it. DO NOT CANCEL IT. For me the longest I have had to wait for it to complete was 15 minutes on Prototype 1, although some forum people have said theirs have taken an hour.

NOTE: If you get a message about too many results that is not a problem rescan still works fine as the message says and that is what we will be doing later.

Once you have done this close pointer scanner AND the entire game
open up the game again, attach cheat engine.

Find the value for your grenades again and double click on the "address" and copy the address from the box that comes up then cancel it. right click and choose "Pointer Scan for this Address" but this time hit cancel on the box that comes up.

then on the pointer scan window hit file -> open and open the file you saved before using the pointer scanner then hit the "pointer scanner" tab up the top and choose "rescan memory" and paste the address you copied before into the box and click ok save it as "CrysisGrenade2" (You can overwrite your old pointerscan file but I make a new one for backup purposes)

It will not take that long to scan as it only rescans the old results from the last pointer file.

This should knock out the amount of pointers found.

Repeat the closing, opening and attaching processes and repeat the steps one more time. (copy address, pointer scan, cancel, open, rescan, paste address)

Once this has been completed scroll to the VERY bottom of the pointer list and double click the result to add it to your table.

try locking the new value pointer scanner added and see if that works...

It is time consuming... but sometimes its worth it.
(Sorry for the long post I couldnt explain it any simplier O.o)


------------------
EDIT: Fresco also has a really great idea of using injection to modify the instructions being handled when a grenade is thrown. If you don't understand his quick explanation I can go over it in a little more detail


I did understand his explanation and also yours. I just wanna know if I can make it automatic, getting the address, finding what accesses it and injecting the code. I want CE to do that for me everytime without needing human interference to make it work.
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Sun Jul 22, 2012 9:18 am    Post subject: Reply with quote

you can code injection to a point where your code will be executed every 5 milliseconds, it's easy, just back trace the code that writes to grenades and watch for a spot that gets executed no matter what.
when you've found it, code injection there, leave the original code as it is, and add your code:
you will need the code to write 3 or how many grenades you want to your grenades address.
but since you found the pointer, insert the pointer into the code and say, write 3 here:
here's how you do it.
Code:
push eax
mov eax,["game.exe"+OFFSET]
mov eax,[eax+offset#1]
mov eax,[eax+offset#2]
...
lea eax,[eax+offset#last]
mov [eax],3
pop eax


the code above works only if the pointer points to the correct address when you start the mission with no grenades and you add then with cheat engine and it works, it gives you grenades using the pointer obviously!

if the pointer does not add you grenades from the very first start of the mission, then you can just simply use the method mentioned above.

as for ce doing the code injection stuff for you
it will never happen, however you can save you cheat table and then load it and enable the code already written by you.
just go advanced options, down left - ce main window.
and follow this procedure to make a new entry in the cheat table that will activate/deactivate your code:
code injection ...
instead of just injecting it, you will have to create 2 sections, one that will be executed to enable the code and one that will be executed to disable the code.
Code:
[ENABLE]
code that enable the code
(here goes the code that you used to enable the code the whole code that you said: it worked!!)
[DISABLE]
//and here goes the code that will deactivate the code
simply dealloc(newmem)
and restore the original value to the address where you code injected
"game.exe"+offste:
// no more jmp newmem but
//paste the code that you found under original code, when you first code injected.

now simply click file and add to cheat table
a new entry like an address will appear
and when you [X] (enable it) the code under enable will be injected/executed, and when you [ ] the code under disable will be injected/executed.

_________________
... Fresco
Back to top
View user's profile Send private message
marcelovski
How do I cheat?
Reputation: 0

Joined: 12 Jul 2012
Posts: 7

PostPosted: Sun Jul 22, 2012 6:10 pm    Post subject: Reply with quote

Fresco wrote:
you can code injection to a point where your code will be executed every 5 milliseconds, it's easy, just back trace the code that writes to grenades and watch for a spot that gets executed no matter what.
when you've found it, code injection there, leave the original code as it is, and add your code:
you will need the code to write 3 or how many grenades you want to your grenades address.
but since you found the pointer, insert the pointer into the code and say, write 3 here:
here's how you do it.
Code:
push eax
mov eax,["game.exe"+OFFSET]
mov eax,[eax+offset#1]
mov eax,[eax+offset#2]
...
lea eax,[eax+offset#last]
mov [eax],3
pop eax


the code above works only if the pointer points to the correct address when you start the mission with no grenades and you add then with cheat engine and it works, it gives you grenades using the pointer obviously!

if the pointer does not add you grenades from the very first start of the mission, then you can just simply use the method mentioned above.

as for ce doing the code injection stuff for you
it will never happen, however you can save you cheat table and then load it and enable the code already written by you.
just go advanced options, down left - ce main window.
and follow this procedure to make a new entry in the cheat table that will activate/deactivate your code:
code injection ...
instead of just injecting it, you will have to create 2 sections, one that will be executed to enable the code and one that will be executed to disable the code.
Code:
[ENABLE]
code that enable the code
(here goes the code that you used to enable the code the whole code that you said: it worked!!)
[DISABLE]
//and here goes the code that will deactivate the code
simply dealloc(newmem)
and restore the original value to the address where you code injected
"game.exe"+offste:
// no more jmp newmem but
//paste the code that you found under original code, when you first code injected.

now simply click file and add to cheat table
a new entry like an address will appear
and when you [X] (enable it) the code under enable will be injected/executed, and when you [ ] the code under disable will be injected/executed.

What am I supposed to do when I hit advanced options? The way I'm currently enabling the cheat is checking the memory view, going to the auto assemble and then I code inject the address cryaction.dll+1D6E2 and changing the original code. What am I supposed to do after hitting advanced options?
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