Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

плагины ida : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  плагины ida
На печать 
Правила 


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



Прикрепленный к сообщению файл:

findbl.zip findbl.zip (64.37 kb; 236 hits) Скачать файл
ida_babeldr.zip ida_babeldr.zip (64.04 kb; 164 hits) Скачать файл
ida_cxcldr.zip ida_cxcldr.zip (69.61 kb; 176 hits) Скачать файл
jdprean.zip jdprean.zip (22.37 kb; 214 hits) Скачать файл
subpagefn.zip subpagefn.zip (102.13 kb; 237 hits) Скачать файл


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 idaarmw32patch.zip (6.69 kb; 91 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 armmovl.zip (21.46 kb; 80 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 ida_wraprenamer.zip (65.62 kb; 103 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



  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.03 секунд | 11 Запросов | HTML: 42.47 КБ -