ZaiRoN
November 28th, 2002, 16:25
Hi All!
What do you thing about an 'adding funcionality project'?
HexWorkShop is a nice hex editor with many features but not totally oriented to RE. With this project, we will try to make this target a little more RE like
. I have in mind two different project but for now we will work on the first one.
Our mission is to modify the 'Goto' dialog box.
I don't know if you use this tool but -like many others- after you have opened a file, you can jump from a byte to another using a simple dialog box named 'Goto' (Ctrl-G to access the dialog). I often use this feature to locate the byte(s) to patch but the problem is that you have to provide the offset you want to reach. exempli causa: if you have to patch the byte at VA=403020 you have to find the offset relative to that VA and then insert it; this is very nasty because you have to use an FLC or a disassembler to discover the offset.
What I want to do is to modify the dialog and let it accept also Virtual Address value. Basically, the only thing we have to do is to perform the conversion from Virtual Address to Offset and then call the usual goto_function.
I think we can split this project in various tasks:
1. Find the WndProc relative to the dialog 'Goto' and try to understand how the program handles various messages received by the dialog
2. Figure out how to do the conversion from Virtual Address to Offset
3. Add the new choice_button to the dialog
4. Add the new code
OK, I think it's time to begin with the first task!
To retrieve the WndProc you might work in two different ways.
To perfom the jump, the program reads the value you put in the edit box, so breaking on something like GetDlgItemText function could show you the way.
Another way might be to use the WinHelp function (is called when you click on the 'Help' button); I often use this function when it's possible because I think it's an easy way to find the WndProc(and maybe because I readed it on an old Neural Noise's great tutorial
)
Please, let me know what do you think about the project and/or if you want to change something.
regards,
ZaiRoN
What do you thing about an 'adding funcionality project'?
HexWorkShop is a nice hex editor with many features but not totally oriented to RE. With this project, we will try to make this target a little more RE like

Our mission is to modify the 'Goto' dialog box.
I don't know if you use this tool but -like many others- after you have opened a file, you can jump from a byte to another using a simple dialog box named 'Goto' (Ctrl-G to access the dialog). I often use this feature to locate the byte(s) to patch but the problem is that you have to provide the offset you want to reach. exempli causa: if you have to patch the byte at VA=403020 you have to find the offset relative to that VA and then insert it; this is very nasty because you have to use an FLC or a disassembler to discover the offset.
What I want to do is to modify the dialog and let it accept also Virtual Address value. Basically, the only thing we have to do is to perform the conversion from Virtual Address to Offset and then call the usual goto_function.
I think we can split this project in various tasks:
1. Find the WndProc relative to the dialog 'Goto' and try to understand how the program handles various messages received by the dialog
2. Figure out how to do the conversion from Virtual Address to Offset
3. Add the new choice_button to the dialog
4. Add the new code
OK, I think it's time to begin with the first task!
To retrieve the WndProc you might work in two different ways.
To perfom the jump, the program reads the value you put in the edit box, so breaking on something like GetDlgItemText function could show you the way.
Another way might be to use the WinHelp function (is called when you click on the 'Help' button); I often use this function when it's possible because I think it's an easy way to find the WndProc(and maybe because I readed it on an old Neural Noise's great tutorial

Please, let me know what do you think about the project and/or if you want to change something.
regards,
ZaiRoN