Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Использование IDA Pro |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 50 . 51 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 августа 2008 18:53 · Личное сообщение · #1 Здесь предлагаю обмениваться опытом использования, настройки этой тулзы. Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? ) ----- My love is very cool girl. |
|
Создано: 29 октября 2010 11:16 · Личное сообщение · #2 |
|
Создано: 29 октября 2010 18:34 · Личное сообщение · #3 |
|
Создано: 29 октября 2010 19:04 · Личное сообщение · #4 |
|
Создано: 01 ноября 2010 02:31 · Личное сообщение · #5 |
|
Создано: 01 ноября 2010 14:10 · Личное сообщение · #6 |
|
Создано: 01 ноября 2010 14:45 · Личное сообщение · #7 |
|
Создано: 01 ноября 2010 15:11 · Поправил: cppasm · Личное сообщение · #8 |
|
Создано: 01 ноября 2010 16:31 · Личное сообщение · #9 |
|
Создано: 01 ноября 2010 16:38 · Личное сообщение · #10 |
|
Создано: 01 ноября 2010 17:22 · Поправил: cppasm · Личное сообщение · #11 Мда, MASM тут отличился. PUSHFW не знает вообще, PUSHF всегда 16-битный. И как ни странно то же самое с PUSHA, IRET и другими. Единственный вариант который я вижу, это в IDA скриптом исправить все PUSHF на PUSHFD, а PUSHFW на PUSHF при помощи manual instruction. Вообще в IDA ж написано "Target assembler: Generic for Intel 80x86". Совместимости с MASM никто не обещал |
|
Создано: 01 ноября 2010 19:30 · Личное сообщение · #12 |
|
Создано: 02 ноября 2010 21:16 · Поправил: V0ldemAr · Личное сообщение · #13 |
|
Создано: 02 ноября 2010 21:42 · Поправил: cppasm · Личное сообщение · #14 V0ldemAr пишет: Откуда вы взяли PUSHFW? такой мнемоники несуществует. Курим маны интела и видим MASM/TASM/WASM Продолжать? А ещё в манах SALC к примеру нету, так что - её тоже не существует? Как нет и AT&T синтаксиса - так что, все ассемблеры с AT&T неправильные? В манах опкоды описываются, мнемоники это чисто для справки. |
|
Создано: 02 ноября 2010 21:58 · Поправил: V0ldemAr · Личное сообщение · #15 cppasm пишет: MASM/TASM/WASMПродолжать? cppasm пишет: Мда, MASM тут отличился.PUSHFW не знает вообще, PUSHF всегда 16-битный. Противоречите самому себе? PUSHFW никогда небыло в МАСМе ... error A2008: : PUSHFW SALC недокументирована ее МАСМ тоже незнает как и другие F1 / icebp например ... Решил покопатся в ИДЕ и погуглить немного и вывод таковой что PUSHFW был всегда в ТАСМе в МАСМе эго небыло как видно с картинки в ИДЕ есть только Generic и TASM так что тот Generic думаю основан на ТАСМе. Сам когда-то начинал учить ассемблер с ТАСМа так думаю и с IDA было от тогда и осталась такая имплементация только инструкции придавались ... |
|
Создано: 02 ноября 2010 22:22 · Личное сообщение · #16 |
|
Создано: 14 ноября 2010 18:10 · Личное сообщение · #17 |
|
Создано: 19 ноября 2010 09:28 · Личное сообщение · #18 |
|
Создано: 19 ноября 2010 13:53 · Поправил: sendersu · Личное сообщение · #19 idiMAN попросите у того у кого есть IDA 5.7 из ченджлога + added FLIRT signatures for Visual C++ 2010 and C++Builder 2010 во время написания сего поста появилась идея - а что если в версии идадемо5.7 есть такое? качнул www.hex-rays.com/idapro/idadowndemo.htm поставил, глянул сигнатурки yfrog.com/c8idademo57sigsp сравнил с 55 yfrog.com/72idademo57sig2p интересно, таки да, есть! (если только ето не урезанная а полная версия сигнатур) |
|
Создано: 19 ноября 2010 16:07 · Личное сообщение · #20 |
|
Создано: 19 ноября 2010 16:22 · Личное сообщение · #21 |
|
Создано: 20 ноября 2010 00:01 · Личное сообщение · #22 |
|
Создано: 20 ноября 2010 09:48 · Личное сообщение · #23 |
|
Создано: 21 ноября 2010 13:15 · Поправил: awoland · Личное сообщение · #24 |
|
Создано: 01 декабря 2010 20:16 · Поправил: r_e · Личное сообщение · #25 |
|
Создано: 02 декабря 2010 10:58 · Личное сообщение · #26 |
|
Создано: 07 декабря 2010 14:15 · Поправил: awoland · Личное сообщение · #27 Помогите поправить стек ф-ии ... Вот листинг: Code:
Параметры передаются и возвращаются через регистры. В стеке регистры не сохраняются. Функция объявлена как _usercall: int __usercall sub<eax>(struct1 *a3<ebx>, struct2 *a2<edi>, struct3 *a1<esi>); Интересует строка 03: ".text:FFFF0C72 004 83 EC 44 [u]sub esp, 44h" Как я понял присутсвует Frame Pointer Delta (FPD) ? Как его расчитать, чтобы у IDA не рвало крышу ? |
|
Создано: 07 декабря 2010 14:37 · Поправил: Vamit · Личное сообщение · #28 awoland пишет: Как его расчитать, чтобы у IDA не рвало крышу ? Ctrl+P на начале функции всегда это место проходит правильно. Не вижу срыва крыши. Если же срыв стека идет при автоанализе, то можно сделать ундефайн всей функции и снова Ctrl+F5, в старых ИДа иногда помогало ----- Everything is relative... |
|
Создано: 07 декабря 2010 14:53 · Личное сообщение · #29 Vamit пишет: Ctrl+P на начале функции всегда это место проходит правильно. Не вижу срыва крыши. Если бы всё работало правильно, я не задавал бы этот вопрос и не объявлял бы функцию как _usercall. Код сгенерен GCC в формат PE-executable. А как известно, IDA до сих пор не может правильно разобрать передачу параметров через регистры в GCC коде. В хелпе IDA про FPD вообще невнятно написано: "Sometimes, EBP points to the middle of the stack frame. FPD (frame pointer delta) is used to handle such situations. FPD is the value substracted from the EBP before accessing variables. An example: Code:
In our example, the saved registers area is empty (since EBP has been immediately initialized before saving EBX and ESI). The difference between the 'typical BP' and 'real BP' is 0x78 and this is the value of FPD. After specifying FPD=0x78 the last instruction of the example becomes lea eax, [ebp+78h+var_4] where var_4 = -4 " Откуда взялся FPD=0x78 и как расчитывался если "sub esp, 588h" ? Вот о чём я спрашивал. |
|
Создано: 07 декабря 2010 14:59 · Поправил: Vamit · Личное сообщение · #30 awoland пишет: Откуда взялся FPD=0x78 и как расчитывался если "sub esp, 588h" ? Вот о чём я спрашивал. Теперь более понятно. Но кто тебе мешает вручную задать на первой инструкции функции нужное смещение стеку, а не подгонять стек с помощью конвенции вызова? Alt+K тебе в помощь... PS: Наверняка на функции стоит BP based frame, но это верно только в этом случае .text:00448F67 push ebp .text:00448F68 mov ebp, esp у тебя esp-0х78 отсюда и смещение, если же внутри функции доступ к локальным переменным смешанный через esp и ebp, то поможет только Alt+K в нужных местах или убери галку с BP based frame и отюстируй стек вручную. ----- Everything is relative... |
|
Создано: 16 декабря 2010 13:07 · Поправил: kp0m · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |