Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #555 on: August 07, 2011, 04:38:47 PM » |
|
...strg = ctrl? It already does this. Restart search grayed out...I'll need some way to reproduce this bug. GCT Code Undo...it looks like you're using the 20 code the way an F2 code is supposed to be used. Either way, the ## line is always poked when undoing codes. It assumes that the ASM does not change. If the ASM changes, it has no way to know and will poke anyway. 1.) yeah, I forgot to take the english meaning. It´s ctrl. 2.) It happens, when I do a search with some results left and change tabs (that bug often happened to me, it shouldn´t be too hard to reproduce) 3.) I mean that the C2 code is always active, when having the undo code infront of it, ignoring the 20 condition. I don´t mean that it pokes the undo either way. It´s about the way how the code is applied in-game. Without the undo line above, there are no problems with my 20 condition. However, how to code in F2? Can you show it on my code example? I don´t understand the XOR part. The rest should be clear. Thx There´s also the XOR calculator...
|
|
« Last Edit: August 07, 2011, 04:43:29 PM by Bully@Wiiplaza »
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #556 on: August 07, 2011, 05:57:31 PM » |
|
2) Without a specific series of actions that reliably reproduces the bug, I can't find it. It's not as simple as looking for the bug after noticing a button is disabled; I have to see what causes it to become disabled as it happens. I have had search results left and switched tabs with no problem. 3) Think carefully about what happens. -a) You click send cheats -b) GCT Code Undo pokes 809CB1B4 with 807F138C -c) The codes are then sent -d) When the codes are executed, the 20 code says "is 809CB1B4 == 807F138C?". Well...you just poked it in step -b! So of course the 20 code will say it's true 4) Do you understand the purpose of the F2 code? http://www.geckocodes.org/index.php?arsenal=1#F2Explaining XOR is beyond the scope of this post. XOR is another binary function, like AND, OR, NOT. Do some googling if you want to know what XOR means. Windows Calculator in scientific mode can do XOR. But it's tedious to XOR many values together, which is what the XOR calculator is for.
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #557 on: August 07, 2011, 08:46:03 PM » |
|
2) Without a specific series of actions that reliably reproduces the bug, I can't find it. It's not as simple as looking for the bug after noticing a button is disabled; I have to see what causes it to become disabled as it happens. I have had search results left and switched tabs with no problem. 3) Think carefully about what happens. -a) You click send cheats -b) GCT Code Undo pokes 809CB1B4 with 807F138C -c) The codes are then sent -d) When the codes are executed, the 20 code says "is 809CB1B4 == 807F138C?". Well...you just poked it in step -b! So of course the 20 code will say it's true 4) Do you understand the purpose of the F2 code? http://www.geckocodes.org/index.php?arsenal=1#F2Explaining XOR is beyond the scope of this post. XOR is another binary function, like AND, OR, NOT. Do some googling if you want to know what XOR means. Windows Calculator in scientific mode can do XOR. But it's tedious to XOR many values together, which is what the XOR calculator is for. 2.) kk, I may post later being more accurate 3.) obviously! I understood it now... 4.) It´s checking if the XOR checksum is true, then it executes the codes (like 20 + C2)
|
|
|
Logged
|
|
|
|
Stuff
Hacker
Sr. Member
Karma: 31
Posts: 415
0x80000000 = -0
|
|
« Reply #558 on: August 08, 2011, 03:57:46 AM » |
|
2) Without a specific series of actions that reliably reproduces the bug, I can't find it. It's not as simple as looking for the bug after noticing a button is disabled; I have to see what causes it to become disabled as it happens. I have had search results left and switched tabs with no problem. I get this issue too. Usually when I have to reconnect, though. Cuz it randomly disconnects. >.> So maybe something in the "connect gecko" function.
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #559 on: August 08, 2011, 04:13:56 AM » |
|
...it randomly disconnects?
When you experience a random disconnection, close Gecko.NET, go look in the ./Logs/ folder for a file called GDNDebug [date/time].log. This is a record of all the exceptions that have been caught. See if there's an exception that correlates with your random disconnect. All entries in the log are date/timestamped as well, so if you do it immediately after the random event it should be the last thing in the log with a very recent timestamp.
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #560 on: August 08, 2011, 08:13:02 PM » |
|
explain me the following dcx2, plz 1.) I send the following code on the main menu of the game. ## 801E8B28 40800020 041E8B28 48000020 2.) I get myself to the part of the game, where the address executes (branch in this case) 3.) The code works, I press "disable codes" to let the undo code poke the default value -> It crashes and disconnects gecko.net! Also, if I send the code when it´s already executing, crashes the game. Idk why this happens... Btw. I´m using codeshandler < 1.9.3.1. with gecko.NET 0.66.6 And if I just send the code in this format: 041E8B28 48000020 crashes instantly also. Btw. poking the value does not crash, it works. It´s not a "crashy" code.
|
|
« Last Edit: August 08, 2011, 08:21:32 PM by Bully@Wiiplaza »
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #561 on: August 08, 2011, 08:24:16 PM » |
|
Are you using 0.66.6?
Usually, when an ASM patch fails, but the poke works, it means there was a problem invalidating and flushing the cache. I saw the same problem with SafeResume when my C0 codes were crashing.
When you say "code handler < 1931", do you mean you're using Gecko OS Mod or some USB loader that's using the old code handler? If so...then I have no clue what the problem is, because none of my debugger patches would be applied in that case.
EDIT:
Hm. It works by poke. I bet it also works when it's loaded as SD cheats, too.
When it crashes, does the BP Tab show anything when you press Step Into?
Are there any other codes active?
|
|
« Last Edit: August 08, 2011, 08:26:29 PM by dcx2 »
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #562 on: August 08, 2011, 08:29:50 PM » |
|
Are you using 0.66.6?
Usually, when an ASM patch fails, but the poke works, it means there was a problem invalidating and flushing the cache. I saw the same problem with SafeResume when my C0 codes were crashing.
When you say "code handler < 1931", do you mean you're using Gecko OS Mod or some USB loader that's using the old code handler? If so...then I have no clue what the problem is, because none of my debugger patches would be applied in that case.
EDIT:
Hm. It works by poke. I bet it also works when it's loaded as SD cheats, too.
When it crashes, does the BP Tab show anything when you press Step Into?
Are there any other codes active?
1.) It works by poke and obviously by SD Cheat 2.) I can´t get/click anywhere after it crashed. It says "Connection failed" and the app is frozen. "Error sending command to the gecko" and everything greys out. That´s normally the case when it crashed 3.) This is the only active code. I doublechecked and the lines counter said 1/220 --- It never failed like that with the codeshandler I often use. Same happened with gecko.NET 0.66.5 btw.
|
|
« Last Edit: August 08, 2011, 08:35:15 PM by Bully@Wiiplaza »
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #563 on: August 08, 2011, 08:33:48 PM » |
|
You didn't answer this question. When you say "code handler < 1931", do you mean you're using Gecko OS Mod or some USB loader that's using the old code handler? My patches aren't applied to old code handlers.
Do you have this issue with WiiRDGUI?
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #564 on: August 08, 2011, 08:37:51 PM » |
|
You didn't answer this question. When you say "code handler < 1931", do you mean you're using Gecko OS Mod or some USB loader that's using the old code handler? My patches aren't applied to old code handlers.
Do you have this issue with WiiRDGUI?
I used config. USB Loader. Connecting gecko.net didn´t crash. Progress bar is a bit laggy on v 0.66.6 WiiRd GUI does not work on my laptop: I´m too lazy to switch disks all the time. >_< I always use USB Loader except for the game that´s in the disk slot. Same disk mostly remains there for a pretty long time...
|
|
« Last Edit: August 08, 2011, 08:41:21 PM by Bully@Wiiplaza »
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #565 on: August 08, 2011, 08:48:23 PM » |
|
Progress bar is a bit laggy on v 0.66.6 What do you mean, "laggy"? I should probably include some message box that pops up when you connect to a debugger that can't be patched. But if your loader supports F6 codes then it's definitely using a supported code handler. I don't know what's causing your 04 code to fail. Since it's just a branch, you could try using a C2 code. You'll need to make sure CTR and LR are safe to use, and then you can load the destination address of the branch into r12 and then bctr. lis r12/ori r12/mtctr r12/bctr. If that works, the problem was likely the cache not being invalidated or flushed. EDIT: also, since this seems like more of a problem with a specific code than with Gecko.NET you might want to create a thread in Wii Game Hacking Help.
|
|
« Last Edit: August 08, 2011, 08:50:20 PM by dcx2 »
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #566 on: August 08, 2011, 08:55:12 PM » |
|
Progress bar is a bit laggy on v 0.66.6 What do you mean, "laggy"? I should probably include some message box that pops up when you connect to a debugger that can't be patched. But if your loader supports F6 codes then it's definitely using a supported code handler. I don't know what's causing your 04 code to fail. Since it's just a branch, you could try using a C2 code. You'll need to make sure CTR and LR are safe to use, and then you can load the destination address of the branch into r12 and then bctr. lis r12/ori r12/mtctr r12/bctr. If that works, the problem was likely the cache not being invalidated or flushed. EDIT: also, since this seems like more of a problem with a specific code than with Gecko.NET you might want to create a thread in Wii Game Hacking Help. 1.) it dumps lots of stuff when changing to the gct tab (and it dumps once, when selecting another code) 2.) yep, it supports F6 codes (probably version 1.8 or so) 3.) other branches with same game, same loader, same gecko.net don´t crash! Well, as long as the freezing 04 code works as gct, it´s fine. Is there are way to fix "cache not being flushed or invalidated" ? Seems like it´s a "random" error.
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #567 on: August 08, 2011, 09:02:19 PM » |
|
1) When you switch to the GCT tab, it auto calculates how many code lines are available. The first time you switch to the tab, it does this for each code that's loaded, and I'm not sure why but it's harmless. Then, each time you select a code to enable or disable it, it re-calculates the code size. Keep in mind that the total code list can change depending on whether you're using extended code list, or 1932 code handler (the 1932 handler keeps an "unhook list", and the list takes up space in the code list)
3) If the branch was a conditional branch, you could try to make the condition always true. Then you won't need to patch the branch. As far as fixing the cache problem, there wouldn't be any way to do it without a code handler patch to the 04 code.
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #568 on: August 08, 2011, 09:06:57 PM » |
|
Default condition: 801E8B28: 40800020 bge- 0x801e8b48
My code makes it an always branch: 801E8B28: 48000020 b 0x801e8b48
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #569 on: August 08, 2011, 09:09:13 PM » |
|
Yeah, there's some kinda cmp or . instruction before the bge-. You could change it so it always evaluates to greater-or-equal.
Try this C2 code. It might work, although I'd need a Copy Function on the hook address to know for sure.
lis r12,0x801E ori r12,r12,0x8B48 mtctr r12 bctr
If that C2 code works, and the 04 code does not, then I would blame the cache.
|
|
|
Logged
|
|
|
|
|