| View previous topic :: View next topic |
| Author |
Message |
Wronschien How do I cheat?
Reputation: 0
Joined: 30 Nov 2015 Posts: 8
|
Posted: Wed Dec 23, 2015 9:31 am Post subject: God mode when one hit kills you |
|
|
Hello, I'm trying to get a god mode in a game where one hit kills you.
All the tutorials I could find only talk about detecting a health-meter value, which this game doesn't have. I'm new to CE and can't think of a way.
Are there any methods to search for that ?
|
|
| Back to top |
|
 |
abystus Expert Cheater
Reputation: 1
Joined: 09 Dec 2010 Posts: 140
|
Posted: Wed Dec 23, 2015 9:35 am Post subject: |
|
|
Start by finding the "living" flag which is usually a 0 or 1 depending on the game (ex: 1 while living, 0 when dead). Once you find this, you need to disable the routine that sets it to the death value when you die. To do this, find out what writes to that address, then die (something should write when you die). Once you have the routine in question (listed in the window from the previous step), you should be able to modify the code in such a way that the death value is never set (several ways to do this). Alternatively, you could find what reads that address, then modify the code in such a way that the game always reads you as being the "living" value regardless of the current value at that address.
_________________
Hitler are you bored? Watch some of my hacks here. Want 2 gb of online storage space for free? Get Dropbox for computer, phone, etc...
Last edited by abystus on Wed Dec 23, 2015 9:42 am; edited 3 times in total |
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4714
|
Posted: Wed Dec 23, 2015 9:36 am Post subject: |
|
|
Unknown initial value, then changed / unchanged scans while you're alive and just after you die may result in something.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Wed Dec 23, 2015 12:39 pm Post subject: |
|
|
| Ultimap.
|
|
| Back to top |
|
 |
Wronschien How do I cheat?
Reputation: 0
Joined: 30 Nov 2015 Posts: 8
|
Posted: Wed Dec 23, 2015 2:43 pm Post subject: |
|
|
ultimap ?
Anyway, I've found 4 values that switch between 0 and 1 when dying or respawning. I'm messing around the codes that write or access them, maybe I'll be able to do it but assembly really is not friendly to me !
|
|
| Back to top |
|
 |
abystus Expert Cheater
Reputation: 1
Joined: 09 Dec 2010 Posts: 140
|
Posted: Wed Dec 23, 2015 2:56 pm Post subject: |
|
|
| Wronschien wrote: | | Anyway, I've found 4 values that switch between 0 and 1 when dying or respawning. I'm messing around the codes that write or access them, maybe I'll be able to do it but assembly really is not friendly to me ! |
What is the name of the game? Also, if you lock the values (of those 4 addresses) to the value of "living" are you still able to die?
_________________
Hitler are you bored? Watch some of my hacks here. Want 2 gb of online storage space for free? Get Dropbox for computer, phone, etc... |
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4714
|
Posted: Wed Dec 23, 2015 3:03 pm Post subject: |
|
|
Ultimap: http://www.youtube.com/watch?v=T5sXoEEPFBQ
Also, don't freeze the values to test it, as CE might not write to the value fast enough in order to prevent you from dying. Replace the instruction that writes the dead value to the address with NOPs. It's usually safe to do that so long as the instruction in question doesn't modify the stack or the fpu stack.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
Wronschien How do I cheat?
Reputation: 0
Joined: 30 Nov 2015 Posts: 8
|
Posted: Wed Dec 23, 2015 3:05 pm Post subject: |
|
|
The game is Defy Gravity, I'd like to do that also for Ethan Meteor Hunter though.
I've tried to lock the values but didn't work, they're probably secondary values that are affected with death. That's why I'd like to better understand assembly code to find what the "master trigger" is.
edit : nopping didn't work either
Last edited by Wronschien on Wed Dec 23, 2015 3:09 pm; edited 1 time in total |
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Wed Dec 23, 2015 3:07 pm Post subject: |
|
|
| Wronschien wrote: | | ultimap ? | -CE feature that was designed for things like this.
|
|
| Back to top |
|
 |
abystus Expert Cheater
Reputation: 1
Joined: 09 Dec 2010 Posts: 140
|
Posted: Wed Dec 23, 2015 3:11 pm Post subject: |
|
|
| Wronschien wrote: | The game is Defy Gravity, I'd like to do that also for Ethan Meteor Hunter though.
I've tried to lock the values but didn't work, they're probably secondary values that are affected with death. That's why I'd like to better understand assembly code to find what the "master trigger" is. |
I agree with ParkourPenguin in that Cheat Engine may not be writing the value quick enough to prevent the death routine from firing normally. Find the line writing the value to said address when you die, right-click and choose to "Replace with code that does nothing". Do this for each address and see if that resolves the issue. The other option is Ultimap, though setting up/using this can be a big PITA for certain games/computers.
_________________
Hitler are you bored? Watch some of my hacks here. Want 2 gb of online storage space for free? Get Dropbox for computer, phone, etc... |
|
| Back to top |
|
 |
