Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 03 января 2009 19:20 · Поправил: progopis · Личное сообщение · #2 app Вот так не пробовал? Code:
То есть в режиме отладки становятся доступны регистры. Если надо узнать нужный адрес из заранее известной "ячейки", то есть функция Dword(addr) ; - возвращает dword, находящийся под адресу addr. А вообще совет тут один - бери и читай документацию, книги. Ссылку на подходящую книгу я уже давал выше. Лично у меня проблем, какие ты описываешь, не возникает. Прочитаешь - тоже сможешь патчить что угодно, когда угодно. Успехов! |
|
Создано: 03 января 2009 20:11 · Личное сообщение · #3 |
|
Создано: 03 января 2009 20:31 · Личное сообщение · #4 |
|
Создано: 03 января 2009 20:41 · Личное сообщение · #5 |
|
Создано: 03 января 2009 21:09 · Личное сообщение · #6 |
|
Создано: 03 января 2009 21:14 · Личное сообщение · #7 |
|
Создано: 08 января 2009 00:53 · Поправил: D-503 · Личное сообщение · #8 |
|
Создано: 27 февраля 2009 15:27 · Поправил: Модератор · Личное сообщение · #9 Вижу код: Code:
мне ненравится последняя строчка. я бы хоотел видеть ее в более описательном виде, но ида ничего не предлагает на замену и приходится считать самому и ставить комент. Можно ли все-таки заставить Ида посчитать и поставить заместо 0xC0 что-нить описательное к пример в таком виде: IMAGE_NT_HEADER.OptionalHeader.DataDirectory[XXX_ENTRY].VirtualAddrss или аналогичное. ? ----- My love is very cool girl. |
|
Создано: 27 февраля 2009 16:28 · Поправил: progopis · Личное сообщение · #10 |
|
Создано: 27 февраля 2009 17:06 · Личное сообщение · #11 Максимум удается получить в виде Code:
Кеу "T" с выбором структуры IMAGE_NT_HEADERS32 ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 28 февраля 2009 01:16 · Личное сообщение · #12 |
|
Создано: 03 марта 2009 22:55 · Личное сообщение · #13 |
|
Создано: 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 (больше нет ссылок). Как-то так |
|
Создано: 04 марта 2009 14:58 · Личное сообщение · #15 |
|
Создано: 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 вызывается еще какая-то функция. Вопрос в следующем: Можно ли сделать так, что б было видно вызов какой функции происходит в этом куске кода? |
|
Создано: 19 марта 2009 19:35 · Личное сообщение · #17 |
|
Создано: 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 Вроде так. |
|
Создано: 20 марта 2009 18:53 · Поправил: NetSpider · Личное сообщение · #19 |
|
Создано: 02 мая 2009 22:56 · Личное сообщение · #20 |
|
Создано: 02 мая 2009 23:01 · Личное сообщение · #21 daiver пишет: положите в документы, чтобы не потерялось. бойан http://exelab.ru/f/action=vthread&forum=2&topic=2387&page= 21#4 есть еще в CHM версии, могу дать ссылку если еще не было тут |
|
Создано: 02 мая 2009 23:05 · Личное сообщение · #22 Пару вопросов в догонку: 1. есть регистровый вызов, типа call eax запускаю под отладчиком, узнаю куда прыгнули, создаю перекрестную ссылку В том месте где сама команда call eax приходится в комментах писать имя функции куда улетели, потому что ида ничего не пишет. В вызванной функции, после создания перекрестной ссылки, можно узнать откуда она вызвана. В месте вывода только в комментариях. Потому что, если создать еще одну перекрестную ссылку в месте вызова, ида ее удалит при повторном анализе проги. Если я меняю имя функции приходится менять все комментарии, что не удобно. Может кто чего придумал более практичное ? 2. есть код, много кода, ооочень много кода, сижу восстанавливаю алгоритм работы. В коде интересует математика, которая в основном на FPU. Может кто посоветует чего практичного, кроме как после каждой инструкции записывать состояние стека FPU в виде формул ? |
|
Создано: 03 мая 2009 11:08 · Личное сообщение · #23 |
|
Создано: 03 мая 2009 20:50 · Личное сообщение · #24 daiver пишет: 2. есть код, много кода, ооочень много кода, сижу восстанавливаю алгоритм работы. В коде интересует математика, которая в основном на FPU. Может кто посоветует чего практичного, кроме как после каждой инструкции записывать состояние стека FPU в виде формул? Имхо проще открыть справочник по FPU инструкциям, смотреть код и воссоздавать в блокноте исходный алгоритм. По крайней мере мне так сначала было удобно, а потом уже инструкции по памяти будешь читать и проще и быстрее дело пойдет. |
|
Создано: 05 мая 2009 19:18 · Личное сообщение · #25 |
|
Создано: 18 мая 2009 22:35 · Поправил: avens · Личное сообщение · #26 |
|
Создано: 26 мая 2009 14:48 · Личное сообщение · #27 |
|
Создано: 27 мая 2009 08:13 · Личное сообщение · #28 |
|
Создано: 27 мая 2009 09:44 · Личное сообщение · #29 |
|
Создано: 27 мая 2009 13:09 · Поправил: Hexxx · Личное сообщение · #30 |
|
Создано: 03 июня 2009 11:13 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |