PDA

View Full Version : how do you develop a hacking tool


Skyfire
12-13-2004, 06:56 PM
I really want to develop a hacking tool for an nes game, the problem is I don't know what I need to learn and where to start.

<P ID="signature"></P>

Dan
12-13-2004, 07:11 PM
I remember Disch once posted a great answer to this question, but I never saved it. <img src=smilies/cwm10.gif> So here's my pathetic attempt at answering it.

Step 1. Find all the data for the NES game that you want to write an editor for.

Step 2. Learn a programming language. Some people recommend Visual Basic, but I think it's hideous. C++, C, Java, C#, Delphi seem to be the popular choices asides from Visual Basic. Basically any programming language that allows you to access files on disk can be used to write an editor.

You don't need to know the language inside out, but knowing how to create user interfaces, accessing files, and possibly some kind of code to draw tiles, if you want to go that far.

Step 3. Write the thing. After you've learned a programming language, and how to ROM hack, it really should be obvious how to create an editor.

Good luck! <img src=smilies/thumb.gif>

<P ID="signature"><div align="center"><font size=2>http://dan.panicus.orgDan's Space</a></font></div></P>

king killa
12-13-2004, 07:52 PM
> Step 2. Learn a programming language. Some people recommend
> Visual Basic, but I think it's hideous. C++, C, Java, C#,
> Delphi seem to be the popular choices asides from Visual
> Basic. Basically any programming language that allows you to
> access files on disk can be used to write an editor.

PHP!!!!

<P ID="signature"></P>

Ugly Joe
12-13-2004, 10:31 PM
> PHP!!!!

feidian > all


<P ID="signature"></P>

king killa
12-13-2004, 10:47 PM
> feidian > all
>

Let's not forget http://www.neohjuggalos.com/keySolomon's Key Online Level Editor</a>

<P ID="signature"></P>

The 9th Sage
12-14-2004, 02:21 AM
> I really want to develop a hacking tool for an nes game, the
> problem is I don't know what I need to learn and where to
> start.

Well...only thing I can think to say is pick a programming language and learn how to edit hex addresses with it. I know that's vauge, but I only wrote one tool. :P This one time, Atma told me a bunch of MMX offsets, so I made a quick editor for them. You can do some really funky stuff by changing the shot speed, shots 'shootable' at one time, etc. The dash speed is probably the most fun though. :D


<P ID="signature">http://www.xanga.com/ZeldaDDhttp://i.xanga.com/ZeldaDD/metxl01ss02.gif

Glargel blarg rargle! (Go to my weblog!)</a></P>

breadcrust
12-15-2004, 08:15 AM
> PHP!!!!
...is designed for web scripting. try :

http://www.tcl.tktcl</a> or
http://www.python.org/phython</a>

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

king killa
12-15-2004, 12:03 PM
> > PHP!!!!
> ...is designed for web scripting

.. but also has Command Line Interface, and GTK, making it great for developing programs.

<P ID="signature"></P>

breadcrust
12-15-2004, 02:04 PM
> > > PHP!!!!
> > ...is designed for web scripting
>
> .. but also has Command Line Interface, and GTK, making it
> great for developing programs.

not as great as other langauges. tell me where can you find php+gtk+a huge amount of php librarys in one windoze install package?

something like http://www.activestate.com/Products/ActiveTcl/this</a> or http://www.activestate.com/Products/ActivePython/this</a>?

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

king killa
12-15-2004, 09:17 PM
> not as great as other langauges. tell me where can you find
> php+gtk+a huge amount of php librarys in one windoze install
> package?
>
> something like this or this?
>

What's your point? Once there is a windows compiler available, only the developer will need the packeges and libraries.

<P ID="signature"></P>

breadcrust
12-16-2004, 04:15 AM
> What's your point? Once there is a windows compiler
> available, only the developer will need the packeges and
> libraries.

thats http://wiki.tcl.tk/11861already possible</a> with tcl

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

D--
12-16-2004, 06:02 AM
> I really want to develop a hacking tool for an nes game, the
> problem is I don't know what I need to learn and where to
> start.

If you have to ask this question, I don't anticipate you having great sucess.

Any kind of tool for hacking will require you to do a lot of investigateive work ony our own,a nd you'll need to invent your own methods to do this. Every game is a different challenge. Unless someone already did the one you're planning to, you're on your own.

