PS2 как определить оригинальный носитель игры?

не могу найти адрес таблицы "экспорта". у меня вообще нету такого, как на первом скриншоте. перечисления функций и т.п.
в самом начале пишет
This file is generated by The Interactive Disassembler (IDA), а таблицы нет. я что-то не так делаю?
 
nrl_quaker написал(а):
не могу найти адрес таблицы "экспорта". у меня вообще нету такого, как на первом скриншоте. перечисления функций и т.п.
в самом начале пишет
This file is generated by The Interactive Disassembler (IDA), а таблицы нет. я что-то не так делаю?
На первом скриношоте структурированная таблица экспорта, после загрузки её в таком виде нет, так как сам программа ничего не знает о структуре и даже самом факте существования такой таблицы. Зачастую эта таблица находится ближе к концу сегмента .text прямо перед таблицами импорта. На первом скриншоте видно DATA REF: start+8 - это место в самом начале модуля, где адрес данной таблицы передаётся для регистрации.
 
По-моему из-за этой функции нет необходимости лезть в иду, есть прога DVD Scanlite, она такой патч обнаружит.
Кроме того, наличие патча не есть неопровержимое докозательство того, что оригинал был на другом носителе. Может кто-то хохмы ради пропатчил. :)
 
На первом скриношоте структурированная таблица экспорта, после загрузки её в таком виде нет, так как сам программа ничего не знает о структуре и даже самом факте существования такой таблицы. Зачастую эта таблица находится ближе к концу сегмента .text прямо перед таблицами импорта. На первом скриншоте видно DATA REF: start+8 - это место в самом начале модуля, где адрес данной таблицы передаётся для регистрации.
странно. нету никаких таблиц. даже, когда ищу стринги cdvdman, CDGetDiskType или DATA REF: start+8 ничего не находит. пробовал на файлах от Killzone (E) и Disgaea (E).
видно у меня старый IDA. у меня 4.1.5.520. может поэтому?
owieri написал(а):
По-моему из-за этой функции нет необходимости лезть в иду, есть прога DVD Scanlite, она такой патч обнаружит.
Кроме того, наличие патча не есть неопровержимое докозательство того, что оригинал был на другом носителе. Может кто-то хохмы ради пропатчил.
так она, вроде только патчит и ресторит. как там посмотреть патчились ли файлы?
 
nrl_quaker написал(а):
видно у меня старый IDA. у меня 4.1.5.520. может поэтому?
Я сам примерно такой версией пользуюсь, а таблиц нету видимо потому, что они на момент открытия там в виде отдельных байт сохранились.
 
Вот так вот выглядит начало модуля, написи, подкчеркнутые красным - мои комментарии.
[fullimage]7019[/fullimage]
В данном случае, если кликнуть по надписи dword_2670, то как раз перейдешь к искомой таблице. В других версиях модуля эта надпись будет отличатся, само собой поменяются цифры, да и вместо dword может быть написано word или byte.
 

Вложения

  • da_mst.webp
    da_mst.webp
    42,7 KB · Просмотры: 510
Теория - это супер! Но практика как всегда проще :)
Тупо ищем во всех файлах *.IMG строку байт
40 BF 02 3C 0F 20 42 34 00 00 42 90 08 00 E0 03
если находится - функцию не правили. Если не находится... то смотрим есть ли там вообще модуль CDVDMAN (в начале файла IMG список модулей видно)

Но метод не срабатывает :( Например Gigants: Citizen Cabuto была на DVD а пиратили ее на СД. Все модули целые. Но это пол беды. Беда в том что если свалить все файлы на ДВД - игра не идет... Но если модули и елф игры пропатчить под работу с ДВД, то все запускается. Мысли есть?
 
Chook написал(а):
Но если модули и елф игры пропатчить под работу с ДВД, то все запускается. Мысли есть?
Это скорее всего влияет MediaMode. Игры в начале сами устанавливают MediaMode - CD или DVD (это сугубо программная настройка, не влияющая на работу "железа"). За эту настройку отвечает функция, которая находится в таблице экспорта под номером 75.
Оринальный код выглядит вот так:
[fullimage]7280[/fullimage]
но патч, весьма вероятно, поменял не его, основной ELF в том месте, где производится вызов этого кода. Там в $a0 записывает 1 для CD или 2 для DVD. Если использовать значение 0xFF, то будет что-то типа "автодетекта", но не уверен, что это надёжный способ.

Найти нужное место в основном ELF гораздо сложнее, чем покапаться в IOPRP.IMG, но если тема всерьёз интересует, могу объяснить как это делается.
 

Вложения

  • mmode.webp
    mmode.webp
    12,8 KB · Просмотры: 497
Назад
Сверху