| View previous topic :: View next topic |
| Author |
Message |
kriptix Advanced Cheater
Reputation: 1
Joined: 05 Jun 2011 Posts: 61
|
Posted: Fri Sep 04, 2015 7:04 am Post subject: [Solved]Bioshock infinite creating inf health and ohk |
|
|
Hey everyone. I'm writing a trainer for bioshock infinite and ran into a small problem. I know the answer is simple yet i can't seem to figure it out. The player and enemy share the same health address. I wrote a script that, i thought, should of worked, but doesn't. I'm trying to write a infinite health option for it. Once i figure that out i'll be able to write a one hit kill option as well. Here is my code.
| Code: | cmp [edi+000025FC],640
jge _playerHealth
movss [edi+000025FC],xmm0 //original code
jmp returnhere
_playerHealth:
mov [edi+000025FC],640
exit:
jmp returnhere |
Here is a ss of the address in dissect data
[img]http://i.imgur.com/XgEzEGJ.jpg?1[/img]
//Guess i can't link images yet
The first line is the actual health, the 2nd is the max health, and the 4th is the max shield. I noticed at 2c that the player is always 1 and enemy npc are always 1.2 so i thought about trying to cmp there too, but haven't done it yet. Any advice? Thanks
Last edited by kriptix on Tue Sep 08, 2015 9:28 am; edited 1 time in total |
|
| Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Fri Sep 04, 2015 7:41 am Post subject: |
|
|
You just compare player and enermies; and find the unique thing that you can use to identify them with. Sometimes you can find it in 5 minutes; sometimes in 10; and sometimes days or weeks.
Besides; [edi+25FC] is way too high. If you go too high it might go over the structure.
|
|
| Back to top |
|
 |
kriptix Advanced Cheater
Reputation: 1
Joined: 05 Jun 2011 Posts: 61
|
Posted: Fri Sep 04, 2015 7:58 am Post subject: |
|
|
| deama1234 wrote: | | You just compare player and enermies; and find the unique thing that you can use to identify them with. |
Yea I did that. I cmp the address to 640 which equals 1600 and to jump if greater or equal. And I made sure my value was at 1600 when i did it.
|
|
| Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Fri Sep 04, 2015 8:04 am Post subject: |
|
|
| Congrats, you just graduated from comparing values in data structures.
|
|
| Back to top |
|
 |
kriptix Advanced Cheater
Reputation: 1
Joined: 05 Jun 2011 Posts: 61
|
Posted: Fri Sep 04, 2015 8:08 am Post subject: |
|
|
| LOL what a tool. Congrats on a useless post
|
|
| Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Fri Sep 04, 2015 8:11 am Post subject: |
|
|
| Well, what else do you want me to say? You want me to say that at offset 2344 there's this super unique value to the player that only works for him?
|
|
| Back to top |
|
 |
kriptix Advanced Cheater
Reputation: 1
Joined: 05 Jun 2011 Posts: 61
|
Posted: Fri Sep 04, 2015 8:43 am Post subject: |
|
|
| Fuck this. I'm done. I'm tired of dealing with people who just talk shit to people instead of explaining the problem. I was asking why my code doesn't work. All you did was say i need to compare unique value(that i already explained)and then from there just decided to be a dumbass. If you want to help people then help then. Why do people feel the need to act like assholes other than being immature little kids?
|
|
| Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Fri Sep 04, 2015 9:23 am Post subject: |
|
|
| Quote: | | I noticed at 2c that the player is always 1 and enemy npc are always 1.2 so i thought about trying to cmp there too, but haven't done it yet. |
You done that yet?
|
|
| Back to top |
|
 |
vng21092 Grandmaster Cheater
Reputation: 15
Joined: 05 Apr 2013 Posts: 644
|
Posted: Fri Sep 04, 2015 9:30 am Post subject: |
|
|
... can't we all just get along? Anyways... yes, 640 in HEX DOES equals 1600 in 4 bytes, BUT, remember your health is a float value and NOT a 4 byte. You're gonna wanna write cmp [edi+000025FC],(float)1600 . And as of right now your code is wrong anyway, you are comparing your current health to 1600, and if they match, you have code to move your current health into your current health, which doesn't help your cause. You see how 4 bytes after your current health holds your max health? You wanna compare THAT, so you're better off writing something like
| Code: | cmp [edi+2600],(float)1600
je infiniteHealth
jmp originalcode
infiniteHealth:
movss xmm0,[edi+2600]
movss [edi+25FC],xmm0
jmp returnhere
originalcaode:
movss [edi+000025FC],xmm0
jmp returnhere
| However, you should know that making a compare against max health isn't the greatest idea... Why? Because what if another character in the game ALSO has a max health of 1600? Then you'd be granting them infinite health also, just my 2 cents.
|
|
| Back to top |
|
 |
kriptix Advanced Cheater
Reputation: 1
Joined: 05 Jun 2011 Posts: 61
|
Posted: Fri Sep 04, 2015 11:07 am Post subject: |
|
|
Arrg. Thanks vng21092. Not sure wtf i was thinking when cmp'n with hex, but yes it works now. Thanks again.
And i'm sorry for blowing up earlier, but i just get really irritated when people choose to be like that when i was clearly not asking to be spoon fed and wondering why my code doesn't work. In the future i'll just ignore them as if they didnt' post in the first place. Too old to be dealing with bs anyways. thanks again vng!!
|
|
| Back to top |
|
 |
|