Codes
WiiRd forum
March 29, 2024, 12:35:27 PM *
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 ... 21 22 [23] 24 25 ... 52
  Print  
Author Topic: Gecko dotNET Bugs and Requests  (Read 120228 times)
benny3t3
Hacker
Full Member
*****

Karma: 3
Posts: 169


« Reply #330 on: November 27, 2010, 02:23:07 AM »

Hey Nuke, I think Gecko DotNet works on Leopard as well as Snow Leopard.

I have a 10.5 Macbook (Leopard for those who don't know) It works at least when it isn't connected, I haven't tried any actual functions with the USB Gecko though.
The only thing is, it quits immediately if you try to access the memory viewer or dissasembler tab when not connected.
Logged

hawkeye2777
Hacker
Sr. Member
*****

Karma: 25
Posts: 355


« Reply #331 on: November 27, 2010, 02:36:43 AM »

The only thing is, it quits immediately if you try to access the memory viewer or dissasembler tab when not connected.

That's a bug with using it on Mono in general.
Logged

Currently "retired" from hacking codes.
Panda On Smack
Hacker
Hero Member
*****

Karma: 39
Posts: 606


« Reply #332 on: November 27, 2010, 12:47:55 PM »

Hey dee cee x to the 2

What do people think of putting notes on individual addresses and having a basic text pop-up when you roll-over them? Inspired by a CSS ToolTip really:
http://downloads.sixrevisions.com/css-tooltips/index.html

Mock-up of what I mean below. I'm thinking 2 or 3 words of text as a reminder just so you don't have to make a note elsewhere of what each address is in a certain area.

You could store a list of note addresses and check them when you loop through the current memory section that's visible. It could be a 8, 16 or 32 bit 'note' which is selected at the time of creating/saving the note.

Perhaps be able to turn them on or off globally in case you have lots and it gets annoying at that moment in time.

Logged
Skiller
Codemaster Skiller
Hacker
Hero Member
*****

Karma: 114
Posts: 806


WWW
« Reply #333 on: November 27, 2010, 09:59:57 PM »

Hey dee cee x to the 2

What do people think of putting notes on individual addresses and having a basic text pop-up when you roll-over them? Inspired by a CSS ToolTip really:
http://downloads.sixrevisions.com/css-tooltips/index.html

Mock-up of what I mean below. I'm thinking 2 or 3 words of text as a reminder just so you don't have to make a note elsewhere of what each address is in a certain area.

You could store a list of note addresses and check them when you loop through the current memory section that's visible. It could be a 8, 16 or 32 bit 'note' which is selected at the time of creating/saving the note.

Perhaps be able to turn them on or off globally in case you have lots and it gets annoying at that moment in time.



THis kinda goes with the idea of what i was trying to do with WiiDis (Not an actual App)
If we could make like Notes/Lable functions that be sweet ..

i like the idea.. and maybe starting a Lable Database up were ppl can download the Lables for the game that users have Made .. ..
Logged
Dude
Full Member
***

Karma: 4
Posts: 117


« Reply #334 on: November 28, 2010, 07:47:28 PM »

I like the sound of that idea.

There have been a few times where I've wanted to be able stick little notes on address cells as a quick reminder of where I am in memory... I second this idea Wink
Logged
hawkeye2777
Hacker
Sr. Member
*****

Karma: 25
Posts: 355


« Reply #335 on: December 03, 2010, 10:20:02 PM »

Hey dcx2, if you read this, could you help me fix a few bugs? It's probably all Mono related, using the most recent SVN. I've tried to fix a couple of them, but I'm having some trouble finding where the problems are located (can't seem to get MonoDevelop's debugger working right).

Search Tab:
 - Restart Search, Cancel Search both throw exceptions
 - Address field of the poke area clears all letters (A-F) after a poke
 - Load Search does nothing... no error messages at all either
 - "Equal", "Not Equal" menu is disabled after an unknown search. Workaround: switch to specific search and back to unknown search again.

Disassembler Tab:
 - The disassembly always updates twice... I'm not sure if it is supposed to do this, but it takes me forever to use this tab effectively because it updates nearly every time I click on something (e.g. from text box to address field).[/quote]

These are some that I can recall that were bigger annoyances for me. There are others... but they are either minor or not that big of a deal. I can post logs of some of the error messages later; I just don't have them saved right now. Thanks for helping out by making this work on Mono in the first place too; it saves me from having to try and run Windows on a VM or on a small partition.

Logged

Currently "retired" from hacking codes.
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #336 on: December 03, 2010, 10:27:04 PM »

Yeah, you'll have problems navigating the source if you can't start double-clicking on stuff in the Design View of Visual Studio...

What exceptions are the search buttons throwing?

Address Text Boxes validate their input.  There is an AddressTextBox class.  Somewhere inside of it, it uses regex to replace all G-Z with empty strings.  Sounds like the regex detection isn't working right?

I think you should at least get a dialog from Load Search...

The Search Condition menu should be disabled for unknown searches...it should be re-enabled, but I can't remember where it gets re-enabled.  I think it's in the function that gets fired when you click the Search button.

Disassembly updates...whenever you switch to that tab, it automatically loads the disassembly.  Perhaps it thinks you're switching to the tab when you're already there?

---

I haven't really touched my Wii in like a month (been too busy with L4D2).  But I have a new laptop and I've been meaning to throw ubuntu on it.  I may get back into Wii hacking here soon, and I'll see if I can dig around the sources and provide you with better answers.
Logged

benny3t3
Hacker
Full Member
*****

Karma: 3
Posts: 169


« Reply #337 on: December 03, 2010, 10:40:48 PM »

I feel selfish asking for this... because I am sure that this would be difficult, but being able to access preferences (such as the ones in the 'about' tab) and turning adress notes on/off/(maybe scroll over?) while in ANY tab, such as a toolbar or menu bar at the top?

Logged

hawkeye2777
Hacker
Sr. Member
*****

Karma: 25
Posts: 355


« Reply #338 on: December 04, 2010, 01:14:31 AM »

The regex was working okay; the problem came in that the text box changed all of the letters to lowercase (which was not in the regex pattern). Simply adding a-f to the regex or converting that string to all uppercase fixed it.

And I finally got the MonoDevelop debugger working again (yay). Shouldn't be too hard to find some of the other stuff now, thanks.

And the load file dialog does come up; it just doesn't do anything after you select a file.
Logged

Currently "retired" from hacking codes.
hawkeye2777
Hacker
Sr. Member
*****

Karma: 25
Posts: 355


« Reply #339 on: December 17, 2010, 02:29:32 AM »

Forgot to post this, these are some of the exceptions I'm talking about (ignore the X11 one, that only happened once):

Code:
hawkeye2777@Powerhawk:~$ gecko-dotnet
System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
5
  at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000]
  at System.Collections.ArrayList.get_Item (Int32 index) [0x00000]
  at System.Windows.Forms.DataGridViewRowCollection.SharedRow (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.GetRowInternal (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000]
  at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.DataGridView.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000]
