//***************************************************************************** //* prefix S equals search data, R equals replace data * //* Two bytes per character: * //* 0x00xx means match or replace * //* 0xFFFF means we don't care what the byte is * //* 0xFFFE means end of search string * //* The first byte is the current byte offset to compare within the string * //* The second byte contains the status of the search * //***************************************************************************** #define APPLICATION "X-Win32" #define VERSION "4.0.1" #define DATE "19th March 2000" #define TIME "8 Hours" #define PATCH_TOTAL 2 uChar sd1[] = {0x02, \ 0x00, 0x8E, 0x00, 0x38, \ 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x8F, 0x00, 0x38, \ 0x00, 0x00, 0x00, 0x00, \ 0xFF, 0xFE}; uChar rd1[] = {0x02, \ 0x00, 0x01, 0x00, 0x09, \ 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x02, 0x00, 0x09, \ 0x00, 0x00, 0x00, 0x00, \ 0xFF, 0xFE}; uChar sd2[] = {0x02, \ 0x00, 0x8D, 0x00, 0x44, \ 0x00, 0x24, 0x00, 0x0C, \ 0x00, 0x51, 0x00, 0x52, \ 0x00, 0x50, 0x00, 0xE8, \ 0x00, 0xFE, 0x00, 0x07, \ 0x00, 0x00, 0x00, 0x00, \ 0xFF, 0xFE}; uChar rd2[] = {0x02, \ 0x00, 0x8D, 0x00, 0x44, \ 0x00, 0x24, 0x00, 0x0C, \ 0x00, 0x51, 0x00, 0x52, \ 0x00, 0x50, 0x00, 0x90, \ 0x00, 0x90, 0x00, 0x90, \ 0x00, 0x90, 0x00, 0x90, \ 0xFF, 0xFE}; //***************************************************************************** //* The list of pointers to the search and replace data * //***************************************************************************** const uChar *Patch1[] = {(uChar *)sd1, (uChar *)rd1, (uChar *)sd2, (uChar *)rd2, 0}; //***************************************************************************** //* A list of files to search and replace data in * //* Note: PatchData is compared in every file (so make unique). * //***************************************************************************** struct _patch_info_ { char *FileName; uChar **pArray; } PatchData[] = { {"XWIN32.exe", Patch1}, {0, 0} };