gefundenen brakpoint verarbeiten/process found brakpoint

Started by sniper82, March 15, 2012, 05:34:42 AM

Previous topic - Next topic

sniper82

hi leute
also meine frage ist einfach.
wen ich meinen code in den breakpoint schiebe und unter der option read suchen lasse,
kommt manschmal so ein komisches ergebniss.
zb r0,4(r31) das ist ja noch ok. Aber wenn ich dan bei r0 schaue kommt kein wert sondern sowas
8045E465 <was ist das ein wert oder eine adresse.
sollte es ein wert sein wie muss ich diesen verarbeiten?

2. wenn ich einen float code schreibe der immer den selben wert hat, wie ist der aufgebaut? im 32 bit bereich,
so habe ich es bisher gemacht klappt aber nicht immer
lis f1,0x4f00
ori f1,f1,0x0000
stw f1,456(r31)
wie man den float umrechnet weis ich ja mitlerweilen
----------------------------------------------------
hi people
So my question is simple.
Who do I code my breakpoint in the slide and read under the search option leave,
so bad habit is a strange result.
eg r0, 4 (r31) is still ok. But when I look at r0 dan is not worth something but
8045E465 <what is a value or an address.
It should be a value how do I handle this?

Second if I write a code of float always has the same value, as is the built up? in 32-bit range,
I've done so far it works but not always.
lis f1, 0x4f00
ori f1, f1, 0x0000
stw f1, 456 (r31)
how one converts the float mitlerweilen yes I know
Translation by Goggle. I unfortunately only speak German

Stop ACTA and Sopa
http://wiird.l0nk.org/forum/index.php/topic,9178.0.html

dcx2

I'm not sure I understand your question.  So I will try to explain a lot.

A breakpoint is used to discover what ASM is reading or writing to an address.  It can also be used to discover when an ASM address is being executed.

For instance, pretend you search for Mario's HP.  And suppose you find it at address 80543210.  So you would set a write breakpoint (WBP) on that address.  Then, you would run around until Mario got hit.  At this point, some ASM will will write to Mario's HP address, for this example 80543210.  The WBP will show you what ASM is writing that address.  It will be a stw (STore Word) or sth (STore Half-word) or or stb (STore Byte).  (Notice the capital letters)

For example, let's say it is stw r0,4(r31).  Stores are ASM which write data to an address (80543210).

The data to write will be in the first register, for this example r0.  For instance, Mario starts with 3 HP, and when he gets hit, the game subtracts 1 HP, and so Mario will now be left with 2 HP.  Therefore r0 = 00000002

The address will be the sum of the number outside of the parentheses, and the value in the register inside the parentheses.  For this example, r31 = 8054320C.  This means it would write to 8054320C + 4 = 80543210.

You could also set a read breakpoint (RBP) on that address (80543210).  This RBP will show you what ASM is reading that address.  Most of the time you will WBP, but eventually you will want to RBP.  RBP will look like lwz (Load Word and Zero), lhz (Load Half-word and Zero), lbz (Load Byte and Zero).  For example, lwz r0,4(r31).  In this case, the value in r0 will be replaced by the value at the address 4(r31) after this ASM has executed.  Press the Step Into button to execute the ASM and you will then see the value in r0.  You can also click the Show Mem button to look at the address the ASM will read from without executing the ASM.

RBP and WBP are usually set by right-clicking the address in Memory Viewer (MemView).  In contrast, Execute Breakpoint (XBP) is set by right-clicking an address in Disassembly (Disasm).  An XBP will show you when an ASM instruction is executed.  Don't XBP on data, only XBP on ASM.  An XBP on data will never show anything, because you cannot execute data.  You can only execute ASM.

---

You cannot lis or ori into an freg.  You must use normal registers.  Also, it is unnecessary to ori with 0x0000.  Also, always use r12, then r11, then r10, etc.  I would not go farther than r7.  This is only a guideline.  Usually it will work because the register r12 is usually the last register the game will use, r11 is the second-to-last register, r10 is the third-to-last, etc.  Depending on the ASM this may not be the case.  Never ever use r1, r2, or r13.

lis r12,0x4F00
stw r12,456(r31)

You may need another instruction depending on the ASM you are hooking.  The hook address is the address of the ASM that you got from your WBP or RBP.  Usually you will want to make sure your C2 code contains the ASM that was at the hook address, usually the last instruction.  This is because the hook address ASM will be replaced with a branch ASM to your C2 code.

---

I hope some of this information helps you. 

Bully@Wiiplaza

My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

sniper82

hi danke erstmal für die mühe. habe leider bloß die hälfte verstanden, da goggle mir nur wortsalat gemacht hat aber das was ich verstanden habe hilft mir etwas.
----------------------
hi first thanks for the effort. Unfortunately I understand only the half, since I only goggle word salad made ​​but what I have understood something to help me.
Translation by Goggle. I unfortunately only speak German

Stop ACTA and Sopa
http://wiird.l0nk.org/forum/index.php/topic,9178.0.html

Bully@Wiiplaza

Quote from: sniper82 on March 18, 2012, 07:14:40 PM
hi danke erstmal für die mühe. habe leider bloß die hälfte verstanden, da goggle mir nur wortsalat gemacht hat aber das was ich verstanden habe hilft mir etwas.
----------------------
hi first thanks for the effort. Unfortunately I understand only the half, since I only goggle word salad made ​​but what I have understood something to help me.
Es ist kein Vorteil, Englisch nicht zu können um ASM zu lernen.

---

It is no advantage to not know English while learning ASM.
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

sniper82

ich weiß, aber mein geringes enlisch habe ich durch meine lese rechtschreib schwäche. versuche es trosdem und kleine erfolge sind ja auch erfolge. und an hand meiner codes kann man ja sehen das es voran geht.
zu meiner eigentlichen frage, kannst du mir sagen was das ist wen ich suche? ps versuche schon englisch zu lernen, manches kann ich so übersetzen aber leider noch zu wenig. und noch ne frage kennst du ein tut wie ich float richtig in asm umschreiben kann?
--------------------------------------------------------------------------------------------------------
I know, but my little enlisch I've read through my weakness and spelling. try trosdem successes and small successes are so well. and in my hand one can see the code it precedes.
question about my actual, can you tell me what this is who I am looking for? ps been trying to learn English, many can I translate so but unfortunately not enough. and still some question as I do know you have a right float can be rewritten in asm?
Translation by Goggle. I unfortunately only speak German

Stop ACTA and Sopa
http://wiird.l0nk.org/forum/index.php/topic,9178.0.html