III: Finding the right file _ and the right error.
The files we are going to work w/ will be the main ExE of the game: you will find it on the CD, in a dir called [/Setup] or [/data], but the easy way to find it is just installing the game, and the ExE that starts the game _ will be the ExE we need! ... once you_ve got it make some room on your HD, because we are going to copy the hole CD to it& before you do that: some games have am option, when Installing, to Install the full game to the CD (but still needing it to play), use it if possible, The files you need to copy are all the game files, in some games it is the root dir of the CD, in others it is the [root/data] dir& the worst case is when the game is inside a CAB file, then you have to use a CAB extractor (WinZip 8 should do the job), and if it is protected a different program that can compile CAB format (I_ll try to put it on the tutorial as well). Once you_ve done all that _ press the ExE, and if the game opens close it and exit the CD, then press again- you will get an error window! & usually the line goes like: _Error, please enter CD to run game_ or _CD error_ or _Error reading CD-ROM_ .. what ever error you get _ write it down and remember it, we are about to look for it in the ExE code, and change it! IV: Finding the right line number.
Open the first program - Win32Dasm, by unzipping it and clicking on [/w32dsm89.exe], now we have to load the file we know is the main ExE of the game, so click on _Disassembler_ in the main menu, then _Open File to Disassemble..._ (Important! Make sure you got 50-100MB free on your HD) before then pick the file from the clone game dir you made in your HD (Important! make a backup of the ExE) & after you_ve success fully w8ed while the program disassembled the file, you will see *a lot * of gibberish& don_t worry! You don_t have to understand what is says (I don_t, and I_m not so sure ne1 does& except the programs of course) & (Important! If you can_t read and the font shows only numbers and bizarre letters, click on _Disassembler_ in main menu, then _Font&_ then _select Font_ then pick Arial or something in English) & now you have to find the exact line number out of the 2 million in the file that has the error message in it, do that by clicking the _String Data references_ button, from the buttons menu (under the main menu) _ the second one from the right (-your right)& now you get a list of all the lines in the ExE that refers to actions, and you have narrowed the lines from 2 million _ to 2 thousand& to find the error message click the first letter it started w/ (for example, if the message was _Error reading CD-ROM_ click E) then search _till you find the error line you are looking for! & once you_ve found it& it will mark the title, pick the first line, and it should change color to green (that means the line can be edited and is important)& to be sure you have taken the right line: if there is a line like: _:0044XBCK EB08 &.. (lots of spaces) &. Jmp 0044EBD8_ or: _:0044XBCK EB08 &.. (lots of spaces) &. Call 0044EBD8_ or: _:0044XBCK EB08 &.. (lots of spaces) &. Push 0044EBD8_ you at the right line, it says the command is a function, effected by the user, and probably the protection we are looking for (notice the words: Jmp = Jamp, Call = Call, Push = Push)& now that we got the right line we have to find her |