View previous topic :: View next topic |
Author |
Message |
jihad Newbie cheater
Reputation: 0
Joined: 11 Nov 2006 Posts: 21
|
Posted: Fri Apr 25, 2008 5:56 pm Post subject: Alternatives to NOPing? |
|
|
I am hacking bioshock for my second playthrough of it, and i
have several codes in the disassembler, one of which is a tracker
for every ammo or inventory number there is.
So it controls everything really. And even though NOPing it
is nice, it makes it so I cannot gain ammo for things i'm all
out of ammo for. What i'm asking is: Is there a way to restrict
the code to only allow it to increase the values of other addresses?
Also, how come so many other times the "find out what code
writes to this address" function doesnt work? I was amazed to
find that in Bioshock it actually works. (i'm not hating on cheat
engine, i'm just trying to understand it)
img201.imageshack .us/img201/8509/bioshckhaxrc9.png
Last edited by jihad on Sat Apr 26, 2008 3:19 pm; edited 2 times in total |
|
Back to top |
|
 |
Labyrnth Moderator
Reputation: 10
Joined: 28 Nov 2006 Posts: 6301
|
Posted: Fri Apr 25, 2008 6:43 pm Post subject: |
|
|
If you dont see what write try access's it.
Also the instruction your getting, it would be nice if you posted it so people can look at it. And maybe give you some ideas.
even better would be screen shot of CE in memory view or this instruction.
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25792 Location: The netherlands
|
Posted: Fri Apr 25, 2008 10:26 pm Post subject: |
|
|
do a code injection at that location and add in code that does the check for you
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
 |
Psy Grandmaster Cheater Supreme
Reputation: 1
Joined: 27 Mar 2008 Posts: 1366
|
Posted: Sat Apr 26, 2008 2:31 am Post subject: |
|
|
Ok so building on what DB said, you could make the ammo increase instead when it is supposed to decrease:
Code: |
[enable]
alloc(cave,50)
label(back)
cave:
add [eax+4c],ecx
sub ebx,ecx
jmp back
10c78996:
jmp cave
back:
[disable]
10c78996:
sub [eax+4c],ecx
sub ebx,ecx
dealloc(cave)
|
That should work, but its done in notepad, so there may be an error
All I have done in that case is reverse a game instruction, here i've changed sub to add. What this code will normally do is subtract the value of ecx from the value stored in the pointer [eax+4c].
I noticed in your replaced code window that you have named this one 'overall' storage for ammo. So i'm assuming thats your stock of ammo left and not what is currently in the clip? If i'm correct in thinking that then you might want to work with the opcode that writes to that so you can achieve a no-reload hack.
|
|
Back to top |
|
 |
jihad Newbie cheater
Reputation: 0
Joined: 11 Nov 2006 Posts: 21
|
Posted: Sat Apr 26, 2008 2:25 pm Post subject: |
|
|
Yea I was NOPing the code that subtracted ammo from the currently loaded clip, which made you never have to reload.
Thanks for the help, by the way
|
|
Back to top |
|
 |
|