Wronschien How do I cheat?
Reputation: 0
Joined: 30 Nov 2015 Posts: 8
|
Posted: Wed Dec 23, 2015 6:37 pm Post subject: |
|
|
Well no luck, nopping all these didn't change a thing, I managed to run ultimap but this seems too advanced for my basic knowledge.
I guess I won't do it then, pity but no matter, thank you all !
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Wed Dec 23, 2015 9:31 pm Post subject: |
|
|
If you can find the call that gets executed during the death sequence, a simple jump or nop will probably solve your problem.
Don't give up on ultimap if you are able to run it; it's not that difficult to figure out, comparatively speaking.
|
|
| Back to top |
|
 |
Wronschien How do I cheat?
Reputation: 0
Joined: 30 Nov 2015 Posts: 8
|
Posted: Thu Dec 24, 2015 2:41 am Post subject: |
|
|
Actually one of the problems with this game is that the function calls don't seem attached to the main exe (I think the game is via XNA btw), so I can't filter this way and don't know which other routine is the right one.
Edit :
Ah I went forward eventually, I found a call that can be nopped and then no hit taken so god mode indeed (at least from one hazard, I would have to test from other ones). But the problem is that the instruction is dynamically allocated and the address it points to also changes dynamically.
I've tried to set up an aobscan as was hinted to me in a previous topic, the call takes up 6 bytes (so 6 nops) but I can only know the first 2 to disable the cheat (I took the structure from Rydian's tutorial) :
| Code: | [ENABLE]
aobscan(nodamage,8B 43 10 8B 48 10 8B 15 ?? ?? ?? ?? 39 09 FF 15 ?? ?? ?? ??)
label(_nodamage)
registersymbol(_nodamage)
nodamage+10:
_nodamage:
db 90 90 90 90 90 90
[DISABLE]
_nodamage:
db FF 15 <- what to put there ?
unregistersymbol(_nodamage)
|
Also the game crashes as soon as I enable this script, I thought that would only crash when I disabled it, allowing me to check that it works anyway, just like a manual nopping of the call does.
Here is a screenshot of the memory viewer where the instruction in question is the highlighted one :
| Description: |
|
| Filesize: |
69.1 KB |
| Viewed: |
21218 Time(s) |

|
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4714
|
Posted: Thu Dec 24, 2015 10:03 am Post subject: |
|
|
First of all, make sure that AoB signature is unique (set writable&executable checkboxes to grey and scan for it).
Secondly, your offset on where you're starting to NOP things is wrong. The first byte (8B 43 10 ...) is nodamage+0. The 15th byte (the call; ... FF 15 ?? ??...) is nodamage+E, not nodamage+10.
As for disabling the script, the only easy solution I can think of is to use Lua to back up the bytes. Here's a full Lua version of that script:
| Code: | {$lua}
[ENABLE]
local res = AOBScan("8B 43 10 8B 48 10 8B 15 ?? ?? ?? ?? 39 09 FF 15")
if res == nil or res.Count ~= 1 then
showMessage("Invalid AoB signature.")
return
end
nodamageCheat = {}
nodamageCheat.addy = getAddress(res[0])+14
nodamageCheat.backup = readBytes(nodamageCheat.addy, 6, true)
writeBytes(nodamageCheat.addy, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90)
res.destroy()
[DISABLE]
if nodamageCheat ~= nil then
writeBytes(nodamageCheat.addy, nodamageCheat.backup)
nodamageCheat = nil
end |
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Thu Dec 24, 2015 10:30 am Post subject: |
|
|
@ParkourPenguin, There is readmem feature:
| Code: | [ENABLE]
aobscan(nodamage,8B 43 10 8B 48 10 8B 15 ?? ?? ?? ?? 39 09 FF 15 ?? ?? ?? ??)
label(_nodamage)
registersymbol(_nodamage)
alloc(backup,256)
registersymbol(backup)
backup:
readmem(nodamage+e,6)
nodamage+e:
_nodamage:
db 90 90 90 90 90 90
[DISABLE]
_nodamage:
readmem(backup,6)
unregistersymbol(_nodamage)
unregistersymbol(backup) |
_________________
|
|
| Back to top |
|
 |
|