Сейчас на форуме: -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
Статус: Участник

Создано: 03 января 2009 19:20 · Поправил: progopis
· Личное сообщение · #2

app
Вот так не пробовал?

Code:
  1. PatchByte(ECX+XX,0xYY) ;


То есть в режиме отладки становятся доступны регистры. Если надо узнать нужный адрес из заранее известной "ячейки", то есть функция Dword(addr) ; - возвращает dword, находящийся под адресу addr. А вообще совет тут один - бери и читай документацию, книги. Ссылку на подходящую книгу я уже давал выше. Лично у меня проблем, какие ты описываешь, не возникает. Прочитаешь - тоже сможешь патчить что угодно, когда угодно. Успехов!



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

Создано: 03 января 2009 20:11
· Личное сообщение · #3

Глубоко уважаемый, progopis!
Скачал файл: www.hackzone.ru/files/get/id/123/Obraz+Mishleniya+IDA+©+Kris+Ka sperski.html,
а пароль не нашел,
если не трудно, пожалуйста
подайте пароль.

С глубоким уважением, арр.

P.S.
Если возникнут вопросы,
можно ли к Вам обращаться?



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

Создано: 03 января 2009 20:31
· Личное сообщение · #4

app
pass: www.hackzone.ru



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

Создано: 03 января 2009 20:41
· Личное сообщение · #5

app
Можно. Пароль дал -Garrett-, а вообще, прежде чем скачивать, надо читать описание. Так можно и вирус скачать.



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

Создано: 03 января 2009 21:09
· Личное сообщение · #6

Отцы родные!

www.hackzone.ru
-это пароль или ссылка
на файл с паролем?

С приветом, арр.



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

Создано: 03 января 2009 21:14
· Личное сообщение · #7

app ,конечно пароль=) -Garrett- же написал- pass
Да и не проще ли просто проверить самому на файле.



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

Создано: 08 января 2009 00:53 · Поправил: D-503
· Личное сообщение · #8

Владельцы лицензионной иды 5.3 выложите пожалуйста сигны, от вас не убудет, заранее спасибо.



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

Создано: 27 февраля 2009 15:27 · Поправил: Модератор
· Личное сообщение · #9

Вижу код:
Code:
  1. .RLPack:00408467 8B B5 79 46 00+                mov     esi, ss<img src="http://exelab.ruimg/smilies/s9.gif" border="0" align="" alt="">ImgBase - 407762h)[ebp]
  2. .RLPack:0040846D 03 76 3C                       add     esi, [esi+IMAGE_DOS_HEADER.e_lfanew]
  3. .RLPack:00408470 8B B6 C0 00 00+                mov     esi, [esi+0C0h]

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

Можно ли все-таки заставить Ида посчитать и поставить заместо 0xC0 что-нить описательное к пример в таком виде:

IMAGE_NT_HEADER.OptionalHeader.DataDirectory[XXX_ENTRY].VirtualAddrss


или аналогичное.

?

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




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

Создано: 27 февраля 2009 16:28 · Поправил: progopis
· Личное сообщение · #10

Нажми два раз O (offset) - получишь переменную, которую можно переименовать во что угодно.

Добавлено:

Торможу - это только для регистра ESP




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

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

Максимум удается получить в виде

Code:
  1. ___:005F2E6F 8B 7D 08                          mov     edi, [ebp+image]
  2. ___:005F2E72 8B D7                             mov     edx, edi
  3. ___:005F2E74 03 7F 3C                          add     edi, [edi+IMAGE_DOS_HEADER.e_lfanew]
  4. ___:005F2E77 8B B7 80 00 00 00                 mov     esi, [edi+(IMAGE_NT_HEADERS32.OptionalHeader.DataDirectory.VirtualAddress+8 )]


Кеу "T" с выбором структуры IMAGE_NT_HEADERS32

-----
127.0.0.1, sweet 127.0.0.1




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

Создано: 28 февраля 2009 01:16
· Личное сообщение · #12

Ида не может нарисовать обращение к элементу массива в асме, т.к. в асме нет такого синтаксиса. Отредактируй IMAGE_OPTIONAL_HEADER и сделай 16 записей IMAGE_DATA_DIRECTORY вместо массива.



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

Создано: 03 марта 2009 22:55
· Личное сообщение · #13

Люди, подскажите, пожалуйста, ответы на два вопроса:
1. Можно ли отменить патчи? Если да, то как?
2. Как узнать, что xRef - последний (при использовании RnextB0)?
Спасибо!



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

Создано: 04 марта 2009 09:06
· Личное сообщение · #14

tomac

1)
// Get original value of program byte
// ea - linear address
// returns: the original value of byte before any patch applied to it

long GetOriginalByte(long ea);

2)
Cначала:
long RfirstB0 (long To); // Get first code xref to 'To'
если не вернет BADADDR, то:

// Get next code xref to 'To'

long RnextB0 (long To,long current);

-- подставляя current пока не вернет BADADDR (больше нет ссылок).

Как-то так



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

Создано: 04 марта 2009 14:58
· Личное сообщение · #15

svladim
Спасибо!



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

Создано: 19 марта 2009 11:28 · Поправил: NetSpider
· Личное сообщение · #16

Добрый день. Есть библиотека Linux откомпилированная под процессор ST7100 архитектура SH4. Дизассемблирую в IDA получаю к примеру для функции выделения памяти такое:

.text:00015440 .export LIB_MEMORY_malloc
.text:00015440 LIB_MEMORY_malloc:
.text:00015440 mov.l r8, @-r15
.text:00015442 mova @(h'28,pc), r0 ; [0001546C] = asc_1FC98
.text:00015444 mov.l r12, @-r15
.text:00015446 mov r4, r8
.text:00015448 mov.l r14, @-r15
.text:0001544A mov r5, r4
.text:0001544C mov.l @(h'20,pc), r1 ; [00015470] = h'FFFF1C94
.text:0001544E sts.l pr, @-r15
.text:00015450 mov.l @(h'18,pc), r12 ; [0001546C] = asc_1FC98
.text:00015452 add r0, r12
.text:00015454 bsrf r1
.text:00015456 mov r15, r14
.text:00015458 mov.l r0, @r8
.text:0001545A mov #0, r0
.text:0001545C mov r14, r15
.text:0001545E lds.l @r15+, pr
.text:00015460 mov.l @r15+, r14
.text:00015462 mov.l @r15+, r12
.text:00015464 mov.l @r15+, r8
.text:00015466 rts
.text:00015468 nop

Судя по инструкции bsrf r1 вызывается еще какая-то функция. Вопрос в следующем: Можно ли сделать так, что б было видно вызов какой функции происходит в этом куске кода?




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

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

NetSpider, эта, читай же код. Что в r1? Иди по этому адресу, c "make code"...



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

Создано: 20 марта 2009 03:55
· Личное сообщение · #18

/* */
/* BSRF (Branch to Subroutine Far): Branch Instruction */
/* Class: Delayed branch instruction */
/* */
/* Format Abstract Code Cycle T Bit */
/* ----------------------------------------------------------------- */
/* BSRF Rn PC->PR, Rn+PC -> PC 0000nnnn00000011 2 - */
/* */
/* Description: Branches to the subroutine procedure at a specified */
/* address after executing the instruction following this BSRF */
/* instruction. The PC value is stored in the PR. The branch */
/* destination is PC + the 32-bit contents of the general register */
/* Rn. PC is the start address of the second instruction after this */
/* instruction. Used as a subroutine call in combination with RTS. */
/* Note: Since this is a delayed branch instruction, the instruction */
/* after BSR is executed before branching. No interrupts are accepted */
/* between this instruction and the next instruction. If the next */
/* instruction is a branch instruction, it is acknowledged as an */
/* illegal slot instruction. */
/* */

00015458 + FFFF1C94 = 000070EC

Вроде так.



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

Создано: 20 марта 2009 18:53 · Поправил: NetSpider
· Личное сообщение · #19

Спасибо всем большое. В принципе это (00015458 + FFFF1C94 = 000070EC) я и сам понял. Меня больше интересовала возможность отображения названия функции (например sub_081100 или malloc_main) для удобства. Привык, что когда просматриваешь x86 код, все вызовы видны. .



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

Создано: 02 мая 2009 22:56
· Личное сообщение · #20

The IDA Pro Book The Unofficial Guide
Внутри архива pdf.
rapidshare.com/files/228394710/freemaninfo.tar.bz2.html
Приятного чтения.

PS: положите в документы, чтобы не потерялось.



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

Создано: 02 мая 2009 23:01
· Личное сообщение · #21

daiver пишет:
положите в документы, чтобы не потерялось.


бойан
http://exelab.ru/f/action=vthread&forum=2&topic=2387&page= 21#4

есть еще в CHM версии, могу дать ссылку если еще не было тут



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

Создано: 02 мая 2009 23:05
· Личное сообщение · #22

Пару вопросов в догонку:
1. есть регистровый вызов, типа call eax
запускаю под отладчиком, узнаю куда прыгнули, создаю перекрестную ссылку
В том месте где сама команда call eax приходится в комментах
писать имя функции куда улетели, потому что ида ничего не пишет.
В вызванной функции, после создания перекрестной ссылки, можно
узнать откуда она вызвана. В месте вывода только в комментариях.
Потому что, если создать еще одну перекрестную ссылку в месте вызова,
ида ее удалит при повторном анализе проги. Если я меняю имя функции
приходится менять все комментарии, что не удобно. Может кто чего придумал
более практичное ?

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



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

Создано: 03 мая 2009 11:08
· Личное сообщение · #23

1. a) Alt-F11 (Change Callee Address). b) вместо имени функции писать в комменте адрес




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 03 мая 2009 20:50
· Личное сообщение · #24

daiver пишет:
2. есть код, много кода, ооочень много кода, сижу восстанавливаю алгоритм
работы. В коде интересует математика, которая в основном на FPU.
Может кто посоветует чего практичного, кроме как после каждой инструкции
записывать состояние стека FPU в виде формул?


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



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

Создано: 05 мая 2009 19:18
· Личное сообщение · #25

Спасибо огромное reverser и kioresk.



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

Создано: 18 мая 2009 22:35 · Поправил: avens
· Личное сообщение · #26

Здравствуйте!
Кто знает почему при использовании IDA через параметры командной строки, пример:
idag -parm710a -b45140022 file.bin или idag -parm710a -B -b0x45140022 file.bin
адрес зписывается не 45140022, а 5140020 ?
Подскажите если можно в чем эта ошибка.



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

Создано: 26 мая 2009 14:48
· Личное сообщение · #27

Как в Иде открыть карту памяти? А то все переменные указаны поинтерами, а хочется увидеть содержимое на которое указываю эти поинтеры.



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

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

Voffka28 пишет:
Как в Иде открыть карту памяти?

Наиболее близкое к этому - список сегментов. Ctrl-S.

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




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

Создано: 27 мая 2009 09:44
· Личное сообщение · #29

можно ли из скрипта в ида узнать длину опкода инструкции, без операндов. типа
68 2E 72 75 63 push 6375722Eh
опкод 0x68 , длина 1 байт ?



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

Создано: 27 мая 2009 13:09 · Поправил: Hexxx
· Личное сообщение · #30

Rustem пишет:
можно ли из скрипта в ида узнать длину опкода инструкции, без операндов.

Наверно нет.

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




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

Создано: 03 июня 2009 11:13
· Личное сообщение · #31

hexblog.com/2009/06/ida_pro_55_goes_alpha.html


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