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

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

Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 08 августа 2008 18:53
· Личное сообщение · #1

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

Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? )

-----
My love is very cool girl.




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 августа 2009 13:18
· Личное сообщение · #2

Кто знает как убрать этот коммент? По причине неправильной обработки входных параметров, ИДА подумала что по этому адресу лежит структура SECURITY_ATTRIBUTES, но её там нет.

.CODE:00CC6C08 ; struct _SECURITY_ATTRIBUTES




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

Создано: 16 августа 2009 19:42
· Личное сообщение · #3

скрин шот покажи а то не совсем понятно
хотя скорее всего убираеться как комментарий
Shift+Ins
Ins
итд
там что то еще с контралом связано



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 августа 2009 21:07 · Поправил: Модератор
· Личное сообщение · #4

reversecode пишет:
Shift+Ins
Ins

Ест-но нет, не убирается. Чем поможет скриншот?

ИДА создала структуру и поставила коммент. Я убрал структуру, ибо нет её там на самом деле. Комент остался.




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

Создано: 16 августа 2009 21:36
· Личное сообщение · #5

img3.imageshack.us/img3/2595/idacomment.jpg
один из этих пунктов всегда срабатывает



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 августа 2009 21:40 · Поправил: Модератор
· Личное сообщение · #6

Да дело не в коментах - я же сказал. Если ты не в теме зачем постишь? Надо удалить саму структуру, то что я её андефайнил этого мало, нужно именно удалить.

Добавлено:
Вообщем я считаю что это баг. Логичного способа убрать наглый комент я не нашёл.




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

Создано: 16 августа 2009 22:08 · Поправил: reversecode
· Личное сообщение · #7

Code:
  1. Да дело не в коментах - я же сказал


Code:
  1. Логичного способа убрать наглый комент я не нашёл

дествительно я не понял...

потому и попросил скрин шот



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

Создано: 16 августа 2009 22:43
· Личное сообщение · #8

Y, del, enter



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 16 августа 2009 23:10
· Личное сообщение · #9

reverser
Спасибо! А почему оно само не убирается?




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

Создано: 16 августа 2009 23:23
· Личное сообщение · #10

ну так коментарии и типы разные вещи
тогда да Y убрать тип



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 19 августа 2009 13:53
· Личное сообщение · #11

reversecode пишет:
ну так коментарии и типы разные вещ

С точки зрения ассемблера это комент.

Добавил структуру SRB_IO_CONTROL в окно структур. Пытаюсь обозвать все стековые переменные как поля этой структуры. Как упростить это дело? Пробовал добавить в Stack Frame структуру на место первого её поля, но все равно на месте HeaderLength IDA предлагает сделать Timeout.

Code:
  1. mov     dword ptr [ebp-23Ch], size SRB_IO_CONTROL; здесь должно быть HeaderLength
  2. lea     edx, [ebp-238h] ; Здесь должно быть SRB_IO_CONTROL.Signature


после автоматики:

Code:
  1. mov     [ebp-(SRB_IO_CONTROL.Timeout+230h)], size SRB_IO_CONTROL
  2. lea     edx, [ebp-(SRB_IO_CONTROL.Signature+234h)]




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 августа 2009 11:17 · Поправил: Custler
· Личное сообщение · #12

Как в дизассемлере (IDA pro 5.2), в описании внешней функции, явно указать через какие регистры передаются параметры?

в хелпе написано:
"IDA supports the user defined calling convention. In this calling convention the user can explicitly specify the locations of arguments and the return value. For example:

int __usercall func<ebx>(int x, int y<esi>);"
Однако при попытке сделать
int __fastcall readreg<eax>(char *i2c<eax>, char addr<edx>)
(я знаю, что именно через эти регистры передаются параметры)
она ругается "Bad declaration" - "
Illegal argument location specification
Command "SetType" failed

Как правильно указать регистры?




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

Создано: 25 августа 2009 11:20
· Личное сообщение · #13

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



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 августа 2009 11:38
· Личное сообщение · #14

Спасибо, дошло!
нужно именно __usercall а не __fastcall




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 29 августа 2009 15:08 · Поправил: OKOB
· Личное сообщение · #15

Столкнулся с одной небольшой багой ИДЫ. Разобрался и дабы другие на грабли не наступали.

