Codes
WiiRd forum
March 29, 2024, 11:39:50 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome on the new server

Update 4.3 - do NOT update!
Gecko 1.9.3.1
Should I get a USB Gecko, I wanna hack?
How do I use my USB Gecko
Where can I get WiiRd?
 
   Home   CODE DATABASE GAMEHACKING Help Search Login Register  
Pages: [1] 2 3 ... 52
  Print  
Author Topic: Gecko dotNET Bugs and Requests  (Read 120226 times)
Mal1t1a
I love hacking. Programming as well.
Hacker
Jr. Member
*****

Karma: 0
Posts: 53

I <3 Hacking


WWW
« on: January 19, 2010, 12:08:54 AM »

WiiRd GUI


Bugs [2]
1. One of the bugs I've happened to notice in the GUI version, and I'm sure it's not just me noticing it, is that after awhile of searching, the GUI freezes up. Some of the buttons work, most of the controls are still active, however, none of them actually do anything. They just sort-of sit there, holding no functionality. I would search for something, the GUI would lock-up, I'd wait, it would still be locked up, the stop buttons still works, I click it, nothing happens, I click Restart, it asks me the questions, then it would clear the search (or not) and the GUI would still be locked up.

2. WiiRdGUI's "Next" button, even when set to 60 fps, sometimes appears to step over two frames instead of just one.


Requests [7]
1. Search for "Same as First". After the first scan, you are given the option to see if the value is equal to the first scan.

2. Address Container. This is an Area where you can freely poke the Addresses, and ect. It's just so that you can continue to scan without having to lose a few address. Note, this is not the GCT list.

3. Some kind of option that allows you to update the Search List values, or a selected address(es). Most likely the Context (Right-Click) Menu.

4. An Auto Updater. There is a simple way to do so. You just build in a Check that will read the latest version from a file, and ask if you would like to update. Then you download the Auto Updater, and it'll auto update for you. I've done this in many of my bad programs.

5. A built in Float to Hex Converter for poking floating point memory cells.

6. A Step Over button above Step on the Breakpoint tab.  Step Over acts just like Step, except if the current instruction is bl or bctrl, in which case it will set an Execute Breakpoint on the instruction after bl/bctrl.  This will let us skip functions without having to step all the way through them.  Bonus points for not over-writing the current Breakpoint field and type.

7. Memory-viewer like snapshots, for the registers as well.


Gecko dotNet


Bugs [2]
*fixed* 1. Unable to save the Code-list for certain games. [N64] Kirby 64 (NAME). I believe this is because Gecko dotNet can not read the Game name. Gecko OS can do this though. It throws an exception at me saying that there are invalid Characters in the Path. I would assume it's because It couldn't read the Game Name.

2. The GCT Code list seems like it's just a multi-line Textbox. When you edit codes, they like to mess up and bring codes from the line above where you were editing down, and it's a little bit of a hassle to bring them back up.

*fixed* 3. When you play certain games (Like [N64] Kirby 64 (NAME)), the Notepad breaks, and throws an Exception saying Illegal Characters in path.

4. GeckoDotNet's Auto-starting Gecko OS does not appear to work.  It doesn't even initiate the countdown or start loading the game.  You need to start Gecko form the Wii.


Requests [6]

*done* 1. Being able to step-through the frames in a game with the Pause Button. In WiiRd GUI, when you pause a game, you can click "Next" and it'll step through the frames.

*done* 5. A Step Over button above Step on the Breakpoint tab.  Step Over acts just like Step, except if the current instruction is bl or bctrl, in which case it will set an Execute Breakpoint on the instruction after bl/bctrl.  This will let us skip functions without having to step all the way through them.  Bonus points for not over-writing the current Breakpoint field and type.

1. "Same as first" search type. This would be added after you make the first scan.

2. Being able to Manually Update the Value of an Address (not the Watch-List) in the Search List, or whatever one you choose. This can be done with the Context (Right-Click) Menu.

3. When you want to capture a Screen-Shot, You should have the option to choose where yo want to save them to, and as what file name (not file type).

4. A built in Float to Hex Converter for poking floating point memory cells.

5. An Auto Updater. There is a simple way to do so. You just build in a Check that will read the latest version from a file, and ask if you would like to update. Then you download the Auto Updater, and it'll auto update for you. I've done this in many of my bad programs.

6. Memory-viewer like snapshots, for the registers as well.


These are just my Bugs/Requests I've come across/came up with. If you guys feel something is wrong, or want to add your own, post here and I'll gladly add them.

Fixed [3]
1. Some-how speed up the Search speed to atleast the same speed as WiiRd GUI.
This was added into the latest Update of gecko dotNet Version 0.4
-block based search refining - VERY fast (outbeats WiiRd in most if not all situations)

2.  Unable to save the Code-list for certain games. [N64] Kirby 64 (NAME). I believe this is because Gecko dotNet can not read the Game name. Gecko OS can do this though. It throws an exception at me saying that there are invalid Characters in the Path. I would assume it's because It couldn't read the Game Name.
3. When you play certain games (Like [N64] Kirby 64 (NAME)), the Notepad breaks, and throws an Exception saying Illegal Characters in path.
Both of the above are fixed now.
2. Should be finally fixed (it actually copied null byte characters into the string)
3. Should be fixed along (also null-byte issue)

Possible Solutions [1]
An Auto Updater. There is a simple way to do so. You just build in a Check that will read the latest version from a file, and ask if you would like to update. Then you download the Auto Updater, and it'll auto update for you. I've done this in many of my bad programs.

The way I did it, was after 5 seconds from the program starting up, I created a new webclient, then downloaded a string from a text-file (lol I know), the string was a double, showing the current version (example: 0.61), if it was greater than the programs current version (a public double) it would tell you updates are available, and ask if you would like to update. If you said yes, it would check to see if the program called: "AutoUpdater.exe" was in the directory as the program, if not, it would download it, and when it's done downloading it, it would launch it, and close it-self. The AutoUpdater.exe would not do anything until the program was closed (process.exe). When it was closed, it would go online, and download a string containing all of the updates, and where to download them. After it finished downloading all of the updates, it would launch the process and it would be updated.
« Last Edit: August 28, 2010, 09:44:22 AM by dcx2 » Logged

Hacking is not always about ruining the game for others, its about making the game funner and seeing what is possible and what is not.
Romaap
Hacker
Moderator
Legendary Member
*****

Karma: 89
Posts: 1802


WWW
« Reply #1 on: January 19, 2010, 12:29:49 AM »

To solve some of those problems you could use Gecko dotNET, it won't freeze as much as WiiRD (or not at all).
Also, Gecko dotNET has a watchlist so you can add addresses to it and then update them a couple of times per second.

I hope this helps you a bit.
Logged
wiiztec
Lazy hacking machine
Hacker
Hero Member
*****

Karma: 34
Posts: 813

TimmyKitty7124
WWW
« Reply #2 on: January 22, 2010, 12:10:47 AM »

WiiRD has never locked up for me unless I do something that makes the game crash and then try to change tabs before I get my gecko rehooked to the game
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
Mal1t1a
I love hacking. Programming as well.
Hacker
Jr. Member
*****

Karma: 0
Posts: 53

I <3 Hacking


WWW
« Reply #3 on: January 23, 2010, 07:19:21 PM »

-nevermind-
« Last Edit: January 26, 2010, 09:33:07 PM by Mal1t1a » Logged

Hacking is not always about ruining the game for others, its about making the game funner and seeing what is possible and what is not.
wiiztec
Lazy hacking machine
Hacker
Hero Member
*****

Karma: 34
Posts: 813

TimmyKitty7124
WWW
« Reply #4 on: January 23, 2010, 07:29:54 PM »

Um I'd rather you not ask to have my post deleted it still makes complete sense to me and it's a little rude to go around asking to have other people's posts deleted
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
Mal1t1a
I love hacking. Programming as well.
Hacker
Jr. Member
*****

Karma: 0
Posts: 53

I <3 Hacking


WWW
« Reply #5 on: January 23, 2010, 07:36:18 PM »

Sorry Sad It's just that the topic changed a bit. They can stay if you want.
Logged

Hacking is not always about ruining the game for others, its about making the game funner and seeing what is possible and what is not.
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #6 on: February 15, 2010, 04:46:55 PM »

Requests -

A float->hex converter for poking floating point memory cells

A Step Over button above Step on the Breakpoint tab.  Step Over acts just like Step, except if the current instruction is bl or bctrl, in which case it will set an Execute Breakpoint on the instruction after bl/bctrl.  This will let us skip functions without having to step all the way through them.  Bonus points for not over-writing the current Breakpoint field and type.


Memory-viewer like snapshots, for the registers as well.


Bugs -

WiiRdGUI's "Next" button, even when set to 60 fps, sometimes appears to step over two frames instead of just one.

GeckoDotNet's Auto-starting Gecko OS does not appear to work for me.  It doesn't even initiate the countdown or start loading the game.  I had to start Gecko from the Wii.

EDIT: bug clarifications
« Last Edit: March 11, 2010, 04:11:08 AM by dcx2 » Logged

dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #7 on: March 06, 2010, 07:14:34 PM »

GeckoDotNet requests:

Right-click -> Breakpoint on disassembler tab!  <--- most important IMO

When using auto-update in the memory viewer, if I click on a different memory cell it returns to the previously highlighted cell immediately after that.

On GCT codes tab, if you use the arrows keys to navigate codes, the code display doesn't update.  It only updates on a mouse click.

GCT codes tab, would a vertical scroll bar be better than a horizontal scroll bar?

Integrated support with Link's AsmWiiRD?  Perhaps right-click on a code, and it copies the code into the clipboard and launches asmwiird so you can paste it?

Step on disassembler tab?

Faster auto-update speed.  WiiRD can do about 12 DPS I think, GDN does 4.  In fact, super awesome would be the ability to slow down GDN from the max DPS, so that way you could sort of control the frame rate.

Auto-preview on Screenshots tab?  I've been considering CamStudio for some video tutorials and it would allow the recording to show what's going on in the game screen at the moment, even if it's only lke 0.5 FPS.

Resizable window.  This is a long and boring task but I would LOVE to be able to resize the window so I am definitely willing to go through and make the appropriate changes to the various controls' anchor and dock properties to make this happen, so don't worry about it.
« Last Edit: March 11, 2010, 04:11:48 AM by dcx2 » Logged

Link
that dev there
Moderator
Hero Member
*****

Karma: 76
Posts: 1254

I hate everyone in this community. Except for you!


WWW
« Reply #8 on: March 07, 2010, 09:13:48 AM »

Right-click -> Breakpoint on disassembler tab!  <--- most important IMO
In!

When using auto-update in the memory viewer, if I click on a different memory cell it returns to the previously highlighted cell immediately after that.
Fixed!

On GCT codes tab, if you use the arrows keys to navigate codes, the code display doesn't update.  It only updates on a mouse click.
Fixed! That behaviour was on intention when the GCT list was very buggy.. right now, it seems much more reliable (FINALLY)

GCT codes tab, would a vertical scroll bar be better than a horizontal scroll bar?
Oopss... certainly! Fixed! (Stupid ListView style tongue)

Integrated support with Link's AsmWiiRD?  Perhaps right-click on a code, and it copies the code into the clipboard and launches asmwiird so you can paste it?
Difficult, but I'll see about it (not difficult because it's hard, it's hard considering the fact Gecko dNET should be cross-platform and AsmWiiRd is written in Delphi and thus Windows only)

Step on disassembler tab?
Would only work in breakpoint mode, I'll see about how it would be possible!

Faster auto-update speed.  WiiRD can do about 12 DPS I think, GDN does 4.  In fact, super awesome would be the ability to slow down GDN from the max DPS, so that way you could sort of control the frame rate.
Blame the .NET controls.. WiiRd uses a drawn component which acts quite fast.. if I disable output drawing in Gecko dNET I easily reach 25 DPS and higher.. I basically lose all speed at writing the output Sad

Auto-preview on Screenshots tab?  I've been considering CamStudio for some video tutorials and it would allow the recording to show what's going on in the game screen at the moment, even if it's only lke 0.5 FPS.
Phew.. that's an intesting one.. it would be hell slow for first, yes.. I personally HIGHLY HIGHLY recommend to get a video capture card! If demand is high for that feature though, I can add it!

Resizable window.  This is a long and boring task but I would LOVE to be able to resize the window so I am definitely willing to go through and make the appropriate changes to the various controls' anchor and dock properties to make this happen, so don't worry about it.

[/quote]
Logged

Link
that dev there
Moderator
Hero Member
*****

Karma: 76
Posts: 1254

I hate everyone in this community. Except for you!


WWW
« Reply #9 on: March 07, 2010, 09:29:15 AM »

Bugs [4]
1. Unable to save the Code-list for certain games. [N64] Kirby 64 (NAME). I believe this is because Gecko dotNet can not read the Game name. Gecko OS can do this though. It throws an exception at me saying that there are invalid Characters in the Path. I would assume it's because It couldn't read the Game Name.

2. The GCT Code list seems like it's just a multi-line Textbox. When you edit codes, they like to mess up and bring codes from the line above where you were editing down, and it's a little bit of a hassle to bring them back up.

3. When you play certain games (Like [N64] Kirby 64 (NAME)), the Notepad breaks, and throws an Exception saying Illegal Characters in path.

4. GeckoDotNet's Auto-starting Gecko OS does not appear to work.  It doesn't even initiate the countdown or start loading the game.  You need to start Gecko form the Wii.

1. Should be finally fixed (it actually copied null byte characters into the string)
2. Hm.. actually it IS a multiline textbox... on purpose I should admit as the input box of WiiRd made my hair go up because: copy-cut-paste works horribly and such.. so I decided for myself to prefer that way.
3. Should be fixed along (also null-byte issue)
4. It's not really implemented yet.. I'd also like to see an option for Gecko OS to (finally!) use other hooks.. so far it doesn't do a thing other than waiting once you tell it to do!

Requests [7]
1. Being able to step-through the frames in a game with the Pause Button. In WiiRd GUI, when you pause a game, you can click "Next" and it'll step through the frames.

2. Being able to Manually Update the Value of an Address (not the Watch-List) in the Search List, or whatever one you choose. This can be done with the Context (Right-Click) Menu.

3. When you want to capture a Screen-Shot, You should have the option to choose where yo want to save them to, and as what file name (not file type).

4. When using the Lower and Upper Search (Between these values search), I don't think there is a need to have the Comparison type, because you are looking for a value between the Lower, and the Upper. Which doesn't really have anything to do with the Comparison search.

5. A Step Over button above Step on the Breakpoint tab.  Step Over acts just like Step, except if the current instruction is bl or bctrl, in which case it will set an Execute Breakpoint on the instruction after bl/bctrl.  This will let us skip functions without having to step all the way through them.  Bonus points for not over-writing the current Breakpoint field and type.

6. An Auto Updater. There is a simple way to do so. You just build in a Check that will read the latest version from a file, and ask if you would like to update. Then you download the Auto Updater, and it'll auto update for you. I've done this in many of my bad programs.

7. Memory-viewer like snapshots, for the registers as well.

1. Done!
2. Sounds interesting, I consider that!
3. Will be added, so far it only gets the game name and basically sorts the files!
4. Well, the comparison types are there because in some rare cases you might need them.. I might remove the unneeded ones though automatically.. however, equal (between lower and upper (inclusive)) and not equal (NOT between lower and upper) will certainly remain
5. Well, I think we're talking about possible things here.. while stepping is handled on Wii side.. and the code handler simply has no "Step over" command.. I'll see if I can manually parse the assembly but yeah - as it just affects some commands it should be well possible.. it might be possible. Not overwriting the current Breakpoint field is simple though
UPDATE: Implemented!
6. Cool thing.. yeah, I guess I can add this
7. Can you give me details? You mean saving the registers of the breakpoint in a list or something?
« Last Edit: March 07, 2010, 09:57:17 AM by Link » Logged

dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #10 on: March 07, 2010, 09:50:11 AM »

Requests [7]
5. A Step Over button above Step on the Breakpoint tab.  Step Over acts just like Step, except if the current instruction is bl or bctrl, in which case it will set an Execute Breakpoint on the instruction after bl/bctrl.  This will let us skip functions without having to step all the way through them.  Bonus points for not over-writing the current Breakpoint field and type.

7. Memory-viewer like snapshots, for the registers as well.

5. Well, I think we're talking about possible things here.. while stepping is handled on Wii side.. and the code handler simply has no "Step over" command.. I'll see if I can manually parse the assembly but yeah - as it just affects some commands it should be well possible.. it might be possible. Not overwriting the current Breakpoint field is simple though
7. Can you give me details? You mean saving the registers of the breakpoint in a list or something?

5. You don't need to parse the asm too much.  When you press "Step Over" look at the current ASM instruction, search the string for bl or bctrl, if you find it then set an execute breakpoint on the current address + 4 without updating breakpoint field, else just Step like normal.

7.  WiiRDGUI's Memory Viewer will let you take snapshots ("Take Snapshot" button).  Then later you can switch between the snapshot and current view ("Show Snapshot"/"Hide Snapshot" button).  It's nice to toggle back and forth to see what changed.

I'd like something exactly the same but on the breakpoint tab for the registers.  This way, I could set a breakpoint and, say, pick up an item, take a snapshot, then go pick up a different item, and compare the two by flipping back and forth to see what other registers might be different.  This could also help when trying to isolate some indication of whether we're processing a player or enemy (i.e. some register has a 1 for player and 2 for enemies or something)
« Last Edit: March 07, 2010, 09:57:47 AM by dcx2 » Logged

Link
that dev there
Moderator
Hero Member
*****

Karma: 76
Posts: 1254

I hate everyone in this community. Except for you!


WWW
« Reply #11 on: March 07, 2010, 09:58:33 AM »

5. You don't need to parse the asm too much.  When you press "Step Over" look at the current ASM instruction, search the string for bl or bctrl, if you find it then set an execute breakpoint on the current address + 4 without updating breakpoint field, else just Step like normal.

7.  WiiRDGUI's Memory Viewer will let you take snapshots ("Take Snapshot" button).  Then later you can switch between the snapshot and current view ("Show Snapshot"/"Hide Snapshot" button).  It's nice to toggle back and forth to see what changed.

I'd like something exactly the same but on the breakpoint tab for the registers.  This way, I could set a breakpoint and, say, pick up an item, take a snapshot, then go pick up a different item, and compare the two by flipping back and forth to see what other registers might be different.  This could also help when trying to isolate some indication of whether we're processing a player or enemy (i.e. some register has a 1 for player and 2 for enemies or something)

5. Exactly how I did it!

7. Ah, I see.. never used that feature! Yeah, I put that on my list of things to add!
Logged

dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #12 on: March 07, 2010, 10:01:07 AM »

Thanks so much for all your hard work!   Grin  You're doing a fantastic job.
Logged

Mal1t1a
I love hacking. Programming as well.
Hacker
Jr. Member
*****

Karma: 0
Posts: 53

I <3 Hacking


WWW
« Reply #13 on: March 07, 2010, 03:57:22 PM »

Auto-preview on Screenshots tab?  I've been considering CamStudio for some video tutorials and it would allow the recording to show what's going on in the game screen at the moment, even if it's only lke 0.5 FPS.
Phew.. that's an intesting one.. it would be hell slow for first, yes.. I personally HIGHLY HIGHLY recommend to get a video capture card! If demand is high for that feature though, I can add it!

Some people (mabye me Wink) like to play the game at 0.5 FPS. It's rather good for glitching and such. =)

Yes Link, you are doing a fantastical job. (Yes, I did just make up a word there tongue). I still await feature developments!  Grin
« Last Edit: March 07, 2010, 04:17:23 PM by Mal1t1a » Logged

Hacking is not always about ruining the game for others, its about making the game funner and seeing what is possible and what is not.
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #14 on: March 07, 2010, 04:35:01 PM »

I personally HIGHLY HIGHLY recommend to get a video capture card!

Funny thing...I actually use a video capture card, (and two Wiis, and two TVs...we like screens!).  But the desktop with the capture card is running ubuntu, and the laptops are running Windows.

...hey, need me to test a Mono build...?   Wink

Some people (mabye me Wink) like to play the game at 0.5 FPS. It's rather good for glitching and such. =)

This is why I suggested a user-settable timer for auto-update on memory viewer, so you could slow the framerate down to 0.5 FPS, or 1 FPS, or 4 FPS, etc.  It would be a lot more flexible than auto-preview for the purpose of slowing down the game.

Hm...what if you could have the FPS somehow controlled by a gr or something which we could then change with a button activator?  We could make our own custom bullet time!  But you'd need a USB Gecko
Logged

Pages: [1] 2 3 ... 52
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!