Название: file_58223464 Описание : Вышел FCEUX 2.2.2Недавно вышедшее обновление самого мощного эмулятора NES принесло ряд интересных фич для ромхакинга. Встроенный Hex Editor раньше умел только раскрашивать области памяти в зависимости от их назначения (код жёлтым цветом, данные - синим). А теперь ещё появилась фича "Highlight Activity", которая в реальном времени подсвечивает изменяющиеся ячейки памяти, позволяя легко находить нужные адреса (например, сравнивая содержимое двух сэйвов). Ещё, может, кто помнит такую неудобную особенность всех известных дебаггеров для NES: нельзя было скроллировать дизассемблированный код вверх построчно. Потому что инструкции процессора 6502 могут быть разной длины... короче, забудем об этом. Самое главное, наконец-то доведена до ума функциональность Символьного Отладчика (Symbolic Debugging). Это очень крутая фича. Она позволяет видеть в окне эмулятора отлично читаемый исходник игры, с именами переменных и меток, и даже комментариями. Естественно, имена придётся придумывать самостоятельно. Щёлкаем правой кнопкой мыши по любому адресу, вводим текст и всё - теперь FCEUX будет заменять этот адрес на указанный текст повсюду - в окошке Debugger, в логах, в заголовке окна Hex Editor. Это всё реально помогает отреверсить игру с удобствами. Обычно же как бывает, в начале нового проекта перед ромхакером встают необъятные стены ассемблерного кода, и мы начинаем искать определённые адреса в памяти приставки, которые могли бы привести нас к нужному куску кода. Иногда бывает достаточно поставить бряк на какую-нибудь визуальную переменную (например, на координату спрайта или на карту тайлов), но чаще приходится долго и упорно перекапывать игру, на ходу документируя адреса данных (в текстовом файле) и разбирая порядок выполнения кода. Ну а теперь можно забыть про текстовые файлы и просто использовать Symbolic Debug. Скажем, даже когда по внешнему виду дизассемблированной процедуры вы с трудом понимаете, почему вот эта часть кода приводит к прыжку на вот этот адрес, берём и тупо называем этот неисследованный адрес пространным именем типа "ПопадёмСюдаПриКоординате=1F" (да, можно по-русски), и продолжаем читать и комментировать код дальше. Вскоре вы заметите, что ситуация проясняется всё больше и больше. Ведь мы тут фактически восстанавливаем фрагмент исходного кода игры, но не углубляясь в изучение программы целиком, а всего лишь упорядочивая окружающие нас вещи, исключительно в рамках текущей задачи. Восстанавливать исходник всей игры не придётся!http://romhacking.ru/news/vyshel_fceux_2_2_2/2013-09-26-2359 Добавлено : 7 авг 2015