<P ID="signature"><hr>
<img border=0 src=http://www.oakland.edu/~dcsoboda/img/avatar/you_lose.gif>
The Second Dimension (http://www.the2d.comhttp://www.the2d.com/</a>)</P>

king killa
12-16-2004, 12:08 PM
Quote me saying that PHP is better than Tcl. I said that PHP was a great programming langauge and some people find it useful for rom hacking. There is really no point of your childish replies that are nothing but "nuh uh! This can do this! can PHP do that?" <img src=smilies/upeyes.gif>

<P ID="signature"></P>

Dan
12-16-2004, 06:02 PM
> Quote me saying that PHP is better than Tcl. I said that PHP
> was a great programming langauge and some people find it
> useful for rom hacking. There is really no point of your
> childish replies that are nothing but "nuh uh! This can do
> this! can PHP do that?"

I can't believe you both are arguing about which is better, TCL or PHP. Neither of them are really designed for making ROM editors with, which is kind of what this thread is about. <img src=smilies/upeyes.gif>

<P ID="signature"><div align="center"><font size=2>http://dan.panicus.orgDan's Space</a></font></div></P>

HighT1mes
12-16-2004, 08:57 PM
> I can't believe you both are arguing about which is better,
> TCL or PHP. Neither of them are really designed for making
> ROM editors with, which is kind of what this thread is
> about.

I would have to agree that TCL and PHP are not designed for that reason. I think Visual Basic would be the easiest solution for someone who is starting out in computer programming. C/C++ would be ideal though since it isn't to low level like assembly and there is major support for the languages and many examples of open source code to take a look at to get ideas and use. The problem with VB is most other languages like perl, php, java, i think phython, etc that are the main commercial programming languages in use today are programmed in kind of a different way and you will learn bad programming habits by using vb (even vb.net imo but i don't not quite confident on that since I haven't done much with the language). PHP is designed for web programming therefore it would be a bitch to construct the GUI for the rom hacking editor to make it flexable and pretty. TCL don't ask me I don't know much about it.

<P ID="signature"></P>

breadcrust
12-17-2004, 04:06 AM
> Quote me saying that PHP is better than Tcl.

quote me saying you said that


<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

breadcrust
12-17-2004, 04:09 AM
> I can't believe you both are arguing about which is better,
> TCL or PHP. Neither of them are really designed for making
> ROM editors with, which is kind of what this thread is
> about.

no langauge is generally designed for rom hacking (or for binary manipulation in general). i may be wrong but as i know c was designed to be a general purpose language?

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

breadcrust
12-17-2004, 04:23 AM
> TCL don't
> ask me I don't know much about it.
http://www.tcl.tk/scripting/primer.html

tcl is (can be) simple, clean and extensible.

activestate provides some great documentation on it: http://aspn.activestate.com/ASPN/docs/ActiveTcl

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

yury1854
12-17-2004, 09:39 AM
Hi,

I guess I'm want to write a tool as well. I haven't done too much research on this, so I was hoping someone could point me in the right direction. I want to translate a game from Japanese. I understand this is a lot of work, however I want to translate a very small SNES fighting game, so it shouldn't be terribly hard. Right?
Anyway, I have ample programming experience with C/C++, Java, Python, etc... Although, my ASM knowledge is very limited.
Any resources I should look at first? Suggestions?

-Yury

<P ID="signature"></P>

king killa
12-17-2004, 12:03 PM
> quote me saying you said that
>

I was saying why PHP is good, and out of nowhere you started arguing that TCL was better.

<P ID="signature"></P>

breadcrust
12-18-2004, 05:00 AM
> I was saying why PHP is good, and out of nowhere you started
> arguing that TCL was better.

you are really leading this argument nowhere. ok this is my point:
a. PHP was designed for web scripting. it can be for applications as well but it is not the best choice for this
b. Tcl was designed for 'tool' development but works alot better as a general application langauge. it can be used for web scripting but PHP is a better choice for that.

so thats what im saying. if you want to develop a rom application then Tcl(/tk) is a better choice, but you are still even better off with c++ if you are good enough with it.

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

king killa
12-18-2004, 05:24 PM
> so thats what im saying. if you want to develop a rom
> application then Tcl(/tk) is a better choice, but you are
> still even better off with c++ if you are good enough with
> it.
>

Okay. I thought you were just saying that tcl is all around better, but I guess I misunderstood.

<P ID="signature"></P>

breadcrust
12-19-2004, 11:12 AM
> Okay. I thought you were just saying that tcl is all around
> better, but I guess I misunderstood.

no proble, i guess i didnt make it that clear either ^_^

<P ID="signature">Breadcrust

Click me!, you know you want to... ('http://phantasyrpg.com/main.php?view=20335')
http://sigx.yuriy.net/images/skin/BlueSteel/0/xbreadcrust.png </P>

Skyfire
12-20-2004, 09:19 PM
recently I tried to learn c\c++ using devc++ and tutorials off the net but after getting past the basics the debugger reports
about 50 errors.

<P ID="signature"></P>

MooglyGuy
12-21-2004, 12:30 AM
> recently I tried to learn c\c++ using devc++ and tutorials
> off the net but after getting past the basics the debugger
> reports
> about 50 errors.

Then you're not past the basics, are you?

<P ID="signature"></P>

Skyfire
12-30-2004, 06:25 PM
> Then you're not past the basics, are you?
>

you'd be right except that I used over 40 of other peoples sources.

<P ID="signature"></P>

MooglyGuy
12-30-2004, 06:49 PM
> > Then you're not past the basics, are you?
>
> you'd be right except that I used over 40 of other peoples
> sources.

Nope, I'm still right. If you're getting some 50 errors when trying to write a "Hello, World!" program, you're far, far from being past the basics. Here:

<pre>
#include <iostream>

using namespace std;

int main( int argc, char** argv )
{
printf( "Hello, world!\n" );
return 0;
}
</pre>

That wasn't so hard, was it?

<P ID="signature"></P>