Hacker News new | past | comments | ask | show | jobs | submit login
ResEdit Reference (1995) [pdf] (developer.apple.com)
81 points by tobr 17 days ago | hide | past | favorite | 42 comments

ResEdit was my gateway to reverse engineering, at age maybe 13 or so. I first used it to change icons, add keyboard shortcuts to menu items, and so on. This taught me that the internals of software applications weren't just magic but actually were reducible to the 1's and 0's they were made of.

I didn't know how to extend this discovery to the actual behavior of applications until I encountered an upgrade named "Super ResEdit" which provided a disassembly tool.

That showed a mysterious pair of columns with words like "ADD" and "MUL" and "BRA" and "BEQ" and so on in the first column, with some hex in the second column. What do those things mean? Hmm, if I hover over "BRA" and "BEQ" I get a little arrow pointing to a different line, and "BEQ" always follows a line like "CMP"... aha, "BRA" means "branch" and "CMP" means "compare" and "BEQ" means "branch if equal".

And the second column is some hex numbers which are always corresponding in the same way to the first column. If I change the second column, the first column changes to match!

And that's how child-me learned to search for "check_registration_code" and change the "BEQ" at the end to "BRA".

The ResEdit CODE editor was wonderful. It's a pity there was no real equivalent for PowerPC PEF executables. (There were some third-party tools like Fragmalyzer, but they were harder to come by.)

Too late to edit, but here's a screenshot of the editor in question:


If you're familiar with the game, you might even be able to guess what this logic is for. :)

Whoa that brings me back! That must be the cheat code detection, though I'm surprised to see "PIRN" -- was it not "PORN TIPS GUZZ ARDO" or something?

Yep! There's some more code further down that handles the other components of that code.

This particular version of the game used a modified version of that cheat code ("pirntopsguzzardo", with some weird conditions to trigger it). No idea what led to that change.


I didn't know english back then, so I memorized the letters in sequence. Amazing I can still remember it, even the rhythmic sound I came up with to help me memorize, 25 years later.

So many hours spent in this game. I loved it. And I loved ResEdit just as much.

Hmm, I don't remember what I did when my family got a PowerPC to replace our 68k. I definitely remember using MacsBug for live debugging but I don't remember whether I had a static disassembler.

0x4e71 FTW

ResEdit was a cool tool. I especially liked its built-in pixel editor. I remember my first "hacking" experiences as a kid replacing sprites in Ambrosia Software games.

Tangent: there was a more feature-packed resource fork editor called Resorcerer, which I thought was clever and used as naming inspiration for my system-wide cursor hider tool, Cursorcerer: http://doomlaser.com/cursorcerer

>I remember my first "hacking" experiences as a kid replacing sprites in Ambrosia Software games.

Similar story here. I tweaked just about everything ResEdit could open and show graphical resources for. Netscape, IE, PangeaSoft games, random shareware games, the system itself, you name it.

Seeing my edits in "live" software was a blast. It inspired a certain curiosity and made a little bit of how software works click in my head much earlier on than it would have otherwise.

Same, the Escape Velocity games (and my desire to mod them) were some of my earliest introductions to "hacking" or "programming" and getting an understanding of how things actually worked on a computer. There is a Kickstarter for a Remaster of EV: Override, https://www.kickstarter.com/projects/cosmicfrontier/cosmic-f...

And one of the more interesting parts of that, Cosmic Frontier is aiming for data file and plugin compatibility with the old resource fork files (alongside an updated format for anyone making new plugins).

There's a blog post from last year (before it was kickstarted) discussing some of the file format stuff:


You can follow along with that part of the project here: https://github.com/TheDiamondProject/Graphite

Looks like the whole game engine is on github: https://github.com/EvocationGames/KestrelEngine

EV was also my intro to hacking.

I'm considering teaching a "intro to hacking -- by way of game mods" course at my hackerspace some day using Endless Sky or NAEV.

I LOVED Ambrosia games! I used ResEdit for modifying EV games to my will. Then I had the pleasure of interning there. Greatest thing I ever did. That crew is nothing but amazing people!

As an early Macintosh tool, ResEdit's UI was intuitive enough for non-programmers to pick it up and apply superficial changes to the images, sounds, UI layouts, strings and level save files of the Mac apps of their time.

Nowadays I can't even swap out the icon file of a Mac app without it running aground on the notarization stuff in modern versions of the OS. The age of ResEdit is as dead as a dogcow.

