Generic Patch Maker v1.2 Designed by Jake Pickett For INC July 3, 1992 History: When I first began cracking over 5 years ago, I had no idea what I was getting myself into. The very first game I attempted was Speed Racer, one of the old int13h key disk games that were in abundance at the time. While that game challenged me at the time, it was nothing compared to what was in store. Most of those old games were straightforward byte patches which you could crack simply by changing the bytes with Norton. Soon though, more game appeared which loaded overlays or were encrypted in some way. Old reliable Norton was no help here and at the time I did not know assembly very well. Well enough to crack a game mind you, but not well enough to program. It was kind of like when you're a child and you can read a book but have trouble writing a grammatically correct sentence. Eventually I learned how to program in assembly and began designing my own programs. For a while now I have had a pretty standard template for my patch programs, Generic Patch Maker v1.0 (GPM). Until recently though, I have pretty much been the only one to see or use it. However, after the bried fiasco with Razor I decided it would be in everyone's best interest if I included the GPM source code with each release. This seems to have gone over well, I suppose, since it now makes it easier to fix a game should I fail to do it properly. The only regret I have is that the GPM source code varies from 7k to 10k and with people complaining about 4k BBS ad's in zips, it will not be long before they start targeting the source code as unnecessary. Therefore, I have completely redesigned GPM v1.0 into the product you see before you. Comparison: Generic Patch Maker v1.2 is a vast improvement over it's predecessor. Version 1.0 was never intended for the public and it shows in it's design. While not poorly written, v1.0 was not made for speed and ease of use either. If a mistake was made on my part and another cracker wanted to fix it, he would have to wade through a lot of unrelated code to get to the actual patch code. With v1.2 however, all the necessary patch information will be stored in a separate data file, INC.DAT, and distributed with each game. While this will require people to download the GPM v1.2 file separately, they need do this only once. The advantage is obvious. Instead of having a 1k compiled and 7- 15k source patch file with each game, a much smaller data file is all that is needed. Source code is not being distributed with GPM v1.2 only because all that is needed to fix a mistake is the information in the data file. The format of the data file is as follows: ASCIIZ name of the file to be patched High order of offset to move file pointer Low order of offset to move file pointer New byte Above 3 lines repeated as often as necessary Please note that the High and Low order offsets are words. Therefore if you debug an INC.DAT file and see: 1D60:0100 54 45 53 54 2E 43 4F 4D-00 00 00 89 43 90 02 00 TEST.COM....C... 1D60:0110 51 F3 EB FF E9 FF 00 00-26 21 FE D4 34 00 4F 1D Q.......&!..4.O. You can tell that 1) the file that will be patched is TEST.COM 2) the first address to be changed is 4389h and the new byte will be 90h 3) the second address to be changed is 2F351h and the new byte will be EBh Purpose: Hopefully this program will serve a few purposes. 1) By having the patch information handy it will be known what was changed in the event I make a mistake. 2) By having the patch information handy people will be able to tell whether the reason a game is acting flaky on them is because of something I've done or whether it is the game itself. 3) Hopefully this will make it easier for other beginning crackers to get a foot in a quickly closing door. When I first started cracking I knew what needed to be changed but did not know enough about programming so I lost out on releases. There were no generic templates around and I knew of no one who would help. I hope this helps those who are in a dilemma just like I was. Final notes: A majority of the time you, the user, will not even need to run GPM. In all but the most extreme cases, the byte patch will already have been made for you. The only time you will really need to run GPM is when you have to install a game and the executable file cannot be patched beforehand because of the installation. In such cases, the CRACK.NFO will inform you that you need to run GPM. Otherwise, this file and the INC.DAT file are meant mainly for other crackers. Future enhancements: Future enhancements will include some cosmetic changes, a smaller/faster engine, and displayable crack/group information in the data file. Also in the works are a GPM Data File Maker for those who wish to use GPM in their own cracks, a Generic Interactive Trainer (fully user configurable), and a Generic Loader Patch Maker for those games that cannot be byte patched but can only be patched at a certain time in the game. Look for these coming soon. Greets go to the following crackers who have helped me out over the years, some of which don't even know it. In no particular order: R. Bubba, The Knack, Cyborg, Bad Brains, Lord Blix, Null Set, North Wind, HAL9000, and Jenetic Bytemare. Hmm, pretty much the cream of the crop, wouldn't you say? If you have any questions, you can contact me through any INC member or through Celerity Net. J.P. 7.3.92