s1nka писал(а):
87491444Например [PS2] Monster Hunter [RUS/ENG|NTSC]
1. Для начала надо запомнить, что пиратский лоадер этого типа состоит из папки SCEE_DD и файла загрузчика с именем LOADER.00, которое вписано в SYSTEM.CNF вместо официального DiscID, которым именован оригинальный исполняемый файл игры.
2. Далее берём Total Commander с плагином просмотра содержимого образов - Iso plugin 1.7.6 (или предварительно скопировав содержимое образов в отдельные папки) и начинаем сравнивать файловую структуру русской версии с английским оригиналом при помощи функции "синхронизация каталогов" с параметрами "с подкаталогами", "по содержимому" и с "игнорированием даты". Нас интересует разница во всём, поэтому ставим все варианты того, что показывать, кроме равенства. Сравниваем, но не синхронизируем.
3. Теперь мы видим, что кроме папки лоадера (SCEE_DD), которую нужно удалить, у нас есть изменённый в русской версии файл SYSTEM.CNF, открыв который текстовым редактором мы увидим, что там заменёно указание оригинального загрузочного файла игры (SLUS_208.96) на файл LOADER.00, из чего следует, что LOADER.00 - это тот самый файл пиратского мульти-загрузчика требуемый к удалению вместе с папкой.
К этому моменту у нас осталось всего три неопознанных файла в пиратке, которых нет в оригинальной английской лицухе и которые очень легко опознать эмпирически. Это:
AFS_DATA.NEW - очевидно что это русифицированный AFS_DATA.AFS;
ENG.00 - очевидно что это переименованный пиратами оригинальный загрузочный файл игр SLUS_208.96;
RUS.00 - очевидно что это русифицированный загрузочный файл SLUS_208.96;
Из этого всего становится понятно, что пиратский лоадер LOADER.00 запускается первым, потому что вписан в SYSTEM.CNF.
Далее при выборе в нём соответствующего пункта меню он запускает либо оригинальный, но переименованный загрузчик игры ENG.00, либо RUS.00, который кроме части русификации так же содержит изменённый линк с AFS_DATA.AFS на AFS_DATA.NEW в котором находится остальная част русификации.
4. Из этого всего следует, что для вырезания лоадера и привидения файловой структуры к состоянию оригинала нам нужно:
а) Удалить папку SCEE_DD и файл LOADER.00 (это общий для всех игр с этим мульти-загрузчиком пункт);
б) Удалить файл ENG.00 - так как нерусифицированная версия загрузочного файла игры нам не нужна;
в) Переименовать AFS_DATA.NEW в AFS_DATA.ASF с заменой оригинального английского файла;
г) Переименовать RUS.00 в оригинальное имя загрузочного файла игры - SLUS_208.96, а затем найти и заменить в нём ссылку с AFS_DATA.NEW на AFS_DATA.ASF при помощи любого хекс-редактора;
д) Ну и в конце концов SYSTEM.CNF либо исправить руками до оригинального вида с указанием на SLUS_208.96 в текстовом редакторе, либо просто заменив его оригинальным файлом из английской версии.
Править можно разными подходами:
- Можно извлекать все содержимое образа, приводить к нужному состоянию, а потом собирать из файлов новый образ, что оставит следы от выбранной программы сборщика.
- Или можно взять образ лицушной копии и пропатчить его файлами русификации, предварительно приведёнными к соответствию оригинальной файловой структуре. В данном случае это всего два файла (AFS_DATA.NEW и RUS.00) которые нужно переименовать в их оригинальные имена и в одном из них исправить три байта. Сделать это можно при помощи такой тулзы как Apache 2.0 (
UPD: не срабатывает в случаях когда пираты умудряются изменить размер оригинальных файлов)
И так практически со всеми играми. Нюансы заключаются например в пиратских переименованиях файлов для дифференциации русифицированных их версий от оригинальных, имена которым пираты придумывали от игры к игре и это главное препятствие на пути автоматизации процесса. А так схема всегда одна. Повторюсь - открываешь и смотришь что изменилось в файловой структуре за исключением уже привычных файлов самого пиратского лоадера. А дальше делаешь выводы что во что переименовано и под каким именем соответственно вписано в исполняемый файл игры, после чего переименовываешь русские версии файлов в их английские оригиналы с заменой
UPD: и заменяешь ссылки на их имена в русифицированном исполняемом файле игры
P.S. Что-то кратко не получилось. Зато должно быть максимально понятно.