+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  SNES Code Visualiser
Pages: [1]
Author Topic: SNES Code Visualiser  (Read 2 times)
creaothceann
Guest
« on: December 04, 2009, 09:07:45 am »

http://fzerovs.blogspot.com/

Sounds like a neat technique. Smiley
MathOnNapkins
Guest
« Reply #1 on: December 04, 2009, 09:41:06 am »

Very cool looking, but I feel it's kind of too much of a gimmick to be of any use for actual work.

A source line debugger (integrating with actual asm code that you patch into a rom) has always been the thing I've longed for. Even when it's your code it's difficult at times to debug b/c all the symbol information gets stripped. The more code you have to debug, the more painful that gets.
Nightcrawler
Guest
« Reply #2 on: December 04, 2009, 01:26:06 pm »

I have a few comments on this.

1. If you actually read what this does, it doesn't bring anything new to the table. You can already do the same thing with Geiger's debugger. Start the ROM running a trace log with trace once checked. Get up to the ramp point. Turn the trace off. Start a new one. Surprise, you now have a trace log with ONLY those instructions relevant to the ramp. The exact same results minus red and green pixels which are completely unnecessary and irrelevant. The visual portion is nothing more than novelty. It doesn't aid in any additional functionality or methodology. It's process of elimination either way you look at it.

2. Speaking of the methodology. This reminds me of ZSNES cheat finder. It's the same concept. Process of elimination until you are left with only relative information. It also suffers from the same issue when it comes to practicality in it's usefulness to ROM hacking. It's only going to work for trivial items. You're not going to do much remotely complex with it.

3. Speaking of practicality, an experienced ROM hacker could also just use some smart breakpoints and also find those two lines of code in a few minutes. The difference being the traditional methods work on both trivial and non trivial issues.

4. This also reminds me of ROM corruption. Yes, it certainly CAN work, but it's limited in practical application and ultimately the payoff of the traditional skills far outweigh any skill developed with corruption or visualizing when it comes to complete projects and scope of work.

I've been there. I remember what it was like to try and do things without knowing any code and using corruption, pattern finding in a hex editor, process of elimination etc.. Developing skills that can be applied to definitively solve all situations such as traditional debugging skills and hardware knowledge has proven to be far more valuable and ultimately increased my efficiency exponentially.

I can see the value in 'other' methods when you don't know any code or hardware and realistically aren't going to be (or have no desire to) learning it anytime soon. However, here, you have to know game code anyway to do something with the trace file you end up with, so I just don't see any added value in red and green byte pixels other than putting yourself in the Christmas spirit!  :laugh:


MathOnNapkins:

Absolutely. I agree. A source line debugger would be useful. We have those for all assembly programming we do for embedded chips here at work. Debugging dis-assembly of your work and debugging your actual work are very different.

I know for SNES programming I typically have to keep my source window up with the debugger to 'sync' the two to effectively get my own mental source line debugger going. Smiley

I certainly agree the more code you get, the more painful it becomes.
Gideon Zhi
Guest
« Reply #3 on: December 04, 2009, 02:05:39 pm »

I agree with pretty much everyone on all points. This is neat, but it seems more of a novelty than anything else. I actually use a specially-modified SNES9X (not Geiger's) myself for tracing - I can actually "mark" code which is like one-time tracing but it doesn't get output to a file. In other words, it makes "red pixels" in memory, while actually tracing dumps the green ones to a file.
Klarth
Guest
« Reply #4 on: December 04, 2009, 08:30:16 pm »

The method of visually tracing code reminds me of this (I attended a presentation at DEFCON by the guy who did this):
http://www.offensivecomputing.net/vizsec09/dquist-vizsec09.pdf

It was made for Malware analysis and is kinda useful (for newbies) for identifying unpack loops / main run loops.  If you're trying to analyze anything that's executed once (and quickly, like a single value change)...then you're probably SOL using this technique alone.  It's surely pretty neat and interesting.  The technique is just not ready for prime time use.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC