| Посл.ответ |
Сообщение |
|
Создано: 8 августа 2008 18:53:50 Личное сообщение #1
Здесь предлагаю обмениваться опытом использования, настройки этой тулзы.
Сегодня в Options->Color настроил основное окно дизассемблера все в старом классическом стиле Borland ща стало или в стиле Far(для справки первая версия была написана на Borland C++), но когда подносишь курсор на jne\je то в хинте появляется фон бежевый. Вот никак не могу найти место где это настраивается?! Может кто шарит ? )
----- My love is very cool girl.
|
|
|
Создано: 3 июня 2009 12:44:30 · Поправил: Hexxx Личное сообщение #2
reverser пишет: http://hexblog.com/2009/06/ida_pro_55_goes_alpha.html Windows Crash dump support: IDA now accepts MS Windows Crash dump files. Load the crash dump file and IDA Pro will create a database with the memory contents of the crash (if they were included).Бугага. Седня запостю на xtin загрузчик минидампов винды для 5.2
----- Реверсивная иженерия - написание кода идентичного натуральному |
|
Создано: 3 июня 2009 17:40:02 Личное сообщение #3
Ладно хоть докинг начали делать, а то мне без него не удобно )
----- My love is very cool girl.
|
|
Создано: 4 июня 2009 01:50:16 Личное сообщение #4
а можнов в IDC потипу Patch* делать call какойто процедуры из открытого в IDA исполняемого файла? (x86)
и еще вопрос никто не встречал реализацию(емуляцию) в IDC аналога CPU x86? зы в планиге на С++ я знаю/видел
|
|
Создано: 21 июня 2009 11:52:20 Личное сообщение #5
Hexxx, куда запостите? xtin это что?  загрузчик минидампов в иду ой как пригодится в хозяйстве.
|
|
Создано: 21 июня 2009 12:16:23 Личное сообщение #6 |
|
Создано: 26 июля 2009 14:21:15 · Поправил: reversecode Личное сообщение #7
никто не сталкивался как восстановить стековые переменные r,s в функции после того как они случайно затерлись?
из за них хекс рейс не хочет работать нивкакую
либо стукните мне в личку у кого есть купленная IDA что бы сформулировать вопрос ильфаку а то уже этот глюк затянулся сильно...
|
|
Создано: 26 июля 2009 21:56:38 Личное сообщение #8
r - адрес возврата s - сохраненный EBP. Играйся с настройками стекового фрейма.
----- Реверсивная иженерия - написание кода идентичного натуральному
|
|
Создано: 26 июля 2009 23:15:03 · Поправил: reversecode Личное сообщение #9
как играться? мне их восстановить надо редактирование функции результата что то не дает(Alt+P)
хм каким то образом исправилось если включить а потом отключить BP стек бейсет
|
|
Создано: 27 июля 2009 07:15:55 Личное сообщение #10
Вот задался вопросом в форуме "Вопросы новичков": "Дизассемблировал прогу Идой. Для дальнейшей работы за неимением uni.inc файла соответствующие юникодовые переменные переделываю ручонками. Но надоело. Подскажите, пожалуйста, выход из этой дурацкой ситуации." Но ответа не получил. Может здесь подскажут, что делать?
|
|
Создано: 27 июля 2009 11:18:06 Личное сообщение #11
Neuch____ пишет: Вот задался вопросом в форуме "Вопросы новичков": "Дизассемблировал прогу Идой. Для дальнейшей работы за неимением uni.inc файла соответствующие юникодовые переменные переделываю ручонками. Но надоело. Подскажите, пожалуйста, выход из этой дурацкой ситуации." Но ответа не получил. Может здесь подскажут, что делать?
При загрузке файла в Иду сними галку с Analysis — Enabled. Затем, когда файл будет загружен, открой меню Options — ASCII string style... и выбери справа (Setup default string type) тип Unicode и после запусти анализ файла (перечернутый зеленый кружок на тулбаре).
|
|
Создано: 27 июля 2009 13:05:47 · Поправил: Neuch____ Личное сообщение #12
kioresk До загрузки файла Analysis — Enabled не нашел. Такая опция есть в Options->General->Analysis -> Enabled Но она действует после загрузки файла Я снял эту опцию, потом нажал на кнопочку "Reanalyze program", и уже далее следовал Вашим инструкциям, но как были unicode, так они и остались. Вы можете меня ткнуть носом в то место, где я портачу? P.S. Понял, как Вы загружали файл, но ничего не изменилось: unicode с макросами так и остались. Выхожу из положения через правую кнопку мыши с последующим выбором "Date" для каждой переменной.
|
|
Создано: 27 июля 2009 14:49:02 Личное сообщение #13
хм возникла другая нипонятка
непонятно почему ида после анализа вставляет посредине функции разделитель ;-------------------- перед разделителем функция инициализации CRT шная списка конструкторов или запуск деструтров незнаю почему оно ей не нравиться но
но хексрейс считает что это конец на этой функции и разбирает код токо до нее
еще хуже этот разрыв ;------------ ида дальше вытягивает рекурсивно до самого начала по всем функциям и анализ соответвено ламаеться
как вариант это залезть hiew ов и перебить в екзе на тех функциях(CRT) retn - поскоку для анализа этого хватит что бы он не разбивал
но может есть более нормальных вариант? никто не встречался с таким?
|
|
Создано: 27 июля 2009 16:15:03 · Поправил: black_parrot Личное сообщение #14
reversecode пишет: но может есть более нормальных вариант? Задать самому конец функции ручками - E.
Neuch____ пишет: Не надо вручную грузить файл, достаточно поставить в General -> Strings -> String Type нужный тип строк, IDA все переанализирует. То же можно сделать через Alt+A. Для вывода только строк нужного стиля в окне Strings сделай Ctrl+U -> Setup и выбирай нужные типы строк.
|
|
Создано: 27 июля 2009 17:02:17 · Поправил: Neuch____ Личное сообщение #15
black_parrot Ничего не помогает: выдача типа unicode 0, <(null)>,0 никуда не пропадает. Выхожу из положения через правую кнопку мыши с последующим выбором "Date" для каждой переменной.
|
|
Создано: 27 июля 2009 17:10:24 Личное сообщение #16
Neuch____ Для начала скажи, что ты хочешь добится, а то я тебя что-то слабо понимаю. На тот вопрос, который ты задал ответ уже дали.
|
|
Создано: 27 июля 2009 17:55:16 · Поправил: Neuch____ Личное сообщение #17
black_parrot Например, в секции данных имеем: aNull_0: unicode 0, <(null)>,0 Его обработка задается в uni.inc, которого у меня нет. Что я делаю: правой кнопкой мыши кликаю по переменной aNull_0 и в выпадающем меню выбираю "Data", которая делает следующую замену: byte_47D058 db 28h ; ( db 0 db 6Eh ; n db 0 db 75h ; u db 0 db 6Ch ; l db 0 db 6Ch ; l db 0 db 29h ; ) db 0 db 0 db 0 Вот это мне и нужно. Но сие действо приходится делать для каждой переменной. Ваши рецепты мне не помогли или я так туп, что не догоняю.
|
|
Создано: 27 июля 2009 18:13:56 Личное сообщение #18
не проще найти макрос unicode гдето в ассемблере или написать самому? неужто вы хотите весь exe перебить в листинг asm и перекомпилять программу? ///кошмар
|
|
Создано: 27 июля 2009 18:43:15 Личное сообщение #19
reversecode У меня их всего по несколько штук встречается, так что проблем нет. Может еще подскажут: ведь не только у меня unicode встречается.
|
|
Создано: 27 июля 2009 18:51:23 Личное сообщение #20
например у меня юникодов на мегабайты... но я не занимаюсь компилированием листингов asm так что увы я токо в оригинальный C/C++ перевожу
спроси на wasm может кто готовый макрос тебе для asm подкинет для юникода
|
|
Создано: 27 июля 2009 18:59:33 Личное сообщение #21
reversecode Мне этого не надо - я знаю, что программа делает и у меня свои сишные болванки. Но эффективную по скорости часть кода, реализованную на ассемблере, вытаскиваю: на C такой скорости не достичь.
|
|
Создано: 27 июля 2009 19:37:18 · Поправил: OKOB Личное сообщение #22
Neuch____ пишет: Вот это мне и нужно. Но сие действо приходится делать для каждой переменной.
по Shift+F2 (IDC command...) вставь следующий скрипт и выполняй его повторно
auto ea; ea=ScreenEA(); ea=FindText(ea, SEARCH_DOWN, 0, 0, "unicode"); if(ea!=BADADDR) { Jump(ea); MakeData(ea, FF_BYTE, 1, 0); }
или запиши клавиатурный макрос и прицепи его на кнопку, например: по Alt+T вводишь поиск строки "unicode", дальше Alt- Ctrl+Z Ctrl+T Alt+D B Alt+
Макрос будет на Ctrl+Z и выполняет поже что и скрипт
|
|
Создано: 27 июля 2009 19:46:16 Личное сообщение #23
OKOB Большое Вам спасибо.
|
|
Создано: 27 июля 2009 22:02:43 Личное сообщение #24
Neuch____ пишет: До загрузки файла Analysis — Enabled не нашел. Такая опция есть в Options->General->Analysis -> Enabled Но она действует после загрузки файла Я снял эту опцию, потом нажал на кнопочку "Reanalyze program", и уже далее следовал Вашим инструкциям, но как были unicode, так они и остались. Вы можете меня ткнуть носом в то место, где я портачу? P.S. Понял, как Вы загружали файл, но ничего не изменилось: unicode с макросами так и остались. Выхожу из положения через правую кнопку мыши с последующим выбором "Date" для каждой переменной. Пардон, я тебя неправильно понял, думал тебе наоборот надо было чтобы все строки в юникоде отображались.
|
|
Создано: 28 июля 2009 09:48:51 Личное сообщение #25
Neuch____ Думаю, проще будет не править то, что создала IDA, а просто не создавать UNICODE-строки в начальной стадии автоанализа: загружаешь файл в IDA - Kernel Options2 -> Check for unicode strings, убираешь флажок.
|
|
Создано: 30 июля 2009 00:31:21 Личное сообщение #26
Neuch____
В старых версиях Иды не было инклуда uni. inc. И в начале .asm печатался следующий макрос:
unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm
Это оно ?
|
|
Создано: 30 июля 2009 08:37:37 · Поправил: Neuch____ Личное сообщение #27
svladim Я на просторах инета нашел следующий код: unicode macro string irpc _x,<string> db '&_x&', 0 endm dw 0 endm Но он работал криво. Ваш код явно полней. Спасибо: попробую и отпишусь.
P.S. Попробовал: для строки с кодом unicode 0, <">,0 выдает ошибку: 1.asm(847807) : error A2003:extra characters after statement unicode(1): Macro Called From 1.asm(847807): Main Line Code
|
|
Создано: 30 июля 2009 10:00:21 Личное сообщение #28
svladim пишет: unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm
Neuch____ пишет: Попробовал: для строки с кодом unicode 0, <">,0 выдает ошибку:
В макро от svladim потерян один символ конкатенации '&' для закрывающего апострофа
unicode macro page,string,zero irpc c,<string> db '&c&', page endm ifnb <zero> dw zero endif endm
|
|
Создано: 30 июля 2009 10:34:17 Личное сообщение #29
OKOB Я это заметил: сравнил с кодом, который у меня был. Но ошибка та же вылезает.
|
|
Создано: 30 июля 2009 10:48:09 Личное сообщение #30
unicode 0, <''>, 0 1 irpc c,<''> 1 db '&c&', 0 1 endm 2 db ''', 0 aaa.asm(25) : error A2046: missing single or double quotation mark in string MacroLoop(1): iteration 1: Macro Called From unicode(3): Macro Called From aaa.asm(25): Main Line Code 2 db ''', 0 aaa.asm(25) : error A2046: missing single or double quotation mark in string MacroLoop(1): iteration 2: Macro Called From unicode(3): Macro Called From aaa.asm(25): Main Line Code 1 ifnb <0> 00000033 0000 1 dw 0 1 endif
Оно рассматривает обрамляющие апострофы для строки как элементы строки. Хочешь сгенерить пустую юникод строку используй unicode 0, <>, 0
|
|
Создано: 30 июля 2009 11:12:44 Личное сообщение #31
OKOB Спасибо, я понял. Но эту строку вставляет дизассемблер: наверняка в uni.inc сейчас другой макрос. Что то ребят жаба задушила из-за этой мелочи.
|