Докажи баг! [Хакер] (pdf) читать постранично
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (4) »
06 (185) 2014
4 607157 100063
14006
W W W . X A K E P. R U
Докажи баг!
Как правильно представлять вендорам нестандартные
уязвимости и делать интернет безопаснее
036
084
126
Жизнь после Sublime
Мобильный банкинг
SmartOS
Изучаем новое поколение
текстовых редакторов
Устоят ли популярные
приложения перед MITM?
Как Solaris обрела новую
жизнь в мире highload
PC ZONE
40
ХАКЕР 06 /185/ 2014
ВВЕДЕНИЕ
В РОМХАКИНГ
DaraKero
Dara
Kero_F
_F @ Fli
Flickr.
ckr.com
com
Антон Дементьев
r456tg@gmail.com
ХАКЕР 06 /185/ 2014
41
Меняем правила игры
До появления лазерных дисков и облаков консольные игры выходили на картриджах. Те, кто застал девяностые, наверняка помнят самые популярные в нашей стране игровые приставки Dendy (российский клон японской
Famicom) и Sega Mega Drive. Если очень хочется «вернуться к истокам» —
всегда можно запустить эмулятор. Но можно пойти и чуть дальше — а что,
если покопаться в самой игре? Добро пожаловать в эму-сцену.
Э
му-сценой называют сообщество энтузиастов,
формирующееся вокруг той или иной приставки.
Эти люди ковыряются в своей любимой платформе вдоль и поперек: выкладывают полные дампы
картриджей (ROM’ы), придумывают способы для их модификации и добиваются порой самых необычных результатов. Самый распространенный пример — локализация игр. Но можно
пойти и дальше. Как тебе история про чувака, который хакал
ROM’ы игр для NES, заменяя мужских персонажей на женских
(j.mp/1nJg5p9)? А что еще прикажешь делать, если его дочке
хочется играть за девочек, а в Donkey Kong такой возможности
не предусмотрено?
КРАТКИЙ ЭКСКУРС
Самым главным толчком, послужившим появлению ромхакинга, стала история с игрой Final Fantasy V в 1992 году. Японская
компания Squaresoft решила не издавать игру в США, посчитав ее слишком сложной для западных игроков. С появлением
эмуляции западные энтузиасты не согласились с японцами
и не только сыграли в нее, но и выпустили первый любительский перевод образа картриджа. Официального же перевода на английский не было вплоть до переиздания FFV в конце
1999-го на PlayStation. Именно с перевода Final Fantasy V и появилась русская ромхакинг-сцена, это был дебютный проект
группы «Шедевр» в 2001 году.
В 1994 году история отчасти повторилась и с Final Fantasy
VI. На этот раз игра вышла в США (под названием Final Fantasy
III), через несколько месяцев после релиза в Японии (1994
год). Однако локализация оказалась крайне неудачной: перевод всей игры был выполнен всего одним человеком (Тедом
Вулси) в крайне сжатые сроки. Например, в этом переводе были выкинуты скрытые отсылки к дальнейшему развитию сюжета, а смысл одного из предложений был заменен
на противоположный из-за неправильно понятого японского
крылатого выражения (фраза, близкая по значению к «бизнес испарился», была воспринята Тедом как «бизнес пошел
вверх»). Сам Тед оправдывает низкое качество его перевода
тем, что ему приходилось делать текст максимально коротким, так как он не влезал в картридж, в то время как японский
текст заведомо более компактный. Тем не менее недовольные официальным переводом фанаты с задачей помещения
в ром близкого к оригиналу английского текста справились
вполне успешно.
ФОРМУЛИРУЕМ УСЛОВИЯ ЗАДАЧИ
Есть одно обстоятельство, которое делает ромхакинг одновременно сложнее и интереснее более популярного моддинга PC-игр. Разработчики современных игр для ПК часто
поддерживают моддеров, создавая для них официальные
инструменты и выпуская всю необходимую документацию.
В случае с консольными играми очевидно, что разработчики
никак не предусматривали последующую модификацию своих
тайтлов. Поэтому при ромхакинге мы имеем бинарный файл
и даже не знаем, по каким адресам и в каком формате хранятся нужные данные, а значит, изначально требуется действовать вслепую, на ощупь.
Ромхакинг может быть как с модификацией машинного
кода — языка ассемблера, который у каждой платформы свой
(в этом случае если изменения кардинальные, то модифицированный ром или образ диска называют хаком), так и без нее.
Во втором случае трогать машинный код не нужно и работа
происходит только с данными: графикой, шрифтами, текстом,
пойнтерами (разделители текста) или даже музыкой. Но даже
в этом случае расположение и формат этих данных изначально неизвестен.
Рассмотрим самую распространенную цель ромхакинга — любительский перевод. Изменение шрифтов необходимо, если алфавиты исходного и конечного языка отличаются,
например если нужно заменить латиницу на кириллицу. То же
самое касается и перевода с японского на английский или русский.
Кроме адреса, по которому начинается текст, нужно определить его кодировку, которая может быть абсолютно произвольной. Практически всегда разработчики старых консольных игр использовали поинтеры, благодаря которым также
упрощается и деятельность ромхакера: изменяя их, он может
не сохранять длины оригинальных
- 1
- 2
- 3
- . . .
- последняя (4) »
Последние комментарии
7 часов 10 минут назад
9 часов 58 минут назад
1 день 20 часов назад
2 дней 5 часов назад
2 дней 10 часов назад
2 дней 12 часов назад