Выше обсуждался макрос самой ИДЫ
unicode macro page,string,zero
irpc c,<string>
db '&c&', page
endm
ifnb <zero>
dw zero
endif
endm

Так вот она смело сворачивает под этот макрос строки содержащие символ '%', например следующая строка:
unicode 0, <Could not find imported function in DLL %s>, 0

Скомпилировать сие чудо не удастся с получением серии ошибок
Assembling: L1_bl17.asm
L1_bl17.asm(64) : error A2006: undefined symbol : s
unicode(1): Macro Called From
L1_bl17.asm(64): Main Line Code

а листинг конца нашей юникод строки будет неожиданым
00000328 20 00 2 db ' ', 0
0000032A 30 00 2 db '0', 0
0000032C 0000 1 dw 0

А причина в том, что символ '%' в текстовом макро означает вычисление строки. И в нашем случае переменной 's' нет о чем мы получили сообщение и результат вычисления выражения и подстановки - 0 в текстовом виде попал в нашу строку.

для обхода этой каки нужно перед % поставить ! (чего не делает ИДА)
unicode 0, <Could not find imported function in DLL !%s>, 0
и тогда будет вам счастье

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 сентября 2009 11:50
· Личное сообщение · #16

Скажите пожалуйста, а можно ли приспособить Иду для отладки драйверов ядра windows vista или xp?
Например по тому же принципу, как это делает windbg - на соседней машине по com, 1394 или даже tcp.
Удаленная отладка exe и dll в Ida есть, а вот про удаленную отладку .sys я не нашел.
Это возможно? И если да, то где об этом почитать?



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

Создано: 29 сентября 2009 12:45
· Личное сообщение · #17

Custler
В последней версии можно. В доступных на паблике - нет.

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




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 сентября 2009 13:00 · Поправил: Custler
· Личное сообщение · #18

Спасибо!
А последняя - это 5.5? которая на оф. сайте? или ещё более следующая, которая вообще нонпаблик?

P.S. Все ответы нашел в блоге - hexblog.com/2009/01/kernel_debugging_with_ida.html



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

Создано: 19 октября 2009 17:47
· Личное сообщение · #19

Есть такая проблема - после создания сигнатур ida (v5.2) говорит что они битые. Видимо, проблема с обработкой имен, типа "??0?$pair@Viterator@?$_Tree@V?$_Tmap_traits@IIU?$less@I@std@@V?$alloc ator@U?$pair@$$CBII@std@@@2@$0A@@std@@@std@@_N@std@@QAE@ABViterator@?$ _Tree@V?$_Tmap_traits@IIU?$less@I@std@@V?$allocator@U?$pair@$$CBII@std @@@2@$0A@@std@@@1@AB_N@Z"

Интересно было бы узнать пофиксили ли эту беду в следующих версиях.

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




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

Создано: 05 ноября 2009 14:49 · Поправил: sf3lamer
· Личное сообщение · #20

Есть код
Code:
  1. push    0
  2. push    1
  3. mov     eax, FDev0
  4. mov     ecx, [eax+TDD7Device.dd7.lpVtbl]
  5. mov     edx, FDev0
  6. mov     eax, [edx+TDD7Device.dd7.lpVtbl]
  7. mov     ecx, [ecx]
  8. push    eax
  9. mov     edx, [ecx+58h]  ; WaitForVerticalBlank
  10. call    edx             ; ddraw.dll:7374A791


в hex-rays преобразуется в
Code:
  1.   (*(int (__stdcall **)(struct IDirectDraw7::IDirectDraw7Vtbl *, signed int, _DWORD))(*(_DWORD *)FDev0[0].FDevice->dd7.lpVtbl + 0x58))(
  2.     FDev0[0].FDevice->dd7.lpVtbl,
  3.     1,
  4.     0);


dd7.lpVtbl + 0x58 это WaitForVerticalBlank

Как сделать, чтобы декомпилировалось:
dd7.WaitForVerticalBlank(...) ?



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

Создано: 27 ноября 2009 21:27 · Поправил: ut2004
· Личное сообщение · #21

никак.
не умеет ида подхватывать автоматически таблицу виртуальных функций класса и подставлять вызов

офтоп: давеча спрашивал комьюнити о том, как ильфак исправляет баги и как рассматривает реквесты.
данная опция необходима с самого момента создания дизассемблера Ida Pro (классы-то с вф появились явно раньше ;)




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

Создано: 27 ноября 2009 22:42
· Личное сообщение · #22

что значит не умеет ? умеет
все подхватываеться

вот другое дело с hex-rays есть много проблем
например указатели на функцию в +0 оно не различает
тоесть ->+0->+0->+0 не распознает
и много чего другого
но наверное ильфак уже все это пофиксил



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

Создано: 28 ноября 2009 13:35
· Личное сообщение · #23

reversecode пишет:
что значит не умеет ? умеетвсе подхватываеться

Правда? Сыплю пепел на голову себе.
Подскажите как. (на примере 5.5)




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

Создано: 28 ноября 2009 13:38
· Личное сообщение · #24

на васме все уже обтёрли



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

Создано: 28 ноября 2009 16:17
· Личное сообщение · #25

reversecode пишет:
на васме все уже обтёрли

можно ссылочку?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 28 ноября 2009 16:24
· Личное сообщение · #26

ut2004 пишет:
на примере 5.5


[offtop]
А ссылочку на 5.5 можно?
[/offtop]

-----
127.0.0.1, sweet 127.0.0.1





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

Создано: 28 ноября 2009 16:27
· Личное сообщение · #27

На дему можно. Полная не утекала. Можно было и не спрашивать, уже бы стопяцот тем было, если бы утекла.




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

Создано: 28 ноября 2009 16:33
· Личное сообщение · #28

ut2004
wasm.ru/forum/viewtopic.php?id=35166



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

Создано: 28 ноября 2009 20:05
· Личное сообщение · #29

Archer пишет:
На дему можно. Полная не утекала. Можно было и не спрашивать, уже бы стопяцот тем было, если бы утекла.


ет точно! такое мимо не пройдет
давеча встретился мне крек на 5.5 демо - типо убирает все ильф. наги, но самое главное - чтение/запись idb - нету ((
так что польза сомнительна, разве что поиграццо



Ранг: 8.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 декабря 2009 15:48
· Личное сообщение · #30

Привет, коллеги !
у меня такая трабл:
вчера дизасмил в иде ntoskrnl.exe,
она скачала символы с сайта ms,
и я мог видеть имена и параметры тех функций,
которые не экспортируются в секции
экспорта; ида както нашла их =)
это функции системных сервисов,
вроде NtCreateKey и т.д.
но сегодня снова запустил, сделал новый анализ,
с самого начала. Получил названия функций из секции экспорта,
но системные сервисы определяются как какие-то sub_xxxxx.
пробовал удалить pdb-файл, который она (ида) скачала с ms,
но она его снова откуда-то достает. Куда DbgHelp копирует файл,
который он скачал? потому что при повторной загрузке символов в ида,
я не получил стандартного окошка с какой-то инфой с микрософта,
которое я видел, когда ида качала символы в первый раз.
Помогите, плиз, отобразить системные сервисы в удобочитаемом формате,
т.е. как они реально есть.
Заранее благодарю.



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

Создано: 08 декабря 2009 16:27
· Личное сообщение · #31

sendersu пишет:
давеча встретился мне крек на 5.5 демо - типо убирает все ильф. наги, но самое главное - чтение/запись idb - нету ((так что польза сомнительна, разве что поиграццо

Да как раз оценить - а стоит ли приобретать 5.5
Ильфак сделал хитрО - ограничение одного сеанса работы с демо.
Хозяин конечно барин, но это ни в какие ворота, если честно. Как оценить и главное что? Посмотреть на новый и-фейс, посмотреть на bosch отладчик?
С хексрейсом ситуация еще забавнее. Чтобы узнать, а подходит ли оно для твоих задач - необходимо сначала приобрести
Подитожу. Серьезное намерение было приобрести иду.
Но пораскинув мозгами, почитав списки "whats new", посмотрев наконец вживую на примере 5.5 демо было принято решение, что приобретение нецелесообразно.
Отличий в дизассемблере 5.5 х32 от 5.2 не видно. Вобщем-то возможно уже достигнут предел и улучшать там нечего.
Также останавливает невозможность отладки вмваре х64
Также отсутсвие хексрейса х64
Покупать это сейчас, в надежде что когда-нибудь появится - нафик.
Видя переодичность выпуска новых версий - ... ну вы меня поняли.


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати