Библиотека knigago >> Компьютеры и Интернет >> Хакерство >> Докажи баг!


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1817, книга: Великое перерождение
автор: Артем Каменистый

Ну, "Великое перерождение" - это еще одна дикая поездка от Каменистого! Люблю его за умение создавать захватывающие и напряженные миры. Главный герой, Гриш, влипает в несчастную аварию, а потом бац - он оказывается в другом теле, в другом мире. И с этого момента начинается адреналин! Он должен адаптироваться к своему новому окружению, избегать опасностей и учиться сражаться. Я обожаю, как Каменистый смешивает экшн и выживание в этой истории. Гриш должен быть хитрым и...

СЛУЧАЙНАЯ КНИГА

Хакер - Докажи баг!

Докажи баг!
Книга - Докажи баг!.   Хакер  - прочитать полностью в библиотеке КнигаГо
Название:
Докажи баг!
Хакер

Жанр:

Хакерство, Игровые приставки и автоматы

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Докажи баг!"

Аннотация к этой книге отсутствует.

Читаем онлайн "Докажи баг!". [Страница - 3]

стр.
отображаются нормально, значит, этих данных на проверенном участке
нет и мы можем пометить его как полностью проверенный
и больше к нему не возвращаться. Если после порчи данных
игра зависает, то, скорее всего, был затронут программный
машинный код, а значит, пока что неизвестно, есть ли на этом
участке, помимо программного кода, текст или шрифт. Чтобы
это выяснить, нужно данный большой участок разбить на более мелкие и пройтись уже по ним, разумеется рекурсивно
уменьшая размер исследуемых участков. Наконец, если мы
видим, что текст или шрифт на этом участке испорчен, то можно будет сразу же сосредоточиться именно на нем и, постепенно уменьшая исследуемые интервалы, точно установить
начало и конец интересующих данных.
Существует еще один способ найти текст. Он более быстрый, но не гарантирует результат и сработает, только если
текст не запакован и алфавит закодирован упорядоченно,
то есть, например, если a = 2D, то b = 2E, c = 2F, d = 30 и так
далее. Можно для начала попробовать взять какое-либо
не очень короткое слово, встречающееся в тексте игры, только
строчными (или только заглавными) буквами, а дальше пусть
самописное или готовое ПО пробежится по рому в поисках
этого слова (256 – 26 = 230) раз. Если ничего найдено не будет, то я рекомендую не париться и просто воспользоваться
корруптором.

ВНОСИМ ИЗМЕНЕНИЯ
Для редактирования шрифта или графики можно воспользоваться готовым тайловым редактором, но нужно иметь в виду,

6

7

ХАКЕР 06 /185/ 2014

43

Меняем правила игры

8

MTE
Рис. 8 Один из просмотрщиков, реализованный на Flash

WWW

что формат хранения шрифта/графики может оказаться экзотическим и/или сжатым. Тогда придется или самому писать редактор шрифта, или «перерисовывать» шрифт в hexредакторе, произведя все расчеты вручную, или написать
перекодировщик из BMP или PNG в необходимый формат.
При редактировании текста нужно учитывать, что по умолчанию любой замененный тобой кусок не должен быть длиннее
оригинала. Как правило, это ограничение очень легко обойти
за счет изменения поинтеров, которые, в отличие от текста,
очень узнаваемы сразу же в hex-редакторе. Но если перевод
не ограничивается главным меню и окном опций, то пересчитывать и редактировать их вручную, мягко говоря, не стоит: рассчитывать и изменять их нужно автоматически. Из уже
готового ПО я могу порекомендовать для этих целей Kruptar.
Используя подобный софт, можно комфортно делать перевод,
совершенно не парясь о том, что если вносить корректировки
в уже осуществленный перевод и длина отредактированного
фрагмента текста изменится, то значения множества поинтеров сдвинутся. Kruptar или ПО с аналогичным функционалом
полностью возьмет на себя постоянный пересчет и правку поинтеров.
Правда, даже если используется Kruptar, очень желательно отслеживать, чтобы переведенный текст всегда умещался
на экране в отведенное ему место. Конечно, это можно делать,
тестируя переведенный ром через эмулятор, но это долго.
Иногда для этой цели пишется специальный просмотрщик сообщений.
Для Final Fantasy V Advance HoRRoR сделал схожий просмотрщик, с описанием и скриншотом которого можно ознакомиться здесь: j.mp/1jrR8hD, но он не выкладывает свой софт
в паблик по непонятной для меня причине.
Можно проверять, не вылезает ли текст за отведенные ему
границы, не вручную, а автоматически.
Например, если использовать Python, то достаточно всего
лишь определить словарь, ключами которого являются символы, а их значения равны ширине этих символов в пикселях
в соответствии с игровым шрифтом. Затем нужно, используя
регулярное выражение, пробежаться по всему тексту, отдельно по символам каждой строки, посчитав таким образом ширину текущей строки и сравнивая с максимально возможным
значением, записать в лог все случаи превышения лимита
(если они есть). Если лог окажется не пустым, то нужно проверить все найденные им места с помощью графического просмотрщика.

ЗАКЛЮЧЕНИЕ
В статье кратко описан процесс базового ромхакинга c применением готового софта. Хотя, конечно, лучшие инструменты — это интерпретатор или компилятор любого подходящего
языка по вкусу и голова. Если готовый софт отлично справляется с возникшими задачами, то оправданно идти по уже
протоптанной другими людьми тропинке, вместо того чтобы
ломиться через сугроб. Но и стесняться писать собственный
софт не стоит. --">
стр.

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.