| |
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#1 [30.10.10, 04:35] плагины ida
обновил по мелочи jdprean и решил выложить всё, что я публиковал из своих плагинов, в одном месте. ida babe loader - загрузчик для mbn файлов db2000/2010/2012/2020/pnx5230. для a2 не подходит. с ним в своё время было много непоняток, народ всё какие-то шаманства повторял. при открытии файла не нужно выбирать тип процессора, вообще ничего не нужно, только убедиться, что в верхнем списке выбрано "SonyEricsson firmware file", и нажать OK. ida cxc loader - такая же штука, что babe loader, но открывает cxc файлы от a2. за исключением типов поддерживаемых файлов, работает так же. плагины-лоадеры кладутся в ida\loaders find bl - простой плагин для поиска вызовов текущей функции (ищет bl/blx). ставите курсор на начало функции, вызываете плагин, ждёте окончания автоанализа, смотрите xref'ы. jdprean - мой первый плагин для анализа арм-кода. разбирает код по нескольким захардкоденым сигнатурам. достаточно тупой, но позволяет автоанализатору ida разобрать довольно внушительную часть прошивки. я сам очень давно им не пользовался, вот, решил попробовать снова. многие считают, что плагин работает очень долго. на самом деле плагин работает относительно быстро (на моём ноутбуке phone_app.cxc от w705 обрабатывает чуть меньше двух минут), а вот автоанализатор ida может после этого очень долго думать. в принципе, автоанализатор не особо мешает работе, так что не обязательно ждать, пока он закончит. sub/page finder - второй плагин для анализа кода. разбирает гораздо меньше, чем jdprean, но при этом даёт нормальные имена куче структур и функций. очень помогает при исследовании кода и при портировании. чтоб функции имели более понятные имена, рекомендуется перед плагином выполнить скрипт getevents_fromtarget (при наличии таргета в исходниках dyn_const для данной прошивки; см. ссылку ниже). плагины кладутся в ida\plugins всё плагины для x86. до кучи ещё ссылки: разбор прошивки - скрипты от mnemo, адаптация lost getevents_fromtarget - скрипт от slawwan, добавляет в базу ida константы из исходников dynconst скрипт для IDA - обзывание функций из библиотеки от slawwan
promt is better than google translate
|
Спасибо сказали: willi_flow, Alex1992, MaxxxS, Happy, Zormax, Melodic_Death, D3mon, plembo, toha257, BigHercules, Alex_E, MAVER145, lisaus, E1kolyan, farid, andrewsolo, enoc, Neodzen, buhh83
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#2 [10.12.10, 14:29] Re: плагины ida
выложить, в общем-то, некуда, поэтому публикую здесь. простенький патч для модуля процессора ARM к IDA, который ставит двоеточия возле имён меток кода Код: ROM:00000000 label1: ROM:00000000 NOP ROM:00000002 NOP ROM:00000002 ; --------------------------------------------------------------------------- ROM:00000004 label2 DCD 0x12345678
Прикрепленный к сообщению файл: idaarmw32patch.zip ( 6.69 kb; 71 hits) Скачать файл
promt is better than google translate
|
Спасибо сказали: Therion, anarkes, Alex1992, CaH4e33, D3mon, farid, Ax, VovanLS, MAVER145, michel1907
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#3 [03.02.11, 14:11] Re: плагины ida
в ida 5.3 макрос MOVL заменили на MOV, чтоб не было путаницы с командой MOVLS (команды MOV в thumb дополняются битом "S"). можно было бы переименовать макрос movl, но мне больше нравится другое решение. я написал плагин, который отображает макрос по-старому. надеюсь, другие макросы/команды он не трогает :D ну и заодно плагин предотвращает перевод в команды последовательностей нулей.
Прикрепленный к сообщению файл: armmovl.zip ( 21.46 kb; 61 hits) Скачать файл
promt is better than google translate
|
Спасибо сказали: VovanLS, MNS81, MAVER145, agnalp, jonico, farid
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#4 [14.08.11, 23:17] Re: плагины ida
wraprenamer - плагин для переименования обёрток на лету. к примеру, вызывается в каком-то месте функция Код: 44F09640 LDR R0, [SP,#0x24+var_24] 44F09642 BL sub_45109760 44F09646 CMP R0, #1
а функция эта - обёртка для обозванной функции Код: 45109760 sub_45109760: ; CODE XREF: sub_44F095BC+86p 45109760 LDR R3, =(BookObj_GetDisplayOrientation+1) 45109762 BX R3 ; BookObj_GetDisplayOrientation 45109762 ; End of function sub_45109760 45109762 45109764 off_45109764 DCD BookObj_GetDisplayOrientation+1 ; DATA XREF: sub_45109760r
так вот sub_45109760 будет автоматически переименована в j_BookObj_GetDisplayOrientation даже без перехода на неё Код: 44F09640 LDR R0, [SP,#0x24+var_24] 44F09642 BL j_BookObj_GetDisplayOrientation 44F09646 CMP R0, #1
Добавлено 14.8.11 23:35 вот ведь, только выложил, нашёл ещё один вид обёртки, который не обрабатывался. перезалил. один-два человека успели скачать первую версию Добавлено 15.8.11 00:26 ну и ещё обёртка. есть ещё пара необратабываемых вариантов, но я не уверен, буду ли их добавлять: ldr pc, =... push {lr} bl ... pop {pc}
Прикрепленный к сообщению файл: ida_wraprenamer.zip ( 65.62 kb; 84 hits) Скачать файл
promt is better than google translate
|
Спасибо сказали: blacklizard, toha257, GaS, KIBER-DEMON, MNS81, MAVER145, Se-MaG, E1kolyan, D3mon, Vov4ик, MaxxxS, pavelsh, -Sotik-, enoc, MiFa, farid, iksrman
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#5 [02.09.11, 17:37] Re: плагины ida
обновил wraprenamer: - не обзывает обёртки для unk_* - нормальное определение для адресов, если указатель лежит не сразу после thumb обёртки - удаление имени обёртки при удалении имени фукнции
promt is better than google translate
|
Спасибо сказали: MiFa, Vov4ик, KIBER-DEMON, MNS81, farid, vetel, michel1907
|
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
|
#6 [11.03.12, 00:53] Re: плагины ida
обновил wraprenamer. теперь в конце имени обёртки добавляется не порядковый номер, а адрес. без этого плагин переименовывал не больше 100 обёрток на каждую функцию
promt is better than google translate
|
Спасибо сказали: MNS81, E1kolyan, MAVER145, Boysie, a6b6, KIBER-DEMON, D3mon, farid, Vov4ик, Legas2, MaxxxS, Neodzen, michel1907, Melodic_Death
|
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.
|
|
|