Показать сообщение отдельно
Старый 07.01.2013, 20:02   #379
Person Of The Community
 
Аватар для Kazooki
 
Регистрация: 20.11.2010
Адрес: Earth
Пол: Мужской Мужской
Сообщений: 320
Kazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспоримаKazooki репутация неоспорима
По умолчанию Ответ: Группа переводчиков *KUDOS MUST DIE!*             

Цитата:
Сообщение от paul_met Посмотреть сообщение
по адресу 0х1с - размер исполняемого файл.по адресу 0х18 - в какую область оперативной памяти его загружать.Размер заголовка можно вычислить путём вычитания из реального размера файла - размер файла без заголовка, записанный по адресу 0x1c. Как правило это размер получается равным 0х800.Затем из значения, находящегося по адресу 0х18 вычитаем размер заголовка 0х800 и получаем наше заветное смещение.Все операции производятся с учётом обратного порядка байт.
О, так понятней.
Если ида не устраивает, то можнео наверно и так. Правда она иногда не правильно интерпретирует данные, но есть поиск по hex. Но я привык к PEC.
Цитата:
Сообщение от paul_met Посмотреть сообщение
На счёт 8-ми байтового поинтера, то когда стандартный 4-х байтовый поинтер разбивается на части, то есть сначала идёт 2 последних байта поинтера, потом пара неизвестных мне байт, а затем 2 первых байта поинтера, впрочем после них опять неизвестная мне пара байт. Такой указатель получается 8-ми байтовым ибо по другому его нельзя классифицировать. В качестве примера можно посмотреть экзешник американской версии игры Vandal Hearts (SLUS_004.47). 8-ми байтовый поинтер, например можно найти по адресу 0х396B0 и выглядит он как "0180023CEC374224". Жирным выделены две части 4-х байтового поинтера, который в обычном случае выглядел бы как "EC370180".
Но указывает то он на 800137EC. Так? Т.е по твоей логике длинна указателя 0180~n~EC374 будет равна 4+n и назвать его конечно можно хоть 147398-байтным. И не смущает, что поинтер выходит за пределы разрядности.

Цитата:
Сообщение от paul_met Посмотреть сообщение
Это правило к какой системе относиться? У которых в качестве носителей выступают картриджи?
---->
Цитата:
Сообщение от Rotoid Посмотреть сообщение
где и как нужно искать эти самые поинтеры применительно к играм именно на ЗЫЧ???

Цитата:
Сообщение от paul_met Посмотреть сообщение
Поинтеры могут быть где угодно (даже в другом файле в то время, как искомый текст сидит в экзешнике).
Конечно есть не стандартные случаи когда нет отдельной таблицы, а указатели идут вперемешку с кодом или другими данными. Или от опорного указателя тем или иным образом вычисляется смещение к данным. Поинтеров вообще в нативном виде может и не быть, но ведь речь шла о:
Цитата:
Сообщение от paul_met Посмотреть сообщение
У меня давно витает мысль в голове написать простенькую прогу для поиска поинтеров в экзешнике
Kazooki вне форума  
Ответить с цитированием