Macintosh Programmer's Workshop & ResEdit

Anyone work with MPW or ResEdit or ResEd?

I have two issues here I’m dealing with,
ONE: I have an extension for a program that is no longer made, the company has gone out of business. I need another serial number for it, and there doesn’t seem to be any, I’m still waiting on a callback from a company in Australia that supposedly has some in stock… If not, then I’m on to issue TWO.

TWO: I need to jump inside the resource files of this extension and dig out the list of serial numbers encoded there. I think I’ve found the correct resource file, but cannot decipher the coding, so, here’s my question…

Anyone know if I can convert the encoded hex to text through MPW or with ResEdit somehow? I’m not so used to working on this deep a level with Macs, never really thought I would need to.

This is not going to be resold or used in any type of negative manner, I’m willing to pay for another serial number if It’s possible, I’d rather actually, than having to go through the process of digging through miles of Hex.

Try ResExcellence.com.

If that site doesn’t help, then I’d be willing to try playing around with the resource file to see what I can do. Mind you, I’ve only used ResEdit to change creator codes, make new icons, and other assorted tricks, but 1) I’ve always wanted to do something deeper, and 2) I’ve got a book on the program here to help me, and 3) it can’t hurt to try. :slight_smile:

AudreyK, thanx, by the way, you wouldn’t happen to be the same Audrey K that I’m best friends with from NJ are you? That would be a riot…

Anyway, I did check the site out, I am familiar with it, but it’s not really helpfull on the level I’m at here. I was thinking MAW would be of more help… hoping somebody has some experience with it on these boards…

ResEdit can be fun, but I just can’t understand hex, and I don’t really want to learn, or sit here with a chart telling me what every code translates to… That’s a last resort I think. MAW is supposed to be the “Full”-er version of what ResEdit and ResEd can do.

I’m not that Audrey K, but with a name like that, she must be a smart, beautiful, fun, funny, sweet, and all-around wonderful person to be around. :smiley:

Good luck solving your Hex hex, soulsling.

MPW isn’t going to buy you anything that ResEdit won’t in this instance. It used to be Apple’s standard development environment for Mac software (long since supplanted by other tools). ResEdit was part of the package, as were C and Pascal compilers, linkers, etc. Nothing that’d do much beyond what ResEdit will do in reverse engineering a compiled program, however.

And there’s probably not much you’ll be able to learn from ResEdit, either. They certainly wouldn’t have encoded a list of valid serial numbers in the code; instead, there’ll be a chunk of code that runs an algorithm to confirm whether the serial number is (a) present and (b) valid. The code resources will be machine language instructions; with documentation for the Motorola 68000 instruction set, MacsBug (a debugger and part of MPW, to determine the starting conditions), and nearly infinite patience, you might be able to figure out the algorithm used, but if it’s an extension there are ugly problems inherent in debugging code that essentially patches the operating system at startup.

There are (or at least were; the practice is considered poor form these days) programs whose installers encode the serial number into the application code during the installation process, and in Mac programs the resource fork was commonly used to store this information, but merely finding the current serial number, even if you could decipher it, wouldn’t tell you anything about what other numbers were valid. A group of valid serial numbers and some intuition might give you enough to go on to reverse engineer the serial number algorithm used and hence be able to generate new, valid numbers, but otherwise your best bet is going to be to find a legitimate source.

My curiosity is aroused about what program you’re trying to use; it’d have to be something that checks the net for duplicate serial numbers, or else you’d simply use the existing serial number for different copies. There are companies that specialize in selling discontinued software products; Shreve Systems is one that specializes in Mac products (both hardware and software) as is Small Dog Electronics.

rackensack, you have no idea how much you’ve helped already.

Anyway, it’s not a system extension, it’s a QuarkXPress “Xtension”, made by Ferax, a company that no longer exists. There have been few more recent Xtensions made like it, but they are buggy, and no where near as reliable. What I have, has a 5 user license, so checks across the network to see how many other’s of the same are in use. I need at least two more users, or two more numbers, or one more number with two users.

I found the resource files in the xtension itself that calls for the number, I just can’t make heads or tails of it, and I figure, with something like that, that asks for a serial number to be activated, and it can be any valid serial number, not just a certain one that applies to only that copy, that there must be information somewhere in there that i can figure it out.
The reverse engineering thing may be what I have to do… It’s that dire. Or, if I could figure out a way to create my own number as you said, that it would accept, that would be good too.
I was under the impression that MPW would allow me to see the hex in text form, or have an editor that would make it easier for me to decipher. ResEdit is nice, but if it’s really the same thing, then I have a lot of learning/teaching myself ahead of me to do.

Thanx for the links as well. :slight_smile:

Sounds like you’ve got a long and ugly road ahead of you. Here are some additional things to consider, based on years of experience in software product management (i.e., being in charge of finding ways to prevent people from doing what you’re trying to do).

There’s a good chance that a serial number that’s valid for a five-user license won’t be valid for a ten-user license. Depending on how the software was originally licensed, the format may be different for each “level” of licensing that the developer offered. For instance, individual licenses might have a particular string or range of strings in one position of the serial number, while multi-user licenses might have a different string or range of strings in that position. If the company offered the product in (for example) one-user, three-user, five-user, ten-user, fifty-user, and site license versions, the format for each might well be slightly different.

It’s also possible, even likely, that the serial number as encoded in the resource fork of the XTension is encrypted, meaning that unless you somehow figure out the encryption scheme as well, you’re going to get nowhere fast.

Also, you should have noticed by now in poking around with ResEdit that it displays different types of resources differently (‘icl8’ resources, for instance, which contain eight-bit color icons, are displayed in an bitmap icon editor). This is a convenient fiction, of course, at the level of the actual bytes contained in the code – it’s all hex at the lowest level. It sounds like what’s happening is that the resource you’ve identified as the likely source of the information you need is either a ‘code’ resource, which ResEdit displays as hex with little attempt to format beyond that. It used to be the case that Apple’s monthly Essentials, Tools, and Objects (ETO) developer’s CD contained some additional modules for ResEdit, including some that would allow you to more or less follow the program flow, but without knowing the 68000 instruction set pretty well, you’re not likely to be able to derive useful information from that. And in any case, it’s been years since I looked at Apple’s developer materials, so I have no idea whether such things are still available or not.

Probably the tool that’ll allow you to do as much as you’re going to be able is Quadrivio’s General Edit Lite. It’s a free text/hex editor that will display hex as ASCII and works on files (both resource and data forks) and even (God forbid) the contents of RAM. If you poke around a bit with it and find that it might be useful to you, you’d probably want to spring for the commercial version (~$175) to be able to finish the work.

Of course, you’ll want to practice safe hex: never work on your only copy of anything – it’s extremely easy to render a program completely inoperable by changing a single bit. Think twice (or three or four or five times) before making any changes if you don’t know what you’re doing. For God’s sake don’t open a live, important document in QXP with a hacked XTension loaded until you’ve satisfied yourself that it’s working correctly.

I have to say again that this is a more daunting project than I’d be willing to take on. Though I’m not a programmer, I’ve made extensive changes to the menus, text strings, layout of dialog boxes, and even to a minor extent the functionality of Mac programs using ResEdit, but you’re trying to do something that the developers of the product probably invested some time in ensuring that you wouldn’t be able to do. Even with extremely favorable winds, I’d put your odd of success at less than 5%, and the time required at upwards of six months of intense effort. If you make it, however, you’ll have learned a hell of a lot in the process.