I was able to find IDA Pro pretty easily, but Googling "patchday" "download patchday" "patchday software" etc.. Is not working too well
Who makes, or where can we get this program?
Patchday was put out by Brainiac/Kitchentable on a now defunct website (Forever-hacking.net). Although I am not sure the exact author of the program, I did at one point have a copy of the source I can try and dig up.
You can make a batch file for it and pass through parameters (basically just the date changes). You open up the EXE in IDA, run DUMPXREF.IDC from IDA it will ask you to create an XREF file, so for example you would call it eqgame20090610.xref (if it was the exe from the other day), etc.
I think it has been posted before but here they are again.....
PM me if you have questions.
For the most part the commands are as follows :
patchday -- this will display a huge list of commands, some are old some are accurate.
The first command you would run would be to create a match file between the 2 XREF files that are created. So from IDA make sure you run DUMPXREFS.IDC for the OLD EXE and the NEW EXE.
Then you would run....
"patchday match eqgame20090610.xref eqgame20090612.xref 0610_0612.match 95"
This compares the two files and creates a .match file using the criteria of checking as much as possible (95%) -- you can try other percents, but this is the best generally.
Next you want to use the OLD eqgame.h and create a new version using the .match file....this way :
"patchday h2h 0610_0612.match eqgame20090610.h eqgame20090612.h"
Now before you can edit mq2docrack.ini you need to do a few Search & Replaces to it to make it so that you can pass it through patchday.
Use a text editor that has this capability or get a copy of S&R 6.2 from a warez site if you want to really automate it.
1. Take the OLD mq2docrack.ini and rename it to the current date and end it with a .h. So copy it and name it mq2docrack20090610.h.
Now open it in the editor and do these replacements {sp} = space :
Change =" to XXX (you will change it back later)
Change Address to #define{sp}
Change = to {sp}={sp}0x
Change XXX back to ="
Change (the Date inside the file to the NEW Date) 2009.06.10 to 2009.06.12
Ok Save this now
Ok now you should have what I have uploaded (see my examples).
Now just run that through patchday the exact same way you ran eqgame.h earlier :
"patchday h2h 0610_0612.match mq2docrack20090610.h mq2docrack20090612.h"
This will now create a NEW mq2docrack. So lets check it.
The offset inside should be updated and be fairly close to accurate.
If not make sure you spelled #define (lowercase).
Now rename the new file mq2docrack20090612.ini and fix the search and replace line inside (once you verify everything looks correct)
change #define{sp} to Address
Change {sp}={sp}0x to =
You still need to verify the offsets in IDA to the NEW EXE, especially about 5 that ALWAYS change and need manual help :
Languages (the 3rd offset needs the correct subroutine)
Daylight (both Normal0 and Normal1 need to be fixed - both usually always end with 04)
HideRun (sometimes it slips down or up a line, just check it is on the jumps)
SeeInvis (the subroutine always changes)
Swapwhilecasting and Openbag or perhaps one other may also change, just verify them in IDA.
Once you are sure everything is 100% correct then name the file mq2docrack.ini and you are set to test it, etc.
I will try and write a better one once I get settled in here. Hopefully with more screen shots, etc. Still running around from 6am till 10pm job hunting and such.
As far as finding opcodes, I will work on that too -- they can be easily found inside the EXE as well -- as long as you know what the previous one was you can find the changes if any.