System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
5
  at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000]
  at System.Collections.ArrayList.get_Item (Int32 index) [0x00000]
  at System.Windows.Forms.DataGridViewRowCollection.SharedRow (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.GetRowInternal (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000]
  at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.DataGridView.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000]
hawkeye2777@Powerhawk:~$ gecko-dotnet
X11 Error encountered:
  Error: BadWindow (invalid Window parameter)
  Request:     40 (0)
  Resource ID: 0x38063CE
  Serial:      304837
  Hwnd:        Hwnd, Mapped:False ClientWindow:0x38063CE, WholeWindow:0x38063CD, Zombie=True, Parent:[Hwnd, Mapped:False ClientWindow:0x38063CA, WholeWindow:0x38063C9, Zombie=True, Parent:[<null>]]
  Control:     <handle 38063CE non-existant>   at System.Environment.get_StackTrace()
   at System.Windows.Forms.XplatUIX11.HandleError(IntPtr display, XErrorEvent ByRef error_event)
   at System.Windows.Forms.XplatUIX11.XTranslateCoordinates(IntPtr , IntPtr , IntPtr , Int32 , Int32 , Int32 ByRef , Int32 ByRef , IntPtr ByRef )
   at System.Windows.Forms.XplatUIX11.ScreenToClient(IntPtr handle, Int32 ByRef x, Int32 ByRef y)
   at System.Windows.Forms.XplatUIX11.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr handle, Int32 wFilterMin, Int32 wFilterMax)
   at System.Windows.Forms.XplatUI.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr hWnd, Int32 wFilterMin, Int32 wFilterMax)
   at System.Windows.Forms.Application.RunLoop(Boolean Modal, System.Windows.Forms.ApplicationContext context)
   at System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)
   at System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)
   at GeckoApp.Program.Main()

