Просмотр полной версии : Ida pro и страничная организация памяти
Решил вот декомпелить игру 128
как обьяснить IDA наличие страниц?
goblinish
01.10.2012, 23:29
Решил вот декомпелить игру 128
как обьяснить IDA наличие страниц?
вряд ли удастся, у IDA ссылка на Zilog Assembler. так что вряд ли страницы поддерживаются.
надо ручками сделать нужные сегменты
и самому туда код/данные перенести
а потом на них можно ссылаться
esl, так так а как?
у меня ида 4.5
goblinish
02.10.2012, 11:53
esl, так так а как?
у меня ида 4.5
Справка говорит, что Edit->Segments...
goblinish, я пытался только нифига не понял, там можно как то задавать чтобы адрес оставаясь 16битным вел куда то дальше?
goblinish
02.10.2012, 12:20
там можно как то задавать чтобы адрес оставаясь 16битным вел куда то дальше?
5.2 подавилась на подобной попытке...
jerri, давай свой бинарник и опиши что где должно лежать
попробую посмотреть и сделать
в идеале бы набор файлов вида
segment0-00003fff
segment0-40007fff
segment1-40007fff
segment2-40007fff
ну тоесть где они в памяти лежат
p.s. ида61
Это не под спек это под ГБ
оно понимает
там с 0-8000 ром 0
с 8000 до 10000 рам
и страницы с 2 по 15 подключаются с #4000
попробуй для так а там смотреть будем
File->Open
00.cut
Processor -> Z80 : gb
[ok]
(Dissasembly memory organization)
clear ROM
set RAM
(я обычно так делаю, чтоб не возится с отдельным сегментом RAM)
RamStart : 0x00000
RamSize : 0x10000
получаем сегмент RAM: в котором с 0:7fff идет код рома
а дальше рам
(тут можно отдельно загрузить кусок 0:3fff)
а 4000:7fff в отдельный сегмент, но эт как удомно будет
далее для всех
Load File -> Additiona Binary File
02.cut
Loading offset : 0x4000
[ok]
дальше можно переименовть сегменты в нужный Alt+S (Edit-Segments-Edit Segment) находясь на нужном сегменте
и так далее
дальше в коде, если на OFFSET нажать Alt+R можно сослаться на нужныц сегмент
в обчем как-то так,
правда я с кучей сегментов дела не имел, обычно одного хватало
esl, то что надо :)
работает и в 4.5
а есть способ автоматизировать процесс раздачи оффсетов?
goblinish
02.10.2012, 18:48
а есть способ автоматизировать процесс раздачи оффсетов?
наверное, изучать скриптинг для иды.
esl, то что надо :)
работает и в 4.5
а есть способ автоматизировать процесс раздачи оффсетов?
не понял вопроса :(
4.5 постоянно теряет сегменты :(
чо делать?
опять же не очень понял
в 6.1 надо только offset указывать
можно взять тут http://rutracker.org/forum/viewtopic.php?t=3651872
Граждане, существует ли модуль для IDA для разгребания Sega Master System Ромов?
а если нет есть кто желающий, кто возьмется его собрать?
снова вопрос по IDA
как для mos6502 задавать в ida ссылки
т.е
есть такой код
ldx #55
ldy #b5
по факту
#b555 это указатель на массив
как это иде обьяснить?
а никак. Задай для адреса метку LB555
а никак. Задай для адреса метку LB555
ну так задано же
а теперь мне надо чтобы
ldx >LB555
ldy <LB555
а IDA понимает такие выражения? у меня 5.9 работает через задницу.
снова вопрос по IDA
как для mos6502 задавать в ida ссылки
т.е
есть такой код
ldx #55
ldy #b5
по факту
#b555 это указатель на массив
как это иде обьяснить?
Edit -> Operand Type -> Offset -> Offset (user defined).
Далее LOW8 / HIGH8
http://omegahg.com/temp/lohioff.png
Screw, далее рисует красным и ссылку на структуру не создает
- - - Добавлено - - -
ага разобрался
в поле target adress нужно указать этот самый адрес
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot