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

 eXeL@B —› Основной форум —› Использование IDA Pro
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 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.





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

Создано: 16 декабря 2010 13:53
· Личное сообщение · #2

kp0m
добавь информативности, побольше кода на пастенбин например, и что значит графическое представление
2, может быть не коментарием а разрывом функции по стеку, итд



Ранг: 26.1 (посетитель), 10thx
Активность: 0.01=0.01
Статус: Участник

Создано: 16 декабря 2010 14:36
· Личное сообщение · #3

Есть функция, после автоанализа часть кода была в ARM, после ручной правки кода в THUMB остаются такие вот комментарии ";---------" и уже в "Graph view" получаем "разрыв" (скрин ниже) для небольшой функции не страшно, а вот для многофункционального хандлера уже критично ...

Code:
  1. ROM:03E00908 ; Attributes: noreturn
  2. ROM:03E00908
  3. ROM:03E00908 sub_3E00908                             ; CODE XREF: sub_3E02AF0-104Cp
  4. ROM:03E00908                 PUSH    {R4-R6,LR}
  5. ROM:03E0090A                 MOVS    R5, R0
  6. ROM:03E0090C                 LDR     R0, [R0,#0x18]
  7. ROM:03E0090E                 MOVS    R6, R1
  8. ROM:03E00910                 LSLS    R0, R0, #0x1A
  9. ROM:03E00912                 BPL     loc_3E0092C
  10. ROM:03E00914                 LDR     R0, [R5,#0x38]
  11. ROM:03E00916                 MOVS    R4, #0
  12. ROM:03E00918                 B       loc_3E0091C
  13. ROM:03E0091A ; ---------------------------------------------------------------------- -----
  14. ROM:03E0091A
  15. ROM:03E0091A loc_3E0091A                             ; CODE XREF: sub_3E00908+1Aj
  16. ROM:03E0091A                                         ; sub_3E00908+20j
  17. ROM:03E0091A                 ADDS    R4, R4, #1
  18. ROM:03E0091C
  19. ROM:03E0091C loc_3E0091C                             ; CODE XREF: sub_3E00908+10j
  20. ROM:03E0091C                 CMP     R0, R4
  21. ROM:03E0091E                 BLE     loc_3E0093C
  22. ROM:03E00920                 CMP     R4, R2
  23. ROM:03E00922                 BLT     loc_3E0091A
  24. ROM:03E00924                 LDRB    R1, [R6,R4]
  25. ROM:03E00926                 CMP     R1, #0
  26. ROM:03E00928                 BNE     loc_3E0091A
  27. ROM:03E0092A                 B       loc_3E0093C
  28. ROM:03E0092C ; ---------------------------------------------------------------------- -----
  29. ROM:03E0092C
  30. ROM:03E0092C loc_3E0092C                             ; CODE XREF: sub_3E00908+Aj
  31. ROM:03E0092C                 MOVS    R4, #0
  32. ROM:03E0092E                 B       loc_3E00932
  33. ROM:03E00930 ; ---------------------------------------------------------------------- -----
  34. ROM:03E00930
  35. ROM:03E00930 loc_3E00930                             ; CODE XREF: sub_3E00908+2Cj
  36. ROM:03E00930                                         ; sub_3E00908+32j
  37. ROM:03E00930                 ADDS    R4, R4, #1
  38. ROM:03E00932
  39. ROM:03E00932 loc_3E00932                             ; CODE XREF: sub_3E00908+26j
  40. ROM:03E00932                 CMP     R4, R2
  41. ROM:03E00934                 BLT     loc_3E00930
  42. ROM:03E00936                 LDRB    R0, [R6,R4]
  43. ROM:03E00938                 CMP     R0, #0
  44. ROM:03E0093A                 BNE     loc_3E00930
  45. ROM:03E0093C
  46. ROM:03E0093C loc_3E0093C                             ; CODE XREF: sub_3E00908+16j
  47. ROM:03E0093C                                         ; sub_3E00908+22j
  48. ROM:03E0093C                 LDR     R0, [R5,#0x34]
  49. ROM:03E0093E                 SUBS    R0, R0, R4
  50. ROM:03E00940                 STR     R0, [R5,#0x34]
  51. ROM:03E00942                 MOVS    R0, R5
  52. ROM:03E00944                 BL      loc_3E01070
  53. ROM:03E00948 ; ---------------------------------------------------------------------- -----
  54. ROM:03E00948                 ADDS    R2, R6, R4
  55. ROM:03E0094A                 MOVS    R1, R6
  56. ROM:03E0094C                 LDR     R3, [R5,#0x20]
  57. ROM:03E0094E                 MOVS    R0, R5
  58. ROM:03E00950                 BL      sub_3E01CAE
  59. ROM:03E00954                 LDR     R0, [R5,#0x3C]
  60. ROM:03E00956                 ADDS    R0, R0, R4
  61. ROM:03E00958                 STR     R0, [R5,#0x3C]
  62. ROM:03E0095A                 MOVS    R0, R5
  63. ROM:03E0095C                 BL      loc_3E010A0
  64. ROM:03E00960 ; ---------------------------------------------------------------------- -----
  65. ROM:03E00960                 POP     {R4-R6}
  66. ROM:03E00962                 POP     {R3}
  67. ROM:03E00964                 BX      R3
  68. ROM:03E00964 ; End of function sub_3E00908


f31a_16.12.2010_CRACKLAB.rU.tgz - comms.JPG




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

Создано: 16 декабря 2010 14:48
· Личное сообщение · #4

не шарю я в ARM
но почему то мне кажется
что функции
Code:
  1. ROM:03E00944                 BL      loc_3E01070

Code:
  1. ROM:03E0095C                 BL      loc_3E010A0

не правильно до конца распознались
или там мусор
или стоит флаг что функция завершающая без возрата

точнее спецы ARM думаю подскажут




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

Создано: 16 декабря 2010 16:17
· Личное сообщение · #5

Как понимаю вопрос не АРМе и не в распознавании, а в представлении результата анализа.

Optioins->Comments...->Display empty lines
Optioins->Comments...->Display borders between data/code

-----
127.0.0.1, sweet 127.0.0.1


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


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

Создано: 16 декабря 2010 16:22
· Личное сообщение · #6

OKOB
странно, мне показалось именно в распознавании, посмотри картинку в аттаче
и по картинке видно что IDA все же считает два отдельных куска именно к той функции
но из за неправильного оперделения "cтека" не может их прицепить в нужное место
и ставит в начало графа

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


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

Создано: 16 декабря 2010 16:37
· Личное сообщение · #7

kp0m пишет:
Как убрать комментарий в строке 2


Все началось с этого.

-----
127.0.0.1, sweet 127.0.0.1





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

Создано: 16 декабря 2010 16:41
· Личное сообщение · #8

дочитайте предложение после запятой
потому что kp0m, не правильно понял что это за разрыв



Ранг: 26.1 (посетитель), 10thx
Активность: 0.01=0.01
Статус: Участник

Создано: 16 декабря 2010 16:51
· Личное сообщение · #9

Итак, комментарии убрал, спасибо, но разрывы остались, в варианте с нераспознанными функциями есть смысл, но почему тут
Code:
  1. ROM:03E00928                 BNE     loc_3E0091A
  2. ROM:03E0092A                 B       loc_3E0093C
  3. ROM:03E0092C ; ---------------------------------------------------------------------- -----
  4. ROM:03E0092C
  5. ROM:03E0092C loc_3E0092C                             ; CODE XREF: sub_3E00908+Aj
  6. ROM:03E0092C                 MOVS    R4, #0
  7. ROM:03E0092E                 B       loc_3E00932
  8. ROM:03E00930 ; ---------------------------------------------------------------------- -----
  9. ROM:03E00930
  10. ROM:03E00930 loc_3E00930                             ; CODE XREF: sub_3E00908+2Cj
  11. ROM:03E00930                                         ; sub_3E00908+32j
  12. ROM:03E00930                 ADDS    R4, R4, #1
  13. ROM:03E00932
  14. ROM:03E00932 loc_3E00932                             ; CODE XREF: sub_3E00908+26j
  15. ROM:03E00932                 CMP     R4, R2
  16. ROM:03E00934                 BLT     loc_3E00930
  17. ROM:03E00936                 LDRB    R0, [R6,R4]
  18. ROM:03E00938                 CMP     R0, #0
  19. ROM:03E0093A                 BNE     loc_3E00930
  20. ROM:03E0093C
  21. ROM:03E0093C loc_3E0093C                             ; CODE XREF: sub_3E00908+16j
  22. ROM:03E0093C                                         ; sub_3E00908+22j
  23. ROM:03E0093C                 LDR     R0, [R5,#0x34]

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



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

Создано: 26 декабря 2010 13:42 · Поправил: GoldFinch
· Личное сообщение · #10

Как справиться с множественным наследованием?

Оригинальный код выглядел примерно так:
Code:
  1. class A
  2. {
  3.     int x;
  4.     virtual void foo() = 0;
  5. };
  6. class B
  7. {
  8.     int y;
  9.     virtual void bar() = 0;
  10. };
  11. class C : A, B
  12. {
  13.     void foo() {}
  14.     void bar() { test(this->x); }
  15. }

структура C получилась такой
Code:
  1. C struc
  2.   A_vftable dd ?
  3.   x dd ?
  4.   B_vftable dd ?
  5.   y dd ?
  6. ends

а код C::bar таким
Code:
  1. ; void __thiscall C__bar(void* this)
  2. C__bar proc
  3.    push dword ptr [ecx-4]
  4.    call test
  5.    ret
  6. C__bar endp


В IDA я могу вручную задать операнд [ecx-8+C.x] хотя каждый раз так делать неудобно,
а в hex-rays чтонить можно сделать?




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

Создано: 26 декабря 2010 14:54 · Поправил: reversecode
· Личное сообщение · #11

да скорее всего никак
с отрицательными смещениями хексрейс неумеет работать
хотя надо будет попробовать например указывать тип не (struct C *) в функции
а (struct C.x *)

ps я имел ввиду указывать смешения от средины стуктуры, может hexrays сумеет это вычислять и будет автоматом прощитывать отрицательные смещения для структуры




Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

Создано: 18 января 2011 20:32 · Поправил: =TS=
· Личное сообщение · #12

Как обещал в теме про IDR, отрыл и немножко допилил свой плагин для загрузки различных мап файлов в IDA.
Функционал не ахти, но в своё время было достаточно.
Приятного поиграться!

c383_18.01.2011_CRACKLAB.rU.tgz - LoadmapEx_b00_0110.zip

-----
DREAMS CALL US


| Сообщение посчитали полезным: mak, gena-m

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

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

кто имеет плаг а-ля VtblToStruct - стал на таблицу VMT, плаг переименовал все функи
собрал я VtblToStruct - но в 55 не пошел
брал срц здесь http://xtin.activebb.net/t31-topic

упд.
решено



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

Создано: 05 февраля 2011 10:22 · Поправил: coderus
· Личное сообщение · #14

Подскажите пожалуйста, знатоки, как с помощью IDC или IDA Python загрузить из ids файла имя нужной функции?

ну то есть я знаю имя ids файла, знаю ординал, нужно получить имя функции из ids




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

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

Подскажите плз , как в иде можно отладить дочерний процесс?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 05 февраля 2011 23:30
· Личное сообщение · #16

Кто-нибудь в курсе, есть какие-нибудь конверторы чтобы сконвертить idb в i64?
Т.е. 32-битную базу в 64-битную.
IDA64 32-битную базу открывать отказывается вообще.
Кроме как экспортировать в IDC и потом наложить на вновь созданную 64-битную базу вариантов пока нету никаких.



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

Создано: 06 февраля 2011 00:51
· Личное сообщение · #17

А разве IDA64 не для 64-битных бинарей только?

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





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

Создано: 06 февраля 2011 09:30
· Личное сообщение · #18

Не, она х86 файлы нормально открывает. Посему некоторые непонятки, зачем 2 бинаря. Помимо того, что это разные версии с точки зрения лицензии.



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

Создано: 06 февраля 2011 11:27
· Личное сообщение · #19

про ids никто не поможет?



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 06 февраля 2011 11:42
· Личное сообщение · #20

coderus пишет:
про ids никто не поможет?

Функция в SDK называется import_module. Загрузка ids делается обычно из лоадера, а не из плагинов или idc, поэтому ее нет в IDC и в питоне думаю тоже...

-----
Реверсивная инженерия - написание кода идентичного натуральному




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

Создано: 06 февраля 2011 13:45
· Личное сообщение · #21

да, я смотрел сорцы твоего лоадера для симбы
в планах не было изучения си для написания собственного лоадыря...
что-ж. по-старинке будем мешочек с idt в кармане таскать



Ранг: 15.5 (новичок), 6thx
Активность: 0.01=0.01
Статус: Участник

Создано: 14 февраля 2011 13:06
· Личное сообщение · #22

Ковыряю досовский бинарник, имею вот такой код:

Code:
  1. 0000:D2F4 00C                 mov     ax, 0F40h
  2. 0000:D2F7 00C                 mov     ds, ax
  3. 0000:D2F9 00C                 mov     [bp+var_2], 0
  4. 0000:D2FE 00C                 mov     ax, [ds:13EEh]
  5. 0000:D301 00C                 push    ax
  6. 0000:D302 00E                 call    0D2Bh:0E4h      ; 0xD394


По адресу 0D2Bh*16+0E4h = 0D394h функция, на которую осуществляется переход. Адрес 0D2Bh:0E4h ида выделила красным. Перехожу по адресу функции перехода, смотрю перекрестные ссылки и вижу в их числе ссылку на эту самую функцию из 0000:D302. Вопрос: можно ли как-то объяснить иде, что call 0D2Bh:0E4h вызывает ту самую функцию по адресу 0xD394? Пробовал стоя на 0000:D2FE вводить через Alt-G адрес ds - 0F40h, не помогло.

И еще вопрос: кто какой версией иды пользуется для исследования досовских бинарников? Есть вообще разница?



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

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

call 0D2Bh:0E4h вызывает ту самую функцию по адресу 0xD394

Есть опция Manual... Alt+F1 в ней можешь изменить значение вызова, а кросрефренсы только на коментарий действуют.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше





Ранг: 109.3 (ветеран), 55thx
Активность: 0.060
Статус: Участник
Yes! I_m noob!

Создано: 21 февраля 2011 10:06 · Поправил: [0utC4St]
· Личное сообщение · #24

/* Написано с разрешения Archer */

Всем кому снится по ночам IDA Pro 6 посвящается:

AftarJjet (20:12 20-02-2011)
Появилась идея, как можно достать Ida Pro.  Шансы очень большие. Необходима атака на хеш md5-unix распределённым перебором. По словарю я не взял.
 
Добавлено:
Точнее, на 2. В случае успеха, пожалуй, можно будет достать всё, что связано с этим сабжем.


AftarJjet (07:48 21-02-2011)
Короче, поковырял немножко одного продавца Иды, нашёл кое что. Просверлил маленькую дырочку. Сквозную. Надо бы сделать больше. Надо бы прорубить отверстие, и залезть во-внутрь. Я пас, заипалсо.
Но, есть люди, которым она снится. Так вот, думаю, у этих товарищей есть возможность прорубить дыру побольше.
Подробнее - в --> пм <--.


з.ы. Все вопросы, обсуждения, советы, etc - ТОЛЬКО в ЛС вышеобозначенному товарищу!
з.з.ы. Сразу скажу: Мопед не мой - я просто разместил объяву. ©
Я тут ни при чём и не в курсе...

-----
z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0=




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

Создано: 05 марта 2011 18:13
· Личное сообщение · #25

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

внутри скрипты для MFC 7.0, 7.1, 8.0, 9.0 версий

если у кого есть .def файлы для MFC 10.0 - поделитесь

cc4b_05.03.2011_CRACKLAB.rU.tgz - mfc7_71_8_9.7z



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

Создано: 05 марта 2011 18:38
· Личное сообщение · #26

sendersu
Извращенец Вот старье более универсальное. Когда-то валялось на ренге.
http://ge.tt/7LK6esC

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


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

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

Создано: 08 марта 2011 08:31
· Личное сообщение · #27

Нашел в IDA вызов по не понятному адресу, IDA не понимает где это. Походу адрес выходит за границы этой dll, как можно узнать к чему он относиться?



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

Создано: 08 марта 2011 13:50
· Личное сообщение · #28

Это может быть неправильный дасм блока из-за обфускации, например. Без софта сказать что-либо проблематично.

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




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

Создано: 08 марта 2011 21:09
· Личное сообщение · #29

Fairhawk пишет:
... адрес выходит за границы этой dll, как можно узнать к чему он относиться?

недавно был похожий случай.
протектор прятал кучу кода в секции .reloc,
IDA эту секцию не рассматривает.
после переименования секции IDA нашла в ней много интересного.



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

Создано: 08 марта 2011 21:36
· Личное сообщение · #30

ufo_maniac пишет:
IDA эту секцию не рассматривает

manual load - должна загрузить



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

Создано: 09 марта 2011 17:52
· Личное сообщение · #31

Адрес верный, библиотека системная. Проблема актуальна


<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 50 . 51 . >>
 eXeL@B —› Основной форум —› Использование IDA Pro
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати