Разработка и ромхакинг > Ромхакинг и программирование
[NES] iNES loader for IDA Pro
(1/1)
DrMefistO:
Лоадер ромов NES для IDA Pro v7.
Ссылка на исходники: https://github.com/lab313ru/inesldr
Ссылка на файлики: https://github.com/lab313ru/inesldr/releases

Процитирую тут Санчеза:
"Простейший вариант. Автоматические переменные получаются только с последним банком (или с первым, если он один), поддержка основных типов маппера, остальное - по дефолту банками по 32 кило. Кому чего надо, прикручивайте сами, дальше лень копаться в сдк по иде. Tip of Day: если надо перебросить вызов подпрограммы в другой банк, на имени функции в опкоде нажать Alt+R и выбрать нужный. Дальше все автоматически."
worm:
Все таки вовремя мне приспичило дендю изучать :lol:
Странно, что 7я ида вышла давно, а фаны нес-хацкинга до сих пор не портировали этот лоадер)
DrMefistO:

--- Цитата: worm от 26 Декабрь 2017, 23:40:52 ---Странно, что 7я ида вышла давно
--- Конец цитаты ---
Не давно.
CaH4e3:
зачем лодырь для иды7, если на 6.3 и на 6.8 нормально и так работает лол

Добавлено позже:
я скажу даже больше, тот лодырь дико старый, а текущий умеет банки двигать по анализу цдл файла и знает больше мапперов

Добавлено позже:
ну и да, лодырь - это тупой инструмент, можно и без него руками добавить ром в базу точно также... главное - это СКРИПТЫ!
DrMefistO:
CaH4e3, вот давай текущий тогда сюда)
А скрипты можно адаптировать в лоадер тоже.
CaH4e3:
лодырь бутится один раз на загрузке, а скрипты динамически апдейтят любые изменения по трейслогу, которые обычно много раз обновляются в процессе реверса. все в логгер не засунешь никак. без скриптов никуда. щас нету репы с собой лол, на флешке осталась. закину, как до нее доберусь
Griever:
Ждал все выходные, как подарка.
Надеюсь, Санч не забыл про скрипты.
CaH4e3:
конечно же забыл

инес+гб лодырь и скрипты в нагрузку
Griever:
Вот это годнота  :) Спасибо, есть что поизучать!
DrMefistO:
Обновил репозиторий. Добавил твои скрипты (чтобы не потерялись потом). Обновил лоадеры для 7-й иды.
ElectrixX:
64-битный лоадер не работает?
DrMefistO:
Странно. Я гляну.
neoborg:
У меня такая же ошибка на x64

Как сделать чтобы Hex View начинал показывать память рома с 0000, а не с 8000?
Как сделать чтобы он также адекватно показывал адрес рома как при просмотре обычного бинарного файла, а не добавляя какие-то непонятные 1800, 3200 и так далее?
IDA Pro v7
DrMefistO:
Могу попробовать глянуть, но не обещаю, что пойму почему:)
Тут, конечно, больше Санчез шарит.
neoborg:
DrMefistO, окей)
CaH4e3:
так как ида сама по себе не знает про такую штуку, как БАНКИ, все манипуляции с банкованием сделаны через фичу сегментации. соответственно, каждый банк - это сегмент в адресном пространстве условной машины с сегментными регистрами. то, как ида их кладет физически, в память, определяет полный эффективный адрес ЕА каждого байта. когда я создаю в лодыре новый сегмент, я добавляю некоторое число к размеру банка, чтобы его можно было потом логически двигать на любой ORG. потому там и получается +1800 +3200 и тп. и потому адрес начала рома не с 0, а с 8000 - это его офсет в адресном пространстве денди.

и да, разуй глаза. на твоих скринах внизу под окном есть строка, где написаны два офсета текущего выделенного байта: реальный офсет байта в роме как во время загрузки (с учетом заголовка) и полный эффективный офсет ЕА.

и да, для просмотра бинарного файла ида не нужна, используй любой бинарный просмотрщик. ида для просмотра дизасма нужна хех
neoborg:
CaH4e3, "делаю умный вид типа все понял"

Действительно, не обратил внимание на строчку внизу. Лучше чем ничего

Спасибо
Навигация
Главная страница сообщений

Перейти к полной версии