Сейчас на форуме: -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. |
|
Создано: 19 января 2010 04:10 · Поправил: -=Hellsing=- · Личное сообщение · #2 OKOB пишет: Ну наверное PDB файла Да именно PDB файл я это и хотел сказать, но ошибся с названием. OKOB пишет: И каким это боком касается "PDP-11 — серия 16-разрядных мини-ЭВМ компании DEC, серийно производимых и продаваемых в 1970—80-х годах." Да, наверное, не каким, c Английским туговато, а в справке к Иде когда делаю запрос PDB, то поисковик в справке там что-то выдаёт об этом процессоре. Archer пишет: Но генерит ли при этом PDB-не ясно. Генирурует только вот потом IDA pro, PDB, и исходник не видит, в Олю исходник сразу грузиться если есть PDB . |
|
Создано: 19 января 2010 06:34 · Личное сообщение · #3 |
|
Создано: 19 января 2010 08:06 · Личное сообщение · #4 |
|
Создано: 19 января 2010 08:16 · Личное сообщение · #5 |
|
Создано: 11 февраля 2010 21:49 · Личное сообщение · #6 в Иде получаю такой код Code:
jmp dword_74E1A8 это вызов функции 007D9D18 007DAEC0 6334 ? UpdateData@CWnd@@QAEHH@Z MFC42 возможно ли вместо dword_74E1A8 вписать функцию и как если возможно? ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 11 февраля 2010 22:59 · Личное сообщение · #7 |
|
Создано: 12 февраля 2010 11:10 · Личное сообщение · #8 Видимо я неправильно сформулировал задачу. По N у меня просто происходит переименовывание sub_60761A в UpdateData@CWnd@@QAEHH@Z Code:
а мне нужно что бы прыжок указывал именно на вызов функции, которая находится в списке импортируемых 007D9D18 007DAEC0 6334 ? UpdateData@CWnd@@QAEHH@Z MFC42 а в таком виде я на нее не выхожу, хотя именно она вызывается по джампу(проверено в Оле) ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 12 февраля 2010 14:02 · Личное сообщение · #9 gena-m пишет: а мне нужно что бы прыжок указывал именно на вызов функции, которая находится в списке импортируемых 07D9D18 007DAEC0 6334 ? UpdateData@CWnd@@QAEHH@Z MFC42 а в таком виде я на нее не выхожу, хотя именно она вызывается по джампу(проверено в Оле) Ну и как такое может быть, что-то не вяжется? Code:
Если я правильно понял, судя, по твоему вопросу у тебя в Оле этот джамп указывает на начало функции, которая начинается по адресу 00x7D9D18 , а в, иде тот же джамп не попадает на начало функции, которая начинается по адресу 00x7D9D18 в том же файле так? Ида в отличие, от Оли те, джампы которые, распознаёт, старается дать им более осмысленные имена, к примеру, в Оли это выглядит так jmp 00x7D9D18 в виде адреса, а ида решила, что этот джамп является, переходам ,на начало функции под названием jmp UpdateData@CWnd@@QAEHH@Z и в место адреса 00x7D9D18, подставила название UpdateData@CWnd@@QAEHH@Z .( UpdateData Калласс (MFC) ). Имхо: Нужно проделать с начало то, что ты уже проделал, стать на UpdateData@CWnd@@QAEHH@Z Code:
И нажать N и подставить вместо названия UpdateData@CWnd@@QAEHH@Z, адрес 00x7D9D18 чтобы было так как в Оле. И в кометах над адресом 00x7D9D18 написать UpdateDat::CWnd Другой вариант можно просто в наглую в Ида запатьчить этот переход с jmp UpdateData@CWnd@@QAEHH@Z на, jmp 00x7D9D18, предварительно настроив, иду для патчинга в idagui.cfg найти строчку DISPLAY_PATCH_SUBMENU = NO, и заменить с NO на YES. Ну а потом зайти в Edit->Patch program->Assemble… и запотчить это джамп , чтобы он указывал на начала адреса функции которая тебе нужна. |
|
Создано: 12 февраля 2010 23:30 · Личное сообщение · #10 Да это уже ближе но сделал по другому зашел в импорт выделил эту функцию отрыл кросрефренс и добавил в нем ссылку с адреса 60761A на эту функцию появился коментарий CWnd::UpdateData(int) зарем стоя на этом джампе правой клавишей мыши выбрал ручной режим редактирования и прописал адрес 007DAEC0(этот адрес в списке импорта) и все стало на свои места .text:0060761A jmp 007DAEC0 ; CWnd::UpdateData(int) и комент на месте и навожу курсор на джамп - показывает extrn ?UpdateData@CWnd@@QAEHH@Z:dword и по интеру на нее выхожу - даааа уж. Спс всем. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 17 февраля 2010 09:41 · Личное сообщение · #11 В программе используется два вида вызова функций Code:
через переходник .text:0060761A jmp UpdateData; CWnd::UpdateData(int) дальше идет UpdateData dd 73D96A17h это адрес функции либо сразу text:0074E67C Time__ dd 77C3AEA3h когда иду в импорт там эти функции соответственно располложены .idata:007DAEC0 ; public: int __thiscall CWnd::UpdateData(int) .idata:007DAEC0 extrn ?UpdateData@CWnd@@QAEHH@Z:dword .idata:007DB394 ; time_t __cdecl time(time_t *Time) .idata:007DB394 extrn time:dword можно ли мне сразу указать вместо .text:0047F288 call вызываемая функция .text:0047F28F call time можно ли так делать и не вызовет ли эта подстановка ошибок в дальнейшем дизассемблировании? ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 17 февраля 2010 18:29 · Поправил: DenCoder · Личное сообщение · #12 В смысле, Вы хотите, вместо sub_смещение использовать более осмысленное название? Если да, то можно. Два способа: 1) Ставите курсор на любое место, где символическое имя этой функции, нажимаете N и меняете название 2) Ставите курсор в любое место в теле функции, нажимаете Alt - P и меняете название Ошибок такая подстановка не вызывает, все автоматически изменится во всех местах, где используется обращение к этой функции. Но, в первом вызове, call j_UpdateData, замена будет неправильной, поскольку префикс j_ используется для функций-переходов и такая подмена немного, хоть и несущественно, изменила бы структуру читаемого кода. ----- IZ.RU |
|
Создано: 18 февраля 2010 17:47 · Личное сообщение · #13 Code:
в строке .text:004802F1 call dword ptr [edx+38h] ; ?GetLength@CInternetFile@@UBEKXZ вызывается функция, которая загружается после запуска программы, ее в импорте нет, возможно ли ее занести в список импорта, что бы можно было на нее ссылаться, а не только коментарии делать. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 18 февраля 2010 18:13 · Личное сообщение · #14 |
|
Создано: 19 февраля 2010 00:12 · Личное сообщение · #15 |
|
Создано: 22 февраля 2010 18:00 · Поправил: DenCoder · Личное сообщение · #16 Один из блоков ссылается на другой блок и этот блок за пределами функции. Граф к нему не проведен. Можно ли в Ida 5.5 Pro включить блок в состав функции и добавить граф к нему? Или только Re-analyze с большим количеством нодов поможет? ---------------------------------------------------- Удалил 2 функции и создал заново. Получилось, блок вписался как FUNCTION CHUNK, но указатель стека 0, когда блоком выше - 68. Можно как-нибудь правильней сделать? ----- IZ.RU |
|
Создано: 07 марта 2010 00:14 · Личное сообщение · #17 Программа(обсидиум) генерирует исключение, неважно как, затем управление передается в обработчик, который выполняет некоторый код, затем управление переходит к слдедующему блоку кода, который создается в дополнительной секции(его нет в сегментах, но я его добавляю) затем управление по RET передается обратно к генерации исключения. Все эти блоки связаны обработчиком исключений. Вопрос: как мне лучше связать эти блоки в IDA (например JMP или CALL), чтобы можно было видеть общую логику работы программы, поделитесь как вы эти конструкции реализуете? Второй вопрос по IDC, при выполнении например PatchDword(0x79e0d7, 0x0000EB01), будут выброшены ноли, стоящие вначале 0000EB01, приходится патчить побайтно , как можно вставить все число Dword 0000EB01. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 11 марта 2010 11:05 · Личное сообщение · #18 |
|
Создано: 11 марта 2010 11:13 · Личное сообщение · #19 |
|
Создано: 11 марта 2010 11:36 · Личное сообщение · #20 |
|
Создано: 11 марта 2010 17:56 · Поправил: gena-m · Личное сообщение · #21 |
|
Создано: 11 марта 2010 20:48 · Поправил: SER[G]ANT · Личное сообщение · #22 gena-m пишет: Если у кого есть, дайте пож. pe_dlls.idc... 86e8_11.03.2010_CRACKLAB.rU.tgz - pe_scripts.zip |
|
Создано: 11 марта 2010 23:53 · Личное сообщение · #23 |
|
Создано: 12 марта 2010 05:46 · Личное сообщение · #24 |
|
Создано: 12 марта 2010 08:16 · Личное сообщение · #25 |
|
Создано: 16 марта 2010 22:58 · Поправил: mak · Личное сообщение · #26 Как можно в иде сделать из такого кода Code:
и адресация Code:
где 66h ничто иное как указатель на Code000:00000063 то есть на переходники указанные в первом примере. Вопрос такой , как сделать в иде из первого примера структуру с сохранением зависимости офсета + переход ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 17 марта 2010 22:36 · Личное сообщение · #27 Я, примерно в такой ситуации, делаю следующее: в коментарии к mov byte ptr [ebx], 66h пишу ;Code000:00000021 затем открываю кронсрефренс стоя на этой строке и пишу в поле from Code000:0000060F тип перехода offset в результате можно стоя на строке Code000:0000060F при наведении на коментарий видеть прыжки и делать переходы на прыжки и обратно. Структуру, по моему, сделать не получится (в том виде, в каком поставлена задача)поскольку для структуры нужен тип - данные,а не код, нужно будет перевести все прыжки в данные и мнемоники будут потеряны. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 03 апреля 2010 10:44 · Поправил: gena-m · Личное сообщение · #28 Ка убрать это разделитель в середине функции ? Code:
Да, дествительно, разобрался с процедурой call sub_11BEFC4 ( тип прередачи и количество параметров) и все стало на свои места: Code:
Спасибо progopis ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 03 апреля 2010 10:46 · Личное сообщение · #29 |
|
Создано: 03 апреля 2010 11:22 · Поправил: gena-m · Личное сообщение · #30 Как раз из за этого путается весь анализ, заполнение импорта у аспра и так запутан, а из за этих разделителей в каждой фнукции у меня получаются все эти блоки записи импорта висят отдельно и непонятно каким путем идет программа программа, короче получается трудно восстановить логику работы модуля. На скрине внизу эти два блока висят в воздухе, хотя к ним ведут разные ветки. Но хуже всего, получается если я становлюсь на любую из них то попадаю в одну и туже процедуру, хотя это разные направления. b01e_03.04.2010_CRACKLAB.rU.tgz - 1.JPG ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше |
|
Создано: 03 апреля 2010 12:58 · Поправил: reversecode · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 50 . 51 . >> |
eXeL@B —› Основной форум —› Использование IDA Pro |
Эта тема закрыта. Ответы больше не принимаются. |