dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #75 on: April 01, 2010, 01:20:41 PM » |
|
lol, post edits don't send notification emails. x.x The difference column was actually a personal idea. ^_^ I'm glad to hear that Gecko.NET has improved your hacking experience.
All of those differences look good to me. It's signed, so switch view mode to dec and you'll see they are correct. For instance,
new - old = diff 0000001A - 00000020 = FFFFFFFA
If that seems wrong, then you should google "twos complement". (aka "flip the bits and add one") FFFFFFFA = -6.
00000000 - BED67770 = 41298890
|
|
|
Logged
|
|
|
|
giantpune
Hacker
Full Member
Karma: 5
Posts: 129
|
|
« Reply #76 on: April 05, 2010, 05:01:29 AM » |
|
I'm not sure if this will conflict with the wiird protocol, but I'll request it anyways. I have my wii set up to get lots of usb gecko output from the IOS and stuff. Obviously this can lead to issues when trying to debug games / system menu with wiird as there is a bunch of data coming down the pipe and geckoDotNET expects only data from the code handler. Would it be feasible to have geckoDotNET use "ConsoleWrite()" and pass along anything it receives while waiting for a command? Then we could start this program from a command line and that command window would display text from the fwrite /OSReport patch or IOSes or whatever.
I realize that any output that gets mixed in with the game would taint the results. But as long as the user was aware of this, it can be avoided by making sure the game is paused before dumping any memory. It would be a great help.
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #77 on: April 05, 2010, 02:01:27 PM » |
|
I admire your spirit, but I'm not sure that pausing would work. It stops the PowerPC processor, but I don't think we can stop the ARM or anything that IOS is doing. For instance, some games keep playing music when paused.
When I ran it using mono from the command line, I was still able to write to the console. Perhaps it works that way in Windows...how does one launch a .NET app in from the command line anyway?
I'll add this to the list, but I haven't been doing much on this front lately, and this feature could get complicated because then I'd need to add something that periodically tried to read from the USB Gecko even if there was no reason to, and you'd need a way to turn this off, etc.
|
|
|
Logged
|
|
|
|
giantpune
Hacker
Full Member
Karma: 5
Posts: 129
|
|
« Reply #78 on: April 05, 2010, 06:58:23 PM » |
|
For launching c# stuff from the command line in ubuntu, i just type "mono <name of the program>" and it starts whatever .NET app i ask for. And that program can use ConsoleWrite() and output handy stuff to the console it was launched from. It works very well for debugging. I've never tried it in windows. But I assume that ConsleWrite() was not invented just for mono. . And stopping the ARM really isn't an issue. Since the way it works is basically each IOS module waits for a request. While it is waiting for somebody to tell it what to do, there is no output. So, if you pause the PPC, then nobody is telling the IOS what to do. And then it has no reason to send any debug output.
|
|
« Last Edit: April 05, 2010, 07:03:05 PM by giantpune »
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #79 on: April 05, 2010, 07:24:05 PM » |
|
For launching c# stuff from the command line in ubuntu, i just type "mono <name of the program>" and it starts whatever .NET app i ask for. Right, I know you use mono to launch .NET apps in Linux. I've written .NET console apps before, but they always launched their own console if double-clicked. If you run Gecko.NET from a console you can probably see output that is normally hidden if you double-click the icon in Windows Explorer. And stopping the ARM really isn't an issue. Since the way it works is basically each IOS module waits for a request. While it is waiting for somebody to tell it what to do, there is no output. So, if you pause the PPC, then nobody is telling the IOS what to do. I understand what you're saying, but that doesn't always happen. Some games (not all of them) continue to play music while the PPC is paused, instead of repeating the same small sound buffer as a buzzing sound. So, someone is still telling someone else to do things while paused. This leads me to wonder what other things are doing stuff while the PPC is paused.
|
|
|
Logged
|
|
|
|
wiiztec
Lazy hacking machine
Hacker
Hero Member
Karma: 34
Posts: 813
|
|
« Reply #80 on: April 06, 2010, 12:07:00 AM » |
|
I tried searching for a 32bit unknown value with the new Gecko.NET build 5 times and every time it finished it said an error occurred please reconnect to gecko also a few bugs and requests as you can see the text of the boarder address column is too white to see clearly the highlighted address in the memory veiwer resets to the top row when you change view mode, go up or down a page, or switch to another tab and switch back in WiiRd the top row of the memory viewer was always XXXXXX0X but Gecko.NET makes whatever address you choose to go to the top row it would be nice to be able to switch to the way WiiRd does it and/or have an "up/down a single line" control have the ASM and register windows separately resizeable, I'd like to be able to view registers CR through r31 all at once without having to make the whole Gecko.NET window larger
|
|
« Last Edit: April 06, 2010, 12:21:23 AM by wiiztec »
|
Logged
|
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #81 on: April 06, 2010, 03:14:04 AM » |
|
r50 is in the wild, guys. wiiztec: Wow, your memory viewer addresses look terrible. Certainly, if mine looked like that, I would have done something about it...I wonder if your color scheme is different, or if it's a Vista-thing, cos I use XP. Regardless, the addresses are black text now, and your other suggestions are included, too. Unfortunately, I was unable to replicate your issue with unknown search. I did three different 32-bit unknown value searches through all of MEM1, with "equal to last" searches after each unknown search, and restarting after each "equal to last" search. Every single one worked. giantpune: I don't have any custom IOS so I have no way to test your thing. I've added it to the to-do list but I can't say when I'll get around to it.
|
|
|
Logged
|
|
|
|
wiiztec
Lazy hacking machine
Hacker
Hero Member
Karma: 34
Posts: 813
|
|
« Reply #82 on: April 06, 2010, 03:47:04 AM » |
|
I use XP too and the default blue luna theme and replacing the 15 line skip with a one line skip isn't really what I had in mind the 15 line skip should be the default and there should be an additional control for a one line skip
also whatever the problem with the search was it's fixed in r50
|
|
« Last Edit: April 06, 2010, 03:48:40 AM by wiiztec »
|
Logged
|
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen
|
|
|
giantpune
Hacker
Full Member
Karma: 5
Posts: 129
|
|
« Reply #83 on: April 06, 2010, 03:48:56 AM » |
|
i sent you pm dcx2
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #84 on: April 06, 2010, 01:10:13 PM » |
|
Doh, I forgot I use the "classic" win2k visual style instead of that bubbly lookin' Luna theme.
If you're in the Memory Viewer Grid (not the Address text box) you can use pageup/pagedown to increment/decrement the address by 0x100/skip 16 lines. In r50 you can also use shift-up/shift-down to inc/dec by 0x10/skip 1 line without moving the selected cell (so it doesn't have to be at the top or bottom).
Tonight's build will make clicking the Address-up/down inc or dec by 0x100, like before. Also, pressing up/down arrow keys in the Address box will inc/dec by 0x10 and pageup/pagedown inc/dec by 0x100.
|
|
|
Logged
|
|
|
|
wiiztec
Lazy hacking machine
Hacker
Hero Member
Karma: 34
Posts: 813
|
|
« Reply #85 on: April 06, 2010, 05:07:31 PM » |
|
Could you also put a control to the right of the auto update check box?
|
|
|
Logged
|
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #86 on: April 06, 2010, 05:25:41 PM » |
|
There's not a lot of room to fit anything, and we generally try to keep similar controls together and that's not really associated with auto-update. And then I would need more room for labels or something so you knew which one would inc/dec by 0x10 and which one would inc/dec by 0x100.
It's not that I'm against adding another control, but I'd rather not jam it in there, especially since space is at a premium on that tab. I'll see if I can't rearrange some things, but I still need some way to distinguish the 0x10 from the 0x100 one.
|
|
|
Logged
|
|
|
|
wiiztec
Lazy hacking machine
Hacker
Hero Member
Karma: 34
Posts: 813
|
|
« Reply #87 on: April 08, 2010, 04:32:22 PM » |
|
Some bugs/requests
• in the mem viewer if you try to go to an address in another memory range without changing the range in the drop down box first, it gives you an unhandled exception error • Gecko.NET doesn't remember your setting for the division between registers and ASM instructions on the breakpoint tab anymore • space for 10 characters in all value boxes (to convert to hex, dec numbers more than 8 digits long) • be able to search for an unknown value with an upper limit • disassembler option for mem viewer context menu • copy option for mem viewer context menu • step controls on the disassembler tab • a "comment out all/comment out none" check box for the GCT codes tab • defined border between the scrollbar and the rightmost addresses in the mem viewer
|
|
« Last Edit: April 08, 2010, 04:42:25 PM by wiiztec »
|
Logged
|
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #88 on: April 08, 2010, 05:11:00 PM » |
|
• in the mem viewer if you try to go to an address in another memory range without changing the range in the drop down box first, it gives you an unhandled exception error I'll look into this further, but when you say "go to an address", what specific way(s) fail? Did you type a value into the Memory Viewer address text box and hit enter? Are you using the search result context menu or the Breakpoint's Show Mem button? Double-clicking a pointer in the Memory Viewer? • space for 10 characters in all value boxes (to convert to hex, dec numbers more than 8 digits long) You're right, we should be able to convert 10 digit decimals, but I think there's a limit on a lot of the text boxes that keeps their digits maxed at 8. This helps prevent entering invalid values. I would probably make this setting into a checkbox so you could enable/disable the 8-digit limit. It would be difficult to resize the text boxes to show all 10 digits, though, so removing the limit could create issues where two digits can be pushed past the edge of the text box. I consider this acceptable. • be able to search for an unknown value with an upper limit You can sorta do this already, by looking for a specific value greater than or equal to 0 and less than your upper limit. I'm actually planning on eventually making the "upper limit" a more general "second comparison" that can do more than act as a "less than" test. • copy option for mem viewer context menu Hm...what exactly do you mean? Place the contents of the memory viewer in the clipboard? • a "comment out all/comment out none" check box for the GCT codes tab What exactly is your goal with this? How does the current checkbox that enables/disables a whole code fail to achieve that goal? Do you want to be able to comment out specific code lines? Groups of code lines? • defined border between the scrollbar and the rightmost addresses in the mem viewer I'm not sure I really follow what you mean by "defined border". Is this just an aesthetic thing or is there a functional reason?
|
|
|
Logged
|
|
|
|
wiiztec
Lazy hacking machine
Hacker
Hero Member
Karma: 34
Posts: 813
|
|
« Reply #89 on: April 08, 2010, 05:59:04 PM » |
|
I'll look into this further, but when you say "go to an address", what specific way(s) fail? Did you type a value into the Memory Viewer address text box and hit enter? Are you using the search result context menu or the Breakpoint's Show Mem button? Double-clicking a pointer in the Memory Viewer? Yeah typed into the text box, but I didn't test the others so you should check them out too Hm...what exactly do you mean? Place the contents of the memory viewer in the clipboard? Just the selected word What exactly is your goal with this? How does the current checkbox that enables/disables a whole code fail to achieve that goal? Do you want to be able to comment out specific code lines? Groups of code lines? Say you have a really long code and you want to comment out most of the lines, you would check the "comment out all" check box and manually un comment out the few lines that you don't want commented out. The check box that enables/disables the whole code doesn't put -- before all the lines and it wouldn't work if it did anyways since when you checked the box again it would remove all the --'s I'm not sure I really follow what you mean by "defined border". Is this just an aesthetic thing or is there a functional reason? Just aesthetic, that's why it's at the end of the list Oh I forgot to mention that in the mem viewer typing an address into the address box and hitting enter doesn't highlight the address you typed in, it should behave like it does when you jump to the mem viewer from the search tab's context menu
|
|
« Last Edit: April 08, 2010, 06:09:36 PM by wiiztec »
|
Logged
|
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen
|
|
|
|