And before I found ResEdit the software package I used came with a tool called "RMaker". You fed it a .r text file with a very terse format for describing the various resources and it generated the resource (.rsrc) file.

I even edited 'icon' resources in .r files ... maybe some kind of array of hex values? Christ, that was tedious.

And then I found ResEdit....

(At least in my foggy memory that is how I remember things.)

Tedious indeed, but for a long time it was the only game in town.


I remember in older versions of OS X how cool it was you could just get info an app, drag an icon on top, and it would have a new icon. Guess that had to go at some point :/

Well, that still works! (Just confirmed it in Big Sur.)

Did you do the floppy-disk-full-of-icons thing in elementary school too?

I was envious of my friends who had collected so many Calvin & Hobbes and Simpsons icons.

It's like punk rockers wearing badges, but nerdier.

> as dead as a dogcow

Thank you for the simile -- so much more apt than a dodo, in this case!

ResEdit, ahhh, of all the fun ways to get in trouble in school.

ResEdit became one of the banned programs. If you were caught with it, you were immediately assumed guilty of changing the mac stop hands, to middle fingers, and various other juvenile activities.

The world was simpler then. Bitmap fonts, palette-based sprites, absolute dialog layouts, simple numeric IDs - much easier than TrueType, vecror graphics, responsive layout, uuids of today.

At the same time, precursor to Interface Builder.

Not really,

> Interface Builder first made its appearance in 1986 written in Lisp (for the ExperLisp product by ExperTelligence). It was invented and developed by Jean-Marie Hullot using the object-oriented features in ExperLisp, and deeply integrated with the Macintosh toolbox. Denison Bollay took Jean-Marie Hullot to NeXT later that year to demonstrate it to Steve Jobs. Jobs immediately recognized its value, and started incorporating it into NeXTSTEP, and by 1988 it was part of NeXTSTEP 0.8. It was the first commercial application that allowed interface objects, such as buttons, menus, and windows, to be placed in an interface using a mouse. One notable early use of Interface Builder was the development of the first WorldWideWeb web browser by Tim Berners-Lee at CERN, made using a NeXT workstation.


On Vimeo, https://vimeo.com/62618532

Interface Builder already existed in 1995, it was originally released in 1988.

BTW: There is a windows equivalent that seems to be kept fairly up to date:


I used it a decade+ back for some random amusement, although even then IIRC, editing system files was problematic due to Windows File Protection.

Although, visual studio could do this to a certain extent with random .exe/.dlls too.

I was going to write a chapter for Derrick's "Zen and the Art of Resource Editing" book. The WIND resources, I think. I flaked out of it.

Is a fantastic book. There are hard copies for sale online, and BMUG released a CDROM version a bit later on.


Who knew there was a whole manual? My brother and I just edited different resources to see what happened until we figured out what did what. Then it was off to the races with custom Balloon Help, Tetris Max backgrounds, and "Welcome to Macintosh" icons.

This was one of my favorite tools to use in junior high. I was a smartass and changed the menubars and dialog boxes to indicate there was a virus on the machine. I got a stern talking to from the principal and undid all of it.

I loved ResEdit. I especially loved its decompiler; with it you could view the source of any application, and even patch it in place.

I was so proud the day I took a text editor desk accessory, designed for good ol' Mac Plus 512x384 screens, and removed the window size limitation so I could have big windows on my humungous 1024x768 display.

I was 8 or 9 when I discovered ResEdit. Didn’t understand most of it. But I was able to do absolutely ludicrous modifications to my favourite games such as Escape Velocity. Definitely a defining moment in my growth.

I remember spending hours with ResEdit exploring what I could do by flipping bits and changing resources. So much fun and so many good memories.

You could do real damage with ResEdit.

ResEdit for the intro; Resourcerer for the win

Look at Mr. Big Shot Fancypants with the gold tier resource editor here.

I always wanted to play with Resourcerer

Those were the days. A C compiler, ResEdit, and MacsBug (Apple's low-level full-system debugger) were a power pack that let you explore, customize and manipulate a Mac to a degree and with an ease that would be unimaginable on today's computers. Today's computers may be more luxurious in many ways but we did lose a splendid source of exploration, adventure and explosions (if you weren't careful).

I have a book in my garage that’s a printed version of this manual. It blew my mind at the time that there was a published work about ResEdit, which I thought of at the time as a hacking tool.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact