Пятница, 2024-04-19, 7:20 PM
Приветствую Вас Гость | RSS
Главная страница | IDA Pro - интерактивный дизассемблер. - Форум по PBI-1000s (sti5518) и его клонам | Регистрация | Вход
Меню сайта
Форма входа
Новые сообщения
на форуме
(7)Сообщение от deeptimatkaacenter
(168)Сообщение от codeflare
(8)Сообщение от tv
(7)Сообщение от labacika2120
(2)Сообщение от morozovakakatya
(1)Сообщение от Mihail_86Rus
(25)Сообщение от LEGKO_ZARABOTAT
(0)Сообщение от matthias84
(0)Сообщение от taisiarodnecheva
(0)Сообщение от taisiarodnecheva
(1)Сообщение от taisiarodnecheva
(0)Сообщение от matthias84
(0)Сообщение от matthias84
(0)Сообщение от matthias84
(1)Сообщение от matthias84
Статьи на сайте
Инструкция по смене кода на PBI DVR-1000s
Интерфейс RS232. Его доработка на PBI-1000s и Canghong DVB-S3900
Что такое JTAG?
ИНТЕРФЕЙС JTAG
Инструкция по смене кода на PBI-1000s
Download  (новые файлы)
Вот,пробуйте. (Просмотров 8977)
русские программы для Джитаг (Просмотров 16445)
Статистика

PBI-1000s (sti5518) и его клоны
(как довести китайские ресиверы до ума)
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум по PBI-1000s (sti5518) и его клонам » Программы, интерфейсы, смена софта » Программирование » IDA Pro - интерактивный дизассемблер.
IDA Pro - интерактивный дизассемблер.
iwiwДата: Вторник, 2006-07-18, 9:58 PM | Сообщение # 1
Сержант
Группа: Модераторы
Сообщений: 29
Статус: Offline
Доброго времени суток.
Все, кто когда-либо, в том числе и я, пытался найти какую либо информацию по работе с IDA на конкретном примере, вряд ли что нашли. Это инструмент профессионалов, а они с нами делиться своими знаниями и опытом не спешат, да и вряд ли будут. Поэтому предлагаю здесь делиться своими изысканиями или информацией по дизассемблированию прошивок ресивера. Может потом и профессионалы подтянутся и помогут нам в этом деле.
Вот ссылка на IDA:
http://cracklab.ru/download.php?action=list&n=NQ==
IDA Pro 4.9.0.863 Advanced Full with SDK, Flair and WinCE Debugger (53243 Кб)
Те, кто скачивал EditorKeys, может быть прочитал приложенную статью "IDA Pro". Там описана загрузка дампа (dump) DigiMax DSR-9010 - Flash 1(M29W800DT) - SJ02.S2.07 в IDA. Dump - данные (получаемые в результате) разгрузки (памяти).
Заканчивается статья "IDA Pro" словами "Все, можно приступать к анализу загруженного файла". Вот к анализу мы сейчас и попытаемся приступить. Все, что будет написано ниже, то есть та информация с которй я хочу с Вами поделиться, была почерпнута мною с различныйх сайтов, посвященных SAT TV и программированию.
Начнем с блока "Boot"
Flash - особый тип микросхем памяти, способных .сохранять информацию даже после отключения питания. Информация "прошивается" во "флэш-память" с помощью специального электрического разряда, и изменить ее может только другой такой же разряд
Boot - загружаться; запускаться; начальная загрузка; boot loader загрузчик (системы);
Этим термином обозначается участок, в нашем случае флэш-памяти (flash), содержащий необходимую для загрузки (системную) информацию. Из "Memory map" (Карта памяти) на процессор sti5518 нам известно, что точка входа "Boot entry point" находится по адресу:0x7FFFFFFE. Устанавливаем курсор на адрес:0x7FFFFFFE и жмем клавишу "C". Получим участок дизассемблированного кода, но позволим себе не согласиться с IDA, и перед тем, как создать таблицы перемещения, поправим кое-что "ручками", а точнее будем использовать функции самой же IDA. Но об этом в следующем посте...
Еще о "Boot". Здесь размер бута равен 64 килобайта. Как можно посмотреть границы "Boot". Открываем Hex-редактор, загружаем дамп, переходим на адрес:000FFFFC видим байты 2020 6107, затем поиском находим, где у нас в дмпе есть такая строка. Можно ввести в поиск байты с адреса:000FFFF8 - это строка такого вида C001008020206107. Как правило, перед бутом и в конце бута байты будут совпадать. В нашем случае мы увидим в Hex-редакторе, что бут начинается с адреса:000F0000. Естественно реальный адрес бута - это 7FFF0000, это в Hex-редакторе у нас прошивка загружена с адреса:00000000, в IDA же мы грузим, как и положено, с адреса:7FF00000. Сейчас посчитаем размер нашего бута. 00100000h - 000F0000h = 10000h. 10000h = 65536dec. 65536/1024=64Килобайта - размер нашего "Boot".
Продолжение следует...


Сообщение отредактировал iwiw - Вторник, 2006-07-18, 9:58 PM
 
pbiДата: Среда, 2006-07-19, 4:39 PM | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 200
Статус: Offline
Вот, если кому интересно, первая статья:
http://rapidshare.de/files/26153243/IDA_Pro.zip.html

Вот результат работы IDA, после того, как мы встали на адрес: 0x7FFFFFFE и нажали клавишу “C”.

ROM:7FFFFFE7 ; ---------------------------------------------------------------------------
ROM:7FFFFFE7
ROM:7FFFFFE7 loc_7FFFFFE7: ; CODE XREF: ROM:7FFFFFFE j
ROM:7FFFFFE7 ldc unk_7FFF0158
ROM:7FFFFFEF gcall
ROM:7FFFFFF0 ajw 8
ROM:7FFFFFF1 stl 7
ROM:7FFFFFF2 outword
ROM:7FFFFFF3 ldl 0Fh
ROM:7FFFFFF4 stl 6
ROM:7FFFFFF6 outword
ROM:7FFFFFF7 ldl 0Fh
ROM:7FFFFFF8 eqc 0
ROM:7FFFFFF9 j loc_7FFFFFFB
ROM:7FFFFFF9 ; ---------------------------------------------------------------------------
ROM:7FFFFFFA db 0
ROM:7FFFFFFB ; ---------------------------------------------------------------------------
ROM:7FFFFFFB
ROM:7FFFFFFB loc_7FFFFFFB: ; CODE XREF: ROM:7FFFFFF9 j
ROM:7FFFFFFB adc 0
ROM:7FFFFFFB ; ---------------------------------------------------------------------------
ROM:7FFFFFFC db 20h
ROM:7FFFFFFD db 20h
ROM:7FFFFFFE ; ---------------------------------------------------------------------------
ROM:7FFFFFFE j loc_7FFFFFE7
ROM:7FFFFFFE
ROM:7FFFFFFE end ;

Переключимся в IDA на вкладку “Hex View-A” , здесь мы увидим, будем смотреть справа на лево, следующие байты:80 00 01 C0; 7F FF D6 20; 7F FF D7 B8.
ROM:7FFFFFF0 B8 D7 FF 7F 20 D6 FF 7F C0 01 00 80 20 20 61 07

80 00 01 C0 - initial workspace pointer
7F FF D6 20 – SectionTable
7F FF D7 B8 - bootdata_block
Переключаемся обратно на вкладку “IDA View-A” и, как, я уже писал, внесем правку вручную. Ставим курсор на адрес:7FFFFFF0 делаем клик правой кнопкой мыши и щелкаем по “Undefine” Выскочит окошко с вопросом “Do you want to undefine the current instruction(s)?”. Жмем “Yes”. Вы должны получить нижеследующее:

ROM:7FFFFFE7 ; ---------------------------------------------------------------------------
ROM:7FFFFFE7
ROM:7FFFFFE7 loc_7FFFFFE7: ; CODE XREF: ROM:7FFFFFFE j
ROM:7FFFFFE7 ldc unk_7FFF0158
ROM:7FFFFFEF gcall
ROM:7FFFFFEF ; ---------------------------------------------------------------------------
ROM:7FFFFFF0 db 0B8h ;
ROM:7FFFFFF1 db 0D7h ; +
ROM:7FFFFFF2 db 0FFh
ROM:7FFFFFF3 db 7Fh ; 
ROM:7FFFFFF4 db 20h
ROM:7FFFFFF5 db 0D6h ; г
ROM:7FFFFFF6 db 0FFh
ROM:7FFFFFF7 db 7Fh ; 
ROM:7FFFFFF8 db 0C0h ; L
ROM:7FFFFFF9 db 1
ROM:7FFFFFFA db 0
ROM:7FFFFFFB db 80h ; А
ROM:7FFFFFFC db 20h
ROM:7FFFFFFD db 20h
ROM:7FFFFFFE ; ---------------------------------------------------------------------------
ROM:7FFFFFFE j loc_7FFFFFE7
ROM:7FFFFFFE
ROM:7FFFFFFE end ;

Далее устанавливаем курсор на адрес: 7FFFFFF0, делаем клик правой кнопкой мыши и в контекстном меню щелкаем по строке – Double word 7FFFD7B8h. Встаем на адрес: 7FFFFFF4 и делаем все, как выше, затем на адрес: 7FFFFFF8 и все аналогично. Вот полученный результат:
ROM:7FFFFFE7 ; ---------------------------------------------------------------------------
ROM:7FFFFFE7
ROM:7FFFFFE7 BootStart: ; CODE XREF: ROM:ResetVector j
ROM:7FFFFFE7 ldc unk_7FFF0158 ; load constant (romload)
ROM:7FFFFFEF gcall ; general call
ROM:7FFFFFEF ; ---------------------------------------------------------------------------
ROM:7FFFFFF0 dd unk_7FFFD7B8 ; bootdata_block
ROM:7FFFFFF4 dd unk_7FFFD620 ; SectionTable
ROM:7FFFFFF8 dd 800001C0h ; initial workspace pointer
ROM:7FFFFFFC db 20h
ROM:7FFFFFFD db 20h
ROM:7FFFFFFE ; ---------------------------------------------------------------------------
ROM:7FFFFFFE
ROM:7FFFFFFE ResetVector: ; jump
ROM:7FFFFFFE j BootStart
ROM:7FFFFFFE
ROM:7FFFFFFE end ;
Чтобы ввести комментарий вручную. Установите курсор на адрес (строку), где вы хотите что-то записать, кликните правой клавишей мышки и в контекстном меню выберите строку “Enter repeatable comment… ”, или же просто нажмите на клавишу быстрого вызова “;”. В появившемся окне наберите комментарий и жмите “Ok”.
Для переименования адреса(метка, Label). Мы хотим переименовать метку 7FFFFFE7 в BootStart. Для этого встаем на метку, кликнем правой кнопкой, выбираем в контекстном меню “Rename” или же кнопкой быстрого вызова “N”.
Если хотите, то переименуйте адреса:
unk_7FFF0158 в romload
unk_7FFFD7B8 в bootdata_block
unk_7FFFD620 в SectionTable
Продолжение следует…


Хватит спрашивать про одно и тоже!!!
 
iwiwДата: Пятница, 2006-07-21, 4:55 AM | Сообщение # 3
Сержант
Группа: Модераторы
Сообщений: 29
Статус: Offline
IDA-Продолжение
Если, Вы, переименовали адреса, то у Вас получилось что-то аналогичное, если не переименовали, то и не надо. Суть от этого не изменится.

ROM:7FFFFFE7 ; ---------------------------------------------------------------------------
ROM:7FFFFFE7
ROM:7FFFFFE7 BootStart: ; CODE XREF: ROM:ResetVector j
ROM:7FFFFFE7 ldc romload ; load constant
ROM:7FFFFFEF gcall ; general call
ROM:7FFFFFEF ; ---------------------------------------------------------------------------
ROM:7FFFFFF0 dd bootdata_block ; bootdata_block
ROM:7FFFFFF4 dd SectionTable ; SectionTable
ROM:7FFFFFF8 dd 800001C0h ; initial workspace pointer
ROM:7FFFFFFC db 20h
ROM:7FFFFFFD db 20h
ROM:7FFFFFFE ; ---------------------------------------------------------------------------
ROM:7FFFFFFE
ROM:7FFFFFFE ResetVector: ; jump
ROM:7FFFFFFE j BootStart
ROM:7FFFFFFE
ROM:7FFFFFFE end ;

Сейчас создадим таблицы перемещения bootdata_block и SectionTable. Дальше чтобы не утомлять Ваше внимание, запустим скрипт Sti5518_Boot.idc . Этот скрипт был взят мною здесь http://www.curious-contraptions.com/forums/forumdisplay.php?f=61
Очень познавательный форум!!! Нужна регистрации. Скрипт положил сюда:
http://rapidshare.de/files/26258266/STi5518_Boot.rar.html
Чтобы создать таблицу, для bootdata_block, делаем двойной клик левой кнопкой мышки по метке “bootdata_block”, для тех, кто переименовал адрес или по метке “unk_7FFFD7B8 “, для тех, кто не переименовывал. Попадаем на адрес: 7FFFD7B8
Начало bootdata_block.
ROM:7FFFD7B8 bootdata_block: db 0F0h ; Ё ; DATA XREF: ROM:7FFFFFF0 o
Для создания таблицы делаем клик правой кнопкой мыши на метке bootdata_block: и в контекстном меню выбираем “Double word 85FF0h ”
ROM:7FFFD7B8 bootdata_block: dd 85FF0h ; DATA XREF: ROM:7FFFFFF0 o
Затем снова делаем клик правой кнопкой по метке: bootdata_block и выбираем из контекстного меню “Array..” или просто нажимаем кнопку “*”. Откроется окно “Array size (in elements)”, жмем кнопку “Ok”. Все таблица создана. Вот ее начало:
ROM:7FFFD7B8 bootdata_block: dd 85FF0h, 0C0379810h, 5000h, 0C0374810h, 0C008C834h, 7FFF014Ch
ROM:7FFFD7B8 ; DATA XREF: ROM:7FFFFFF0 o
Аналогично же поступаем и для создания SectionTable. Вот ее начало:
ROM:7FFFD620 SectionTable: dd 0E48h, 80000000h, 80000140h, 4, 80000000h, 0C007E000h
ROM:7FFFD620 ; DATA XREF: ROM:7FFFFFF4 o

Сейчас перейдем на начальный адрес, а вернее всего на конечный адрес “Boot” мы его уже знаем это: 7FFF0000
Чтобы не крутить вручную, вверху на панели инструментов в внизпадающем списке выбираем “Address” а рядом в окне набираем нужный нам адрес “7FFF0000” и жмем на клавиатуре “Enter” и IDA перебросит нас на конец “Boot”
ROM:7FFF0000 db 40h ; @
Больше мы вручную делать ничего не будем, а просто запустим скрипт “Sti5518_Boot”.
А переход мы сделали сюда для того, чтобы обратить Ваше внимание на следующее.
Если, Вы, посмотрите выше адреса: 7FFF0000, то увидите следующее:
ROM:7FFEFFF8 db 0C0h ; L
ROM:7FFEFFF9 db 1
ROM:7FFEFFFA db 0
ROM:7FFEFFFB db 80h ; А
ROM:7FFEFFFC db 20h
ROM:7FFEFFFD db 20h
ROM:7FFEFFFE db 61h ; a
ROM:7FFEFFFF db 7
Тот, кто внимательно читал и делал, понял, что все это мы уже видели, когда установили курсор на точку входа "Boot entry point" по адресу: 0x7FFFFFFE.
Чтобы запустить скрипт на выполнение, делаем следующее:
File - > IDC file… далее все как всегда выбираем файл Sti5518_Boot.idc. По ходу загрузки скрипта на выполнение Вам будут задаваться вопросы. Согласитесь со всем, то есть жмите везде “Yes” и “Ok”, потом посмотрите, что в результате работы было создано.
Продолжение следует…

Добавлено (2006-07-21, 4:55 Am)
---------------------------------------------
Продолжать дальше, или нет?

 
JohnyДата: Среда, 2006-09-27, 1:59 AM | Сообщение # 4
Рядовой
Группа: Посетители
Сообщений: 2
Статус: Offline
А у Вас случайно нет электронной книги по ассемблеру, или какие нибудь еще подробные консультации для програгмирования процессоров а то на везде для доса и винды, просто что я щас сделал по этому форуму мне мало в чем разобрался?

Спасибо!!!

Добавлено (2006-09-27, 1:59 Am)
---------------------------------------------
И где брать курту памяти процессора?

Спасибо!!!

 
IgorДата: Четверг, 2006-09-28, 7:16 PM | Сообщение # 5
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
очень интерисует как работать с JTango буду благодарин если паможите
 
iwiwДата: Вторник, 2006-10-03, 1:04 AM | Сообщение # 6
Сержант
Группа: Модераторы
Сообщений: 29
Статус: Offline
to Johny
Вот ссылка на ST20R196 (ST20 Toolset documentation and tutoria)http://viaccessfree.narod.kz/index.php?category=31 Здесь же даташит на процессор sti5518. Классический ассемблер здесь вряд ли чем поможет. Уже есть ST20R2.0.5 (с поддержкой графического интерфейса).
to Igor
Как работать с JTango попытаюсь прояснить, но по-позже. Времени сейчас мало, работа замотала.
 
IgorДата: Вторник, 2006-10-03, 9:53 PM | Сообщение # 7
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Буду с нетерпением ждать

и где можно слить Jasma ST20 Assembler by Jazio v.3.0

Сообщение отредактировал Igor - Пятница, 2006-10-06, 7:20 PM
 
iwiwДата: Понедельник, 2006-10-09, 12:12 PM | Сообщение # 8
Сержант
Группа: Модераторы
Сообщений: 29
Статус: Offline
Jasma ST20 Assembler by Jazio v.3.0
Положил сюда:http://www.hostclip.com/dl/87eb5da8905a3b68cf9fb374876461ee
 
IgorДата: Четверг, 2006-10-19, 5:27 PM | Сообщение # 9
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Пасибки за Jasma
 
JohnyДата: Суббота, 2006-10-21, 3:09 PM | Сообщение # 10
Рядовой
Группа: Посетители
Сообщений: 2
Статус: Offline
Спасибо за документацию по этому процессору, а раскладки по остальным процессорам не подскажите где взять?

Спасибо!!!

 
LexuzДата: Понедельник, 2007-04-02, 6:18 AM | Сообщение # 11
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Quote (iwiw)
Заканчивается статья "IDA Pro" словами "Все, можно приступать к анализу загруженного файла". Вот к анализу мы сейчас и попытаемся приступить.

А нельзя ли выложить снова статью о том как загружать файл с дампом прошивки в иду, а то по указанным адресам файл нот фаунд.
 
tania33Дата: Среда, 2007-04-04, 2:31 AM | Сообщение # 12
Рядовой
Группа: Посетители
Сообщений: 3
Статус: Offline
А нельзя ли выложить снова статью о том как загружать файл с дампом прошивки в иду, а то по указанным адресам файл нот фаунд.

Спасибо!!!

 
LexuzДата: Среда, 2007-04-04, 3:17 AM | Сообщение # 13
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Quote (tania33)
Спасибо!!!

Что спасибо?
 
alexei_Дата: Среда, 2007-04-04, 11:14 PM | Сообщение # 14
Генералиссимус
Группа: Администраторы
Сообщений: 645
Статус: Offline
Quote (Lexuz)
А нельзя ли выложить снова статью о том как загружать файл с дампом прошивки в иду, а то по указанным адресам файл нот фаунд.

По многочисленным просьбам данную инфу прицепил...........

Успехов!

Прикрепления: 48764607.rar (556.5 Kb)
 
LexuzДата: Четверг, 2007-04-05, 0:35 AM | Сообщение # 15
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Quote (iwiw)
Сейчас создадим таблицы перемещения bootdata_block и SectionTable. Дальше чтобы не утомлять Ваше внимание, запустим скрипт Sti5518_Boot.idc . Этот скрипт был взят мною здесь http://www.curious-contraptions.com/forums/forumdisplay.php?f=61

А можно обьяснить неграмотному, что это и для чего нужны эти таблицы? И для чего скрипт нужен?

 
alexei_Дата: Четверг, 2007-04-05, 7:17 AM | Сообщение # 16
Генералиссимус
Группа: Администраторы
Сообщений: 645
Статус: Offline
Quote (Lexuz)
А можно обьяснить неграмотному, что это и для чего нужны эти таблицы? И для чего скрипт нужен?

Думал на спасибо напрошусь............. biggrin biggrin biggrin Но видать жажда познания сильней у человека.

Ждите пока iwiw, не объявится................а не объявится он до тех пор пока не увидет что есть у него благодарные ученики - пишите посты с вопросами покажите что это интересно и думаю у него появится смысл в продолжении темы...........

А так что он что мы пишем а темы дальше не прут - никакого отклика.............. только просмотры

 
LexuzДата: Четверг, 2007-04-05, 3:53 PM | Сообщение # 17
Рядовой
Группа: Посетители
Сообщений: 4
Статус: Offline
Quote (alexei_)
Думал на спасибо напрошусь............. biggrin biggrin biggrin Но видать жажда познания сильней у человека.
Ждите пока iwiw, не объявится....

Оно-то конечно спасибо :), но вопросов гораздо больше, чем ответов. А как нибудь позвать его сюда можно?

 
moldovanДата: Четверг, 2007-12-06, 9:46 AM | Сообщение # 18
Рядовой
Группа: Посетители
Сообщений: 1
Статус: Offline
Прочитал 17 сообщений этой ветки и начало предыдущего и понял, что многие наверно хотят моментального результата от программы и вновь отредактированного софта,
даже спасибо автору выражают как-то не в тему.
Автору-СПАСИБО! жаль что после первых шагов пока нет продолжения - но я надеюсь.
IDу загрузил и пока пытаюсь привыкнуть к интерфейсу и терминам.
WINHEx конечно попроще будет - но ведь не останавливаться на редактировании БИсовых ключей -же
Подскажите будьте добры сайты где посмотреть и поучиться можно по этой темке
кстати мало пока эта тема обсуждается БОЛЬШЕ инфы в народ!
здесь http://www.curious-contraptions.com/forums/forumdisplay.php?f=61
К моему сожалению данный сайт прекратил свое существование, чем расстроил множество народу
Не подскажете где взять файлик, (Sti5518_Boot.idc.) а то гугль не рулит cry

= я играюсь с несколько иной прошивкой - дампом (2Мб) но тоже под 5518
ссылки на адреса несколько отличаются, но пока это терпимо.
В общем ждем-с продолжения smile

 
troyДата: Воскресенье, 2009-12-27, 5:26 AM | Сообщение # 19
Рядовой
Группа: Посетители
Сообщений: 1
Статус: Offline
парни где взять приложенную статью IDA PRO а то в editor keys её нету! deal deal deal help help

привет
 
alexei_Дата: Воскресенье, 2009-12-27, 7:09 AM | Сообщение # 20
Генералиссимус
Группа: Администраторы
Сообщений: 645
Статус: Offline
а мой пост #14 не судьба почитать
 
Форум по PBI-1000s (sti5518) и его клонам » Программы, интерфейсы, смена софта » Программирование » IDA Pro - интерактивный дизассемблер.
  • Страница 1 из 1
  • 1
Поиск:
Copyright MyCorp © 2007