PDA

Просмотр полной версии : Вопрос по mscoree.dll из .NET фреймворка


А®ТеS
20.09.2007, 00:16
Народ, короче такая проблема, решил заняться изучением вопроса как передаеться управление CLR в .NET, нашел то что он ипмортирует функцию из mscoree.dll, она получает управление на событие DLL_PROCESS_ATTACH, далее дизассемблировал mscoree.dll получил такой код:
//******************** Program Entry Point ********
:79002C77 837C240801 cmp dword ptr [esp+08], 00000001
:79002C7C 0F8440560000 je 790082C2
Тут, как я понимаю как раз свяреяться на какое событие вызвана DLLEntry библлиотеки и если это DLL_PROCESS_ATTACH, то переход на адрес 790082C2, НО проблема в том что в дизасм листинге, этого адреса нету! Идет такой код:

:790082C1 00E8 add al, ch
:790082C3 05000000E9 add eax, E9000000

И больше нифига, что я делаю не так?

ZaCo
20.09.2007, 00:37
>>что я делаю не так?
возможно ты все делаешь и так. дизассмеблер в отличие от процессора преобразует код в асм-листинг с самого начала; поэтому если идут байты abcd и ab и cd значат какие-то инструкции, то скорее всего дизасм преобразует ab и cd в их человеко-понятные аналоги, часто забывая при этом о возможном значении остальных кодов, к примеру bc и тд.
вроде бы олядбг после перехода по джампу перепреобразовывает листинг в таком случае.

А®ТеS
20.09.2007, 12:19
Хм, вроде в Оле мона ДЛЛ отлаживать, пойду попробую, спасибо!

Shred
20.09.2007, 13:03
советую покурить вот эту книжечку от мега гуру Джеффри Рихтера - CLR via C# http://natahaus.ifolder.ru/851991

0x0c0de
20.09.2007, 17:04
Как это нету?=)


790082BF . C2 0400 RETN 4
790082C2 > E8 05000000 CALL mscoree.790082CC
790082C7 .^ E9 B6A9FFFF JMP mscoree.79002C82


В OllyDbg только надо проанализировать код. С помощью плагина AnalyseThis! или просто Ctrl+A (Analyse code)


вроде в Оле мона ДЛЛ отлаживать


не вроде, а точно=)

А®ТеS
21.09.2007, 00:12
20x0c0de: Я дизасм листинг получал W32DASM'ом))))

Ra$cal
21.09.2007, 17:59
старье =) пора выбросить. все функции, сопоставимые с вдасмом, имеются в олли. для более тяжелых случаев(рип) юзойте иду