Sil3nt_Pr0digy posted on Mar 18, 2010 3:24:40 PM - Report post
Ok, So Now that I got the major things for Spore, I'm going to try to make a new trainer for a different game, I'm stuck between ME:2, Borderlands, RE:5, DMC: 4, and Dead Space....
PHAT CAT
DABhand posted on Mar 18, 2010 3:49:33 PM - Report post
Yeah TSearch is too old and outdated now.
But glad you figured it out.
Oh and Don't forget some tuts on ASM and defeating DMA
Sil3nt_Pr0digy posted on Mar 18, 2010 6:11:01 PM - Report post
quote:
originally posted by DABhand
Yeah TSearch is too old and outdated now.
But glad you figured it out.
Yeah it was NOPing lines that weren't even involved with the selected code; And that was what was causing it to crash.
ELITE
Sil3nt_Pr0digy posted on Mar 18, 2010 10:56:44 PM - Report post
Okay, So I'm confused about this single floating-point scalar instruction... can I treat xmm registers the same as eax registers when I am creating a code cave? I was just working on NOPs, but that is just the easy way out of coding, and now i'm wanting to kick it up a notch to code injection with code caves. And I need to know if I can treat xmm registers like eax registers for code injection.
[Edited by Sil3nt_Pr0digy, 3/18/2010 10:59:34 PM]
Okay, So I found out that I can't... and that I need to isolate it more, to find the location of the player's health... i'm trying to find websites which properly explain how movss works.
[Edited by Sil3nt_Pr0digy, 3/19/2010 12:14:52 AM]
ELITE
Sil3nt_Pr0digy posted on Mar 19, 2010 12:39:14 AM - Report post
while test NOPing lines of code that access the health function, I found an address that when NOP'd results in one hit kills for nero, dante, and any enemies.
Nice little find for an accident.
It is the same premise as Heaven Or Hell mode, except it will work to your advantage on Dante Must Die mode, because normally enemies have normal health, and Dante will die from 1 hit... It evens it up as if it was still Heaven Or Hell mode :þ
Kind of a cheap thing, but nice to have anyways.
ELITE
Sil3nt_Pr0digy posted on Mar 20, 2010 12:40:52 PM - Report post
Decided to move on to Dead Space while trying to understand the XMM registers better. It seems that almost every game I come across uses those XMM registers for health and similar things.
I started using code injection for my trainers :þ yay, I no longer have to do the noobish way of simply NOPing code and I actually build a success code cave. Not that it was difficult, I'm just glad that I am grasping it correctly.
[Edited by Sil3nt_Pr0digy, 3/20/2010 12:42:05 PM]
ELITE
Sil3nt_Pr0digy posted on Mar 20, 2010 5:26:49 PM - Report post
Ok... A bit of a problem... here is my current DS code with Code Injection:
Original Code From Memory: 004F930E - 89 be 84 06 00 00 - mov [esi+00000684],edi Code To Be Injected: 004002E5 - mov [esi+00000684],157
The problem is that it is writing the second half for both pieces of code(the call instruction and the nop instruction) and if I am messing with the code in CE, the it works fine; But if I don't, and I run it, the game crashes, curious as to why it was doing this, I used Debug.
When running Debug I found that 12 bytes per button were not being written, the first half of the code; curious, isn't it?
Does anyone know why this would happen? why can I inject my code in CE, but not using the poke function in a TMK built trainer?
[Edited by Sil3nt_Pr0digy, 3/20/2010 5:29:52 PM]
ELITE
Sil3nt_Pr0digy posted on Mar 20, 2010 6:22:53 PM - Report post
Ha! I hacked my first XMM register... well, sortof... i used the same address that the movss was using, and I instead used mov, to the same address, and then converted a float value to dec, then to hex, coded it in, and voila, Infinite Oxygen!
Found out what the problem was... I was using a Read-Only address for my code cave, dumb mistake, I forgot to uncheck to scan for read-only address. Oh well, it's fixed now :þ