Сейчас на форуме: -Sanchez- (+9 невидимых)

 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 21 . 22 . >>
Посл.ответ Сообщение


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 27 марта 2017 11:54
· Личное сообщение · #1

Обмен опытом использования и настройки интерактивного дизассемблера и отладчика IDA Pro.
Прошлый топик Использование IDA Pro

| Сообщение посчитали полезным: oxfemale, gent0o0

Ранг: 19.9 (новичок), 16thx
Активность: 0.040.01
Статус: Участник

Создано: 03 февраля 2018 17:38 · Поправил: RevCred
· Личное сообщение · #2

ага, но если чуть точней, то -
"The microcode API for C++ will be available in the next version of IDA"
"Python API won't be available yet"




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 03 февраля 2018 17:43 · Поправил: reversecode
· Личное сообщение · #3

само собой апи

но писать плугин который будет геренить некий микрокод из любой платформы mips/avr/итд - скормить hexrays для декомпиляции - думаю можно будет, возможно не без хаков

самое главное интернал структуры и енумы микрокода

Добавлено спустя 4 часа 51 минуту
презенташка на гугле что бы онлайн просмотреть а не инсталить павер поинт --> Link <--

| Сообщение посчитали полезным: plutos


Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 05 февраля 2018 15:05
· Личное сообщение · #4

пишу loader-плагин (на с++), нужна ваша помощь.
Суть такая, есть несколько бинарников, каждый одного типа - заголовок и сжатые секции, грузить их нужно в определенном порядке один за другим, так как прыжки и вызовы процедур там сквозные между файлами.
я хочу вручную в плагине назагружать эти файлы и поместить по нужным адресам.

Собственно вопрос: как в функции idaapi load_file(linput_t* li, ushort neflags, const char* fileformatname) узнать путь к тому файлу, который грузится?
он передается в функции accept_file, но к моменту вызова функции load_file(), ИДА уже успевает закрыть плагин и открыть



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 05 февраля 2018 16:56
· Личное сообщение · #5

[wl]
нельзя ввести какие-либо признаки с сохранить в глобальном массиве путь и все что тебе нужно и потом сопоставлять в другой функции?

-----
старый пень





Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 05 февраля 2018 18:19
· Личное сообщение · #6

костыли какие-то можно придумать, например, из accept_file в качестве fileformatname передавать прямо имя файла, ну или все файлы загружать вручную в основному через меню. Я думал, может есть какой-ибудь кошерный способ...



Ранг: 71.2 (постоянный), 33thx
Активность: 0.050.12
Статус: Участник

Создано: 05 февраля 2018 19:13 · Поправил: kunix
· Личное сообщение · #7

Я делал так. Лежат файлы:
C:\base_dir\qwe.my_loader
C:\base_dir\module1.exe
C:\base_dir\module2.exe
Вы грузите в IDA qwe.my_loader.
Он нужен лишь для того, чтобы ваш плагин знал, что надо запуститься.
А далее, при вызове load_file(...), GetCurrentDirectory(...) вернет вам "C:\base_dir".
Проходитесь по "C:\base_dir", получаете список модулей.




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 05 февраля 2018 20:07
· Личное сообщение · #8

kunix
Благодарю, похоже такой способ подойдет, в каталоге среди исполнимых файлов есть файл метаданных, не знал, что при загрузке текущий каталог будет указывать на то, что грузится в иду




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 07 февраля 2018 07:08
· Личное сообщение · #9

В своей презентации "Decompiler internals: microcode" Ilfak Guilfanov говорит следующее:

"The microcode API for C++ will be available in the next
version of IDA

Check out the sample plugins that show how to use the
new API"

О каких именно sample plugins он говорит и где их можно найти?
Искал на оффициальном сайте ИДЫ, но то ли не туда смотрел, то ли их там пока нет...

-----
Give me a HANDLE and I will move the Earth.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 февраля 2018 10:07
· Личное сообщение · #10

плагины будут в новом сдк в новой иде, как и новое апи
возможно как и все сдк оно потом будет доступно в документации доксиген на самом сайте

| Сообщение посчитали полезным: plutos


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 14 февраля 2018 00:02
· Личное сообщение · #11

может кто-нибудь знает, что говорится (и говорится ли вообще) в оффициальной документации ИДЫ по поводу backward and forward compatibility of processor modules developed for different versions of IDA SDK?
Т.е. будет ли processor module разработаный под IDA SDK 5.6 (к примеру) работать с будущими версиями ИДЫ и наоборот, из настоящего в прошлое (backward)?
Интересует как оффициально высказаное мнение Ильфака (если таковое было высказано), так и личный опыт участников.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 58.3 (постоянный), 50thx
Активность: 0.040.08
Статус: Участник

Создано: 14 февраля 2018 09:36
· Личное сообщение · #12

plutos пишет:
Т.е. будет ли processor module разработаный под IDA SDK 5.6 (к примеру) работать с будущими версиями ИДЫ и наоборот

Будет какое-то время. Но Ильфак не заморачивается на "compatibility" и может через какое-то время всё кардинально поменять. В версии 7.0 он так и сделал со своим СДК, к примеру. Может не быть обратной совместимости. Это уже не первый случай в его практике.
Какой-то функционал может даже исчезнуть вообще!!! Так что иллюзий строить не надо.

| Сообщение посчитали полезным: plutos


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 14 февраля 2018 20:07 · Поправил: reversecode
· Личное сообщение · #13

microcode api полное, как и ожидалось, все структуры которые кто то так хотел - есть
то что на слайдах в презентации ильфака тоже можно увидеть плагином, их(плагинов примеров) на ~+5 в декомпилере больше
апи идет только в иде в том же одном файле что и был, сразу все в одном файле,
в sdk что идет к иде отдельно его нет

в остальном скучно, багфиксов мало
нового - апи дебагера поменяли
остальное на мой взгляд по мелочи

| Сообщение посчитали полезным: plutos


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 15 февраля 2018 03:29 · Поправил: plutos
· Личное сообщение · #14

reversecode пишет:
в остальном скучно, багфиксов мало

хочу уточнить: речь идет уже про ИДУ 7.1 и ее SDK?

-----
Give me a HANDLE and I will move the Earth.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 15 февраля 2018 21:37
· Личное сообщение · #15

changelog ida 7.1 b1--> Link <--

| Сообщение посчитали полезным: plutos, Vintersorg


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 16 февраля 2018 03:06
· Личное сообщение · #16

reversecode пишет:
changelog ida 7.1 b1


почему же они молчат про этот release?
На оффсайте сказано про IDA 7.0.171130 (SP1) (November 30, 2017), а про ida 7.1 b1 ни слова.
А на Pastebin уже все известно.
Просто хочу понять, как работает все эта система.

-----
Give me a HANDLE and I will move the Earth.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 16 февраля 2018 08:56 · Поправил: reversecode
· Личное сообщение · #17

это бета тестирование для нескольких пользователей
обкатают на них, потом будет релиз

буковка б говорит о том что это бета
вам показали приватную инфо




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 17 февраля 2018 11:11
· Личное сообщение · #18

reversecode пишет:
буковка б говорит о том что это бета


А ведь я знал, что b означает beta, ей-Богу, знал, но случилось со мной то, что англичане называют
"brain fart"!
Ну, с кем не бывает....

-----
Give me a HANDLE and I will move the Earth.




Ранг: 33.8 (посетитель), 11thx
Активность: 0.020.01
Статус: Участник

Создано: 18 февраля 2018 17:06
· Личное сообщение · #19

Господа, а есть ли какой аналог natvis / autoexp.dat для сабжа?



Ранг: 23.7 (новичок), 11thx
Активность: 0.040.02
Статус: Участник

Создано: 18 февраля 2018 18:09 · Поправил: parfetka
· Личное сообщение · #20

есть текстовый файл, содержащий что-то примерно такого:
00404E48: 'AnsiString',0
или
A 00004248: AnsiString
Как (помогите/подскажите) написать скрипт (idc или лучше py), который его пропарсит и добавит строки в комментарии? Застрял на парсинге после открытия файла
filepath = idaapi.askfile_c(False, "*.txt", "String log file");
imagebase = idaapi.get_imagebase();
Какие функции мне понадобятся перехода на новую строку в текстовом файле, поиска смещения и добавления комментария в IDA? Дело в том, что примеров с пояснениями мало, а функций много, они не структурированы по назначению.



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 18 февраля 2018 21:08 · Поправил: rmn
· Личное сообщение · #21

parfetka
readstr(), strstr(), substr(), atol(), set_cmt()

А вообще, зачем тебе в скрипте на питоне парсить текстовики апишками иды? Самим питоном не удобнее?

| Сообщение посчитали полезным: parfetka


Ранг: 170.1 (ветеран), 96thx
Активность: 0.090.01
Статус: Участник

Создано: 21 февраля 2018 06:24
· Личное сообщение · #22

parfetka пишет:
Какие функции мне понадобятся


Пример.


b307_21.02.2018_EXELAB.rU.tgz - IDC example.7z

| Сообщение посчитали полезным: parfetka


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 22 февраля 2018 09:19
· Личное сообщение · #23

Народ у нас строгий, так что если про этот tool все знают, то уж сильно не пинайте.
Но может кому-то пригодится.

--> IDBTOOL<--
A tool for extracting information from IDA databases. idbtool knows how to handle databases from all IDA versions since v2.0, both i64 and idb files. You can also use idbtool to recover information from unclosed databases.

idbtool works without change with IDA v7.0.

-----
Give me a HANDLE and I will move the Earth.




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 22 февраля 2018 10:17
· Личное сообщение · #24

plutos пишет: Народ у нас строгий, так что если про этот tool все знают, то уж сильно не пинайте.

я постил в этой же теме.
подкину еще плагинов
JARVIS
Code:
  1. Why JARVIS?
  2. JARVIS means "Just Another ReVersIng Suite" or whatever other bullshit you can think of :)
  3.  
  4. What is it?
  5. It is a small bughunting suite comprising three elements, namely:
  6. A fuzzer (to be released)
  7. A tracer based on INTEL PIN
  8. A plugin for IDA Pro thought to assist you with the most common reversing tasks. It integrates with the tracer.
  9.  
  10. Isn't there already something similar?
  11. Yes, "curious minds often converge on the same idea" :) and by the way, there is nothing new under the sun. Now seriously, Alex and Daniel got it right with the code organization of their IDAScope plugin, so I used it as a skeleton for mine. Kudos to them!
  12.  
  13. Why does the code suck so much?
  14. Don't let physicists do computer science.

https://github.com/carlosgprado/JARVIS

MazeWalker
Code:
  1. MazeWalker’s goal is to reduce malware analysis time by automating runtime data collection and better visualization eventually helping a researcher to concentrate on static analysis and less on its dynamic part.

https://github.com/0xPhoeniX/MazeWalker



Ранг: 23.7 (новичок), 11thx
Активность: 0.040.02
Статус: Участник

Создано: 22 февраля 2018 19:10 · Поправил: parfetka
· Личное сообщение · #25

JARVIS - выглядит на картинке красиво. Требует Python 2.7, NetworkX и pyqt. Вот этот pyqt не идёт в составе питона, не ставится ни через свой инсталлятор (либо в нём не хватает библиотек), ни через "pip install pyqt5". Как его поставить? Также "Pin 71313 (vc12)" не устанавливается, похоже, хочет установленную студию..


shellstorm пишет:
https://github.com/x64dbg/PyQt5/releases
ну, надеюсь, хоть у тебя этот плагин работает, раз его предлагаешь..)



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 23 февраля 2018 13:14
· Личное сообщение · #26

parfetka пишет: ни через "pip install pyqt5"

https://github.com/x64dbg/PyQt5/releases

parfetka пишет: Также "Pin 71313 (vc12)" не устанавливается, похоже

tools всегда собирается под платформу, в виде dll не распространяют.

Добавлено спустя 4 часа 34 минуты
parfetka пишет: ну, надеюсь, хоть у тебя этот плагин работает, раз его предлагаешь

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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 27 февраля 2018 18:56
· Личное сообщение · #27

7.1 релиз оф --> Link <--




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 28 февраля 2018 04:34 · Поправил: plutos
· Личное сообщение · #28

reversecode пишет:
7.1 релиз оф --> Link <--


With this version of IDA we publish the decompiler intermediate language: the microcode. We were planning to do it since very long time but the microcode was constantly evolving, we could not do it. After ten years of evolution it looks mature and ready to be published.
We believe that it will permit our users to implement much more powerful and higher level analysis algorithms than before.

У меня вопрос к reversecode или к любому человеку, который захочет ответить:
Обьясните пожалуйста на примерах, "на пальцах", что именно имеется ввиду в последнем предложении?
Речь идет об написании plug-in'oв и processor modules? Или что-то еще?
Я в этом области делаю только первые шаги и очень хотелось бы разобраться.
Заранее спасибо!

-----
Give me a HANDLE and I will move the Earth.




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 28 февраля 2018 07:31
· Личное сообщение · #29

plutos пишет: Речь идет об написании plug-in'oв и processor modules?

и первое и второе, дают доступ к IL декомпилятора. близкие аналогии это байткод java или .net платформы, байткод один, а языков с диалектами куча, другая близкая аналогия, это интроспекция с рефлексией, можно писать свои препроцессоры, которые могут значительно улучшить вывод декомпилятора. очень мощная штука, без всего этого plugin api рельс сильно ограничен.

| Сообщение посчитали полезным: plutos


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 28 февраля 2018 11:21
· Личное сообщение · #30

плагины к рейсу для манипуляции микрокодом IR
можно теперь паттерн матчинги сворачивать в свои узнаваемые конструкции
к примеру когда то рейс плохо последовательность movs movs матчил в memcpy
теперь можно было бы написать свой плагин который их будет узнавать и сразу генерить функцию memcpy
правда ильфак это уже и так улучил

--> Link <--
вон народ уже оказывается развлекается с микрокодом

| Сообщение посчитали полезным: plutos

Ранг: 11.9 (новичок), 22thx
Активность: 0.010
Статус: Участник

Создано: 02 марта 2018 03:41 · Поправил: TOM_RUS
· Личное сообщение · #31

IDA 7.1 SDK нада?

| Сообщение посчитали полезным: plutos
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 21 . 22 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro (part 2)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати