форум группы Chief-Net » » Базовый хакинг » Запрос подопытного на "разбор"

Страниц (1): [1]
 

1. Lleon23 - 29 Января, 2025 - 11:48:06 - перейти к сообщению
Доброго времени суток! Хотелось бы понять как ваша "кухня" работает. Собственно, если не затруднит ответить на несколько вопросов, то вот они:
1. Какие текущие проекты у вас есть? Кто их раздает?
2. Как организован процесс перевода по этапам?
3. Есть ли какие-то простые подопытные на ромхакинг?
Спрашиваю тут, а не беру любой ром из сети, потому что хотелось бы принести пользу, а не ковырять то, что никому не нужно.
Уровень знаний:
Что такое 16-ричная система счисления, как работает ram, указатели на очень базовом уровне понимаю.
Исходя из этого, еще пара вопросов:
Есть ли мануалы для новичков кроме этих? http://chief-net.ru/index.php?op...22&Itemid=33
Какой базовый инструментарий используете кроме hex редакторов, встроенных дебаггеров в эмуляторы и пр?
2. Guyver - 29 Января, 2025 - 16:10:32 - перейти к сообщению
1. Каждый выбирает проект сам для себя...
2. Создание проекта в Круптаре. Перерисовка шрифта. Перевод, вставка и проверка вывода текста в игре. Если есть что-то сжатое в графике - написание пакера/анпакера, перерисовка всего этого и вставка в ром.
3. Возьми то, что ещё не переведено, и что тебе нравится. Посмотри на предмет возможности перевода своими силами. Делать что-то по чужой прихоти - занятие так себе.

Я использую: Kruptar и DjinnTileMapper. Для простой игры этого хватает. Хексредакторами пользуюсь очень редко, так как DTM - это и есть редактор, только вид у него своеобразный.
3. Lleon23 - 30 Января, 2025 - 12:02:13 - перейти к сообщению
Возьмем для примера Actraiser 2 (E) для SNES. Я нашел шрифт. Он используется для всех 3 языков в роме, но почему то состоит из 2 "половинок". Видимо выводится по 2 тайла верхний и нижний.
Спойлер (Отобразить)

Так же в роме найден текст в виде строк(в формате ASCII) для английского, и немецкого языков.
Я так понимаю, тут вступает в действие карта тайлов? Игра берет строку и в соответствии с символами в строке выстраивает тайлы по этой карте? Это верно?
Правильно ли было бы заменить немецкий язык на русский, оставив при этом английский?
Длины предложений в любом случае изменятся. Ищу таблицу пойтнеров?
Когда найду использовать этот мануал?https://magicteam.net/documents%...1.0_%28RU%29.pdf

UPD:
Похоже пойнтнеры не нужны. Игра использует +(2B) как перенос строки и /(5С) как конец сообщения в окне. Добавил пару символов в сообщение. Там еще и FF после текста. Я так понимаю, это пустое место.

Спойлер (Отобразить)

4. Guyver - 30 Января, 2025 - 13:56:11 - перейти к сообщению
Выстави в DTM не 1 х 1, а 16 х 1 в окне Карта тайлов. И буквы будут видны полностью. Их можно экспортировать в bmp и там перерисовать (экспорт-импорт без косяков в версии DTM с форума от алекса)...

Зачем оставлять английский язык? Кто захочет поиграть на английском - просто запустит оригинальный ром Не понял

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

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

Если в игре используются автопойнтеры, тогда да, не нужны. Тут я не знаю, не проверял (на первый взгляд блок поинтеров находится прямо перед блоком с текстом)...

П.С. Да, пойнтеры прямо перед текстом, двухбайтные...
П.П.С. По идее, надо убрать выбор языка из европейки. Вангую, что часть ресурсов там общая, и при выборе другой версии в ней будут, к примеру, русские надписи и т.д.
5. Lleon23 - 30 Января, 2025 - 14:27:40 - перейти к сообщению
Guyver пишет:
Выстави в DTM не 1 х 1, а 16 х 1 в окне Карта тайлов. И буквы будут видны полностью. Их можно экспортировать в bmp и там перерисовать (экспорт-импорт без косяков в версии DTM с форума от алекса)...
Да, сработало спасибо.

Guyver пишет:
П.С. Да, пойнтеры прямо перед текстом, двухбайтные...
П.П.С. По идее, надо убрать выбор языка из европейки. Вангую, что часть ресурсов там общая, и при выборе другой версии в ней будут, к примеру, русские надписи и т.д.
Пошёл разбираться. Многое не понятно, но очень интересно Радость
Я пошарил по форумам. Комьюнити по переводам и ромхакингу полумертвое какое-то. Ну, или мне так кажется. Растерялся
6. Guyver - 30 Января, 2025 - 14:40:21 - перейти к сообщению
Просто тот, кто может и умеет (и делает) - ему форумы не особо нужны...

Мануал вроде должен помочь. Тут сложностей не должно возникнуть. Создай 2 таблицы, оригинальную и русскую. А потом, если что, посмотрим...
7. Lleon23 - 31 Января, 2025 - 10:40:56 - перейти к сообщению
Guyver пишет:
Просто тот, кто может и умеет (и делает) - ему форумы не особо нужны...

И не поспоришь Улыбка

Думал быстро разберусь. Как бы не так Радость


Вот этот блок указателей. Начиная с 1887D 4589 и 1887F 9F89 и до 18920 BEC1

Спойлер (Отобразить)


Он примерно до середины основного текста, потом обрывается. Указатель BEC1 зачем-то повторяется несколько раз. Почему?

А вот главное меню. Начало главного меню 183E3 и на него пойтнера нет. Искал E3 83 и E3 83 C1
Я уж и в дебаггер залез, хотя мало понимаю ассемблерный код.
1ый скриншот - место где находится меню в роме.
2ой скриншот - Функция, которая читает наш текст меню по 2 байта
3ий скриншот - Место с вызовом этой функции. Я так понял, что 83Е3 в коде явно зашито?
Что делать в такой ситуации? Что можно изучить и почитать?

Спойлер (Отобразить)



P.S. Нашел видео на youtube про пойнтнеры snes. Может поможет https://www.youtube.com/watch?v=...DK-KB8k&t=3s
8. Guyver - 31 Января, 2025 - 16:20:45 - перейти к сообщению
1899F - текст 1
189CC - текст 2

1887F - поинтер 1
18881 - поинтер 2

и т.д.

Если указатель повторяется несколько раз, может быть всё что угодно. Может, один из них верный, а другие ложные. А может, верные все... Как придумали разрабы - так и работает. Часто в играх бывает несколько указателей на одну фразу.

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

http://guyverperevod.byethost7.com/program.html

Ищи в корруптере E3 и заменяй, к примеру, на 2 больше. Прогони ром диапазонами и позапускай, пока не увидишь, что фраза сдвинулась... Я взял диапазон 10000, потом как увидел, что фраза исчезла, 1000, потом 100...

Спойлер (Отобразить)


Так ты определишь место в этом диапазоне, а потом уже определи где именно в этом диапазоне находится искомое число (сужай диапазон, пока его точно не найдёшь, а потом переключи в 16-чный вид адреса корруптера)... 2A6C8 - пойнтер E383. Как и положено по фразе... Как ты искал? Не понял

Спойлер (Отобразить)


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

Обычно перед такими разбросанными пойнтерами может стоять какой-то одинаковый символ. К примеру, A9. Найди несколько таких и посмотри, вдруг есть закономерность. И тебе станет легче их находить. Но не факт, что в этой игре так...
9. Lleon23 - 31 Января, 2025 - 18:55:08 - перейти к сообщению
Благодарю за такой подробный ответ Улыбка
Guyver пишет:
2A6C8 - пойнтер E383. Как и положено по фразе... Как ты искал?

Видимо, я подумал(уж не знаю, почему) , что пойтнеры на текст идут именно блоками, и не могут быть так далеко. Начитался про банки памяти, но видимо не понял как это работает.
Попробую ещё раз, спасибо!
P. S. Да, ассемблер сложная штука, на мой взгляд. Особенно если сам код не пишешь - а я не пишу. 5 строк кода после компиляции превращаются в 50😐. Попробуй понять, что там изначально было, не видя исходников. Ещё и архитектуру системы знать надо. Мрак😁, но интересно.

Guyver пишет:

http://guyverperevod.byethost7.com/program.html

К сожалению ссылка битая, но я нашел уже тут Улыбка Спасибо!
10. Guyver - 01 Февраля, 2025 - 09:11:56 - перейти к сообщению
Забыл залить новую версию, исправил...

* Обновил версию корруптера до 1.0.0.3

Добавил возможность запуска рома программой по-умолчанию, так как не все эмуляторы могут запустить ром, если им на это указывает внешняя программа. Они просто запускаются и ждут выбора рома...
11. Guyver - 01 Февраля, 2025 - 13:09:06 - перейти к сообщению
Исправил косяк с запуском ромов с пробелами в именах (надеюсь).
12. Lleon23 - 03 Февраля, 2025 - 13:57:24 - перейти к сообщению
Начал потихоньку шрифт делать. Не сильно хуже оригинала?



Оригинал



13. Mefistotel - 03 Февраля, 2025 - 14:21:46 - перейти к сообщению
Большие буквы смотрятся нормально.
14. Lleon23 - 03 Февраля, 2025 - 14:37:29 - перейти к сообщению
Mefistotel пишет:
Большие буквы смотрятся нормально.

Спасибо. Маленькие еще не трогал. Правильно понимаю, что буквы должны иметь размерность тех, которые изначально были? Ведь определенным буквам в ASCII соответствуют определенные тайлы? Например: Большую букву Щ вместить в 1 тайл проблематично. В английском шрифте W еле умещается, а еще же хвост нужно добавить от Щ.

P.S. Возможно, она и не понадобится.
P.S.S В роме маленькие буквы имеют один размер с большими. Правилен ли вывод, что текст масштабируется кодом игры?
15. Guyver - 03 Февраля, 2025 - 15:41:03 - перейти к сообщению
Ну, это можно понять по скринам игровым. Если шрифт не моноширинный...
16. Lleon23 - 03 Февраля, 2025 - 15:53:07 - перейти к сообщению
Самое муторное - пойнтнеры проверять. Найди ещё текст этот😁 Особенно в середине игры. Ладно, система паролей есть.

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®