News:

11 March 2016 - Forum Rules

Main Menu

Rom hacking tools in node.js

Started by DaMarsMan, December 12, 2012, 12:49:58 PM

Previous topic - Next topic

DaMarsMan

For those of you who don't know...

QuoteNode.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

I've been doing node.js programming with express for a website I'm making. I've been wondering if a language like this would be useful for coding a rom hacking framework and set of tools. It's cross platform and simple to use.

Check out some of the functions here...

http://nodejs.org/api/

There are a ton of plugins here... Some of the binary parsers would probably be of most use.

https://github.com/joyent/node/wiki/modules


and check out this compiler in node.js

http://gutomaia.net/nodeNES/


Any thoughts or comments?

FAST6191

If you do this I guess I will have to revise my programming languages thread/suggestions (granted there is was about all I could do to not point people at visual basic).

That said modern javascript interpreters (and associated client side languages/processing like webGL) are getting pretty good and I have seen issues with many of the would be cross platform languages; I try never to have java installed any more and for some reason getting people to sort a decent python setup is a task far harder than it should be (doubly so since it is available in ninite).
Not to mention I have seen a handful of php scripts for various hacking works over the years (mainly cheat generation, save editing and simple modifications).

When you say framework are you thinking classes, libraries and such like or something more resembling a scripting language?

furrykef

Writing a web server app to hack ROMs? Sounds like pure madness to me. Web server apps and desktop apps are entirely different things with entirely different needs, which means the tools for writing them are optimized for entirely different things. This idea doesn't make any sense to me. It strikes me as a classic case of "When all you have is a hammer, everything looks like a nail".

In addition, personally, I hate JavaScript and I'm a bit mystified as to why somebody thought it'd be a good idea to write a web server in it. I've looked into node.js before and I haven't found any reasons to use it beyond "same language for client and server code" (whoop de doo, it's not like languages are hard to learn) and "non-blocking I/O" (which isn't an inherent property of JavaScript anyway). What's so appealing about it?

DaMarsMan

Quote from: furrykef on December 13, 2012, 04:00:46 AM
Writing a web server app to hack ROMs? Sounds like pure madness to me. Web server apps and desktop apps are entirely different things with entirely different needs, which means the tools for writing them are optimized for entirely different things. This idea doesn't make any sense to me. It strikes me as a classic case of "When all you have is a hammer, everything looks like a nail".

In addition, personally, I hate JavaScript and I'm a bit mystified as to why somebody thought it'd be a good idea to write a web server in it. I've looked into node.js before and I haven't found any reasons to use it beyond "same language for client and server code" (whoop de doo, it's not like languages are hard to learn) and "non-blocking I/O" (which isn't an inherent property of JavaScript anyway). What's so appealing about it?


Node.js isn't only a web app. You can do all sorts of stuff including writing a command line program and pretty much anything you could do in another language. I program quite a few languages and I think javascript is one of the most versatile. It spans almost all operating systems and even has added web functionality. Javascript itself is ugly but the libraries that people write for it make it quite useful. After coding APIs for mobile apps for a couple of years it's actually quite refreshing compared to ruby on rails. Non blocking makes a huge difference when you have 100 requests to your app at the same time. No need for multiple instances of the app.

hugues

I was thinking about this a bit recently... all the ROM hacking tools I've written are in C#. After trying Windows 8 I switched my development PC to Ubuntu. So now I'm pondering what language to port my tools to. Node.js is an intriguing idea because it would make the tools available on every modern OS. The downside is that to perform any file IO operations you either have to disable a ton of browser security settings or upload the ROM onto your server. Users would never go for the first and the latter is a potential legal nightmare.

henke37

I use Flash myself. Works fine online as long you don't need bulk file operations. Works perfectly locally with AIR for when you do need the bulk file access.

Azkadellia

Quote from: hugues on December 22, 2012, 11:38:27 AM
I was thinking about this a bit recently... all the ROM hacking tools I've written are in C#. After trying Windows 8 I switched my development PC to Ubuntu. So now I'm pondering what language to port my tools to.

You could try Mono.
Current Projects: On hold indefinitely.
I do the Twitter thing now: https://twitter.com/MistressSaeko (expect lots of game streaming announcements)
Mistress of the RHDN Discord server.