Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Экстрим хакинг » Перевод игры Scooby_Doo_Mystery_(W)_[!].bin


Перевод игры Scooby_Doo_Mystery_(W)_[!].bin

Сообщений 21 страница 40 из 100

21

Спасибо тебе! Но я наверное проверю только в пятницу, буду ждать.

22

Привет всем!
Наконец то я нашел свободно время длятого что бы перевести до конца первый сценарий Скуби ду. Там мне теперь осталось перевести совсем то ничего, но(!) я перевожу без поинтнеров так как нигде не нашел ни одной доки по нахождению поинтнеров в играх на сегу и из-за этого я не знаю как перевести некоторые слова. Например:

Pick - кирка
Whell - колесо
Hose - шланг
Cow bell - (по идее) замороженный колокольчик

Потом буду дополнять эту тему.

23

Поинтеры они и в Африке поинтеры, на сеге они почти такие же как и в Денди или иной консоли, а при пересчете поинтеров ненужен размер заголовка рома(header) его вовсе нет. Мне нужна таблица символов и адреса твоих слов я найду тебе поинтеры.
to Alex231 Да кстати я краем уха слышал про дебагер, что за эмуль или это отдельный дебагер.

24

На Шедевре лежит Gens со встроенным дебаггером

25

cow bell - коровий колокольчик.
игру пока не видел, но на сеге поинтеры довольно часто бывают абсолютными. т.е. смотришь адрес первого символа слова, затем делаешь поиск этого адреса в данных рома. Лучше через WinHex.

26

Блин, точняк! это он до того как не разморожен замороженный, а после уже коровий.

Я ещё разок попробую поискать их, но когда я их искал то нифига не получилось.

при пересчете поинтеров ненужен размер заголовка рома(header) его вовсе нет.

Как это понять? То есть надо посчитать сколько букв в заголовке игры и отнять от адреса первой буквы слова количество букв заголовка. Блин надеюсь вы меня поняли :)

27

По-разному бывает. Я всегда впервую очередь проверяю данные над текстовым блоком и под ним, затем абсолютный адрес. В большинстве случаев так и нахожу поинтеры.

28

Итак посидев сегодня два часа за компом, пытаясь найти понинтеры в Скуби ду, у меня к сожалению ничего не вышло. Почитав доку Шефа я все понял, но он рассказывал как найти поинтеры на Денди, а мне нужна Сега и по этому опять же ничего не вышло.

Шеф, таблица символов это обычная русская и английская таблица которые мы составляем? Если так то вот они:

[URL=http://www.kupo2004.narod.ru /table.rar]таблици[/URL]

Вот адрес одного слова 00145E75, слово "The Lobby", я понимаю что его легко перевести (я лично перевел его как "Зал") но это просто для проверки, а вот адресс другого слова 001438f4 слово "Snowman". Я хотел бы их поменять местами. Если ты найдешь поинтнеры то мог бы ты мне объяснить как ты это сделал, то есть отнимал ты что то или нет ну... не могу я объяснить это по научному.

Да и ещё не мог бы ты сказать смещение на приставке Wonderswan Color.

Заранее спасибо.

Отредактировано kupo (2006-03-01 18:21:21)

29

Здесь кривые поинтеры - может быть и можно что-то сделать...
Текст разбит в основном на 2 блока - 2 сценария.
В итоге здесь всего 2 поинтера...
Но дело в том, что так запихали этот текст - предметные названия идут вперемешку с сюжетом. И на предметы поинтеры идут тоже от начала сценария... Своих у них нету. И если меняешь чуть слово - поинтер последующего предмета сбивается. Так что грустно. Но всё же - может помочь:
Поинтер начала первого сценария - 14199С.
Поинтер начала второго сценария - 1AF33C.

30

Спасибо тебе за эту информацию, думаю она будеь очень ценной.
Но все же сначало охото посмотреть если Шеф найдет их то все гораздо легче будет в дальнейшем, я лично до сих пор не могу понять как находить их в играх для сеги.
Спасибо за адреса.

31

Ура!!!
Итак, сразу к делу, я нашел поинтеры названий комнат в первом сценарии:
по адресу hFD4B0 - поинтер 00004453 - The Basement
далее к адресу прибавим h00014, получим:
hFD4C4 - поинтер 00004460 - The Mystery Machine, и т.д. (правда есть повторяющиеся, 00004474 - The Dungeon - два раза).
Теперь к 00004453, как я его нашел:
Адрес The Basement - h145DEF, поинтер на начало блока - h14199C (как было написано выше, кстати, Zalbard, спасибо), отнимаем от большего меньшее и получаем 00004453 (видимо так вычисляются все поинтеры в этой игре, так что особых проблем не должно возникнуть).

32

Нифига себе система!!!
Значит так я объясню как я это понял, а вы если че где то меня поправите.
Вот я взял слово Light Bulb его адрес 145D6B. Значиттеперь отнимаем его от адреса 14199C. Ой а вот и вопрос "как надо отнимать цифры от букв и буквы от букв?". Дальше к полученому числу прибавляем 00014 и вот он наш поинтер?
А откуда мы взяли число 00014?
Спасибо тебе Алекс.

33

Принцип правильный, (только отнимать нужно от большего меньшее, а не наоборот, и 14 прибавлять не к полученному, а искать полученное в роме), но не применительно к твоему примеру, этот алгоритм используется для названий комнат в первом сценарии, а они находятся в конце блока (с началом я еще не разобрался).
00014 - разница между поинтерами (конкретно для названий комнат), посто посмотри РОМ по указанному мной адресу в хексе, и все поймешь.
А шестнадцатиричные числа лучше виндовым калькулятором (в смысле стандартным) вычитать (как и складывать).

Отредактировано Alex_231 (2006-03-02 10:43:22)

34

Да, похоже все поинтеры являются относительными (относительно h14199C для первого сценария и h1AF33C - для второго), но вся проблема в том, что поинтеры разбросаны по рому без какой-либо видимой системы (по крайней мере, таковой я пока не наблюдаю), нужно их находить и записывать где-нибудь на бумаге или в блокноте, а потом править.

35

Нашел еще кое-что интересное:
по адресу h146208 лежат поинтеры к названиям предметов (относительно h14199C), только они идут в таком порядке: первые 4 байта - поинтер на предмет, следующие 4 байта - поинтер еще куда-то (пока не ясно куда), потом опять 4 байта - следующий предмет, потом опять неизвестный, и так далее. Но и здесь есть повторяющиеся, так поинтер 00000866 - указывает на пробел, поэтому их несколько (поинтеров).

36

Описываю то, в чем сумел разобраться:
1) поинтеры имеют вид - h0000XXXX, где XXXX - разница между адресом начала предложения и адресом начала блока (указанных выше);
2) поинтеры предметов и диалогов идут после текста, у поинтеров предметов есть закономерность появления (через четыре байта), у поинтеров текста нет никакой систематики (они хранятся в подпрограммах вывода сообщений и читаются программой вместе со всеми параметрами отображаемого текста, например цветом);
3) поинтеры названий комнат хранятся отдельно (выше я описал их для первого сценария, думаю не будет особой трудности найти их и для второго);

Алгоритм нахождения поинтеров текста:
1) Берем адрес начала предложения (любого, кроме первого, так как на него поинтер не нужен), вычитаем из него h14199C (для первого сценария) или h1AF33C (для второго);
2) Полученное число ищем в роме после текста без преобразований (переворотов).
Например: предложение "Uncle Blake is GONE!" из первого сценария, адрес - h1419E9, вычитаем h14199C, получаем 4D, ищем в роме после текста этот байт, но вспомнив о формате поинтера нужно искать не просто 4D, а 0000004D, находим его по адресу h146AE6, в случае если после вычитания получилось двухбайтовое число (к примеру 12D3), дополняем его слева до четырех байт нулями (000012D3) и ищем.

Думаю все ясно, теперь проблем возникать не должно.

37

Мда... Нет слов... И как такое возможно... Я в шоке - как нам до тебя ещё расти и расти :о)

38

:lol: Да... Шикарно... :D  Ни когда бы не догадался)

39

Alex_231 большое спасибо тебе, я все понял и у меня всё получилось, сейчас перевод пойдет полным ходом.
УРАААААААААА!!!! :D   :D  :D  :D

40

Мда... Нет слов... И как такое возможно... Я в шоке - как нам до тебя ещё расти и расти :о)

Ну не скажи, вот ты к примеру сколько уже переводами занимаешься?
А я впервые узнал о существовании этой отрасли (да, именно отрасли, потому как эта деятельность приняла довольно массовый характер) когда впервые попал на Шедевр, а было это 13 января 2005 года (немногим больше года назад).
Почему у меня получается взлом игр (а точнее ромхакинг)?
Из-за отсутствия каких-либо интересов в жизни (кроме компьютера), абсолютной маниакальности в отношении выполняемого дела (если за что-то берусь, то ухожу туда с ушами) и достаточно хорошей аналитической соображалки (способной выявить в, казалось бы, абсолютном хаосе едва уловимую закономерность и найти алгоритм ее вычисления), а еще я в первые же дни усвоил все шедевровские доки на уровне теории и понял основные алгоритмы ромхакинга.

Да, блин, получился рассказ на тему "Какой я хороший и умный".

Извините за оффтоп.

Отредактировано Alex_231 (2006-03-03 10:27:46)


Вы здесь » Chief-NET » Экстрим хакинг » Перевод игры Scooby_Doo_Mystery_(W)_[!].bin