FTDIUSBGecko.EUSBGeckoException: Exception of type 'FTDIUSBGecko.EUSBGeckoException' was thrown.
  at FTDIUSBGecko.USBGecko.Dump (UInt32 startdump, UInt32 enddump, System.IO.Stream[] saveStream) [0x00000]
  at FTDIUSBGecko.USBGecko.Dump (UInt32 startdump, UInt32 enddump, System.IO.Stream saveStream) [0x00000]
  at FTDIUSBGecko.USBGecko.peek (UInt32 address) [0x00000]
  at GeckoApp.MainForm.PButton_Click (System.Object sender, System.EventArgs e) [0x00000]
  at System.Windows.Forms.Control.OnClick (System.EventArgs e) [0x00000]
  at System.Windows.Forms.Button.OnClick (System.EventArgs e) [0x00000]
  at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000]
  at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000]
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000]
hawkeye2777@Powerhawk:~$ gecko-dotnet
System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
Parameter name: index
0
  at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000]
  at System.Collections.ArrayList.get_Item (Int32 index) [0x00000]
  at System.Windows.Forms.DataGridViewRowCollection.SharedRow (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.GetRowInternal (Int32 rowIndex) [0x00000]
  at System.Windows.Forms.DataGridView.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000]
  at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.DataGridView.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000]
hawkeye2777@Powerhawk:~$ gecko-dotnet
System.ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000]
  at System.Drawing.Font.GetHeight (Single dpi) [0x00000]
  at System.Drawing.Font.GetHeight () [0x00000]
  at System.Drawing.Font.get_Height () [0x00000]
  at (wrapper remoting-invoke-with-check) System.Drawing.Font:get_Height ()
  at System.Windows.Forms.TextBoxBase.get_PreferredHeight () [0x00000]
  at System.Windows.Forms.TextBoxBase.FixupHeight () [0x00000]
  at System.Windows.Forms.TextBoxBase.OnHandleCreated (System.EventArgs e) [0x00000]
  at System.Windows.Forms.TextBox.OnHandleCreated (System.EventArgs e) [0x00000]
  at System.Windows.Forms.Control.WmCreate (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.TextBoxBase.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.TextBox.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000]
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000]
hawkeye2777@Powerhawk:~$

It's hard for me to try and reproduce this bug with the Restart Search failing (along with others)... it happens pretty infrequently. My only guess is the amount of searches I do (>20), or it seems to happen after I set breakpoints. My computer's a bit too old to run the debugger for MonoDevelop (not enough RAM), so I'm having trouble finding possible problems. Any guidance to fixing the problems would be appreciated.
Logged

Currently "retired" from hacking codes.
Romaap
Hacker
Moderator
Legendary Member
*****

Karma: 89
Posts: 1802


WWW
« Reply #340 on: January 02, 2011, 05:03:52 PM »

I got a little request, when logging steps and Gecko.NET skips over a branch it would be cool if the changed registers would be saved too.
Now it is saved like this:
Code:
|  800F4E44:  481B36B1 bl 0x802a84f4


But it would be cool if Gecko.NET compares the registers from before the branch and after the branch and logs the changed registers.
Logged
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #341 on: January 02, 2011, 05:16:42 PM »

That's a good idea, but it would be hard to fit the register list in without being really really wide...although that might not be such an issue.

Also, r14-r31 will never change after a bl returns; they are non-volatile, so they have to stay the same after the callee completes, hence pushing/popping them on the stack.  r5-r12 are volatile and input-parameter-only registers, so any change to them is a result of some function inside the bl loading them with new values before calling some third function.

The only registers that can change in a meaningful way for the caller after a bl are r3 and r4, which return values from bl.
Logged

Patedj
Hacker
Hero Member
*****

Karma: 12
Posts: 528


« Reply #342 on: January 23, 2011, 05:07:17 AM »

I don't know if you're aware of this but..


Spelling check. Immediately instead of immediantely. In the GCT Code Tab.



1 Search Save doesn't work properly ----> made it work buy saving it directly into the Gecko folder. (in theory you can create a SaveSearch Folder. Within the folder create a DumpHistory Folder and it should save perfectly. ( it's looking for the DumpHistory Folder.)

Logged

You can pm me, I've got time for your troubles.
Bully@Wiiplaza
Hacker
Legendary Member
*****

Karma: 93
Posts: 1853


WWW
« Reply #343 on: January 23, 2011, 11:27:26 PM »

A few things, I would like to have (besides the stuff above <3)

1.) WiiRd had 10 save slots, I´m missing something like that on geckodotnet.
You´ll press the save search button and a .rar file is created... but when you hit load search and select the file, it doesn´t load it.

-> Make save searches without .rar, like WiiRd did and make it possible to load it please Undecided

2.) In the Memory Viewer of geckodotnet, you can do "write", "add", "sub", "diff", etc.
If you are dividing through 0, the app crashes. I know that it´s mathematically not allowed to divide through 0.

-> Change behaviour to do nothing, when dividing through 0

3.) Sometimes, I forget to write down my original ASM instruction and I just replaced it... I can´t get it back without restarting...

-> Add something like a history, which writes down all Disassembly changes to look up previous instructions.
The existing one didn´t work for me...

4.) Let´s say you hit a breakpoint.
The instruction is lwz r4, 32 (r31)
I want to calculate r31 + 0x32 to get my destination adress, that´s a bit annoying to do per hand for everytime it hits.

-> Include a new tickable option "Redirect to location in Memory Viewer"
Geckodotnet calculates it for you when the breakpoint hit, it will ask you to jump to specific memory location (only asks when option is enabled)! If you say yes, it goes to e.g. r31 + 0x32 in the Memory Viewer.

5.) Better features for F6 codestypes.

-> Press CTRL +Click to select multiple adress in a row (disassembler/memory viewer) and rightclick it "Scan for F6 template".
It will go to Adress 800000000 and scans for the adress row and tells you, if it is a working template (redirected to your position again)
or not. If branches are selected, it gives a warning message ("Branches aren´t regionfree!"), but still allows you to go on.

6.) A tab, where you could see a ton of codes templates, which can be used.
As an example, all RAM writes in ASM "lwz rD, d r(S) -> lis r12, XXXX ori r12, r12, YYYY stw rD, d (rS)"
and the whole new codes document from geckocodes aswell.

7.) Set the amount of time, the game is paused when pressing pause (off or a specific amount)

8.) Possibility to lower game´s framerate when using "Auto Update"; Ability to change letter size; Go large should make all options to grow, not just the window without contents Sad

9.) When you froze, geckodotnet becomes very slow.

-> That´s not useful, can this behaviour be stoped to still run at same speed or an option to reboot wii, if clicked on?


-----------------
That´s it for now, thanks for appreciating



« Last Edit: January 23, 2011, 11:34:58 PM by Bully@Wiiplaza » Logged

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

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

~Bully
hinks
Newbie
*

Karma: 0
Posts: 5


« Reply #344 on: February 22, 2011, 01:34:52 PM »

Hi all,

I've compiled GDN trunk with mono under ubuntu 10.10 and it runs quite fine..

The only thing I really can't seem to get working are disassembly addresses, they are always like this - see image.


Keep up the good work!!!


* geckoDN-mono.png (73.73 KB, 942x574 - viewed 73 times.)
Logged
Pages: 1 ... 21 22 [23] 24 25 ... 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!