Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Dll в C# 
:(
    Опции темы
alexroot2
Дата 30.3.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



Всем привет.

У меня такая проблема я пишу Dll injection на C#.Тобеж моя Dll должна внедрится в процесс. У меня внедрение в процесс проходит намано но после этого ничего не происходит поидее должна быть какая - то функция типо точка входа, которая после внедрения будет выполняться, но какая я так и не нашел. Я делал Dll на C++ там есть функция DllMain(...){/ * code * /} в нее я писал то что мне нужно было сделать после внедрения и она нормально вызывалась, есть ли что-то подобное на C# ? если можно приведите небольшой пример dll с точкой входа, чтоб она выводила сообщение к примеру
PM MAIL   Вверх
Partizan
Дата 30.3.2009, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



alexroot2, Хотите внедрить managed-dll в unmanaged-процесс?   smile 

Я думаю, что такие фокусы не прокатят smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
alexroot2
Дата 30.3.2009, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



Я не совсем понимаю что имеется в виду "managed-dll в unmanaged-процесс" ?

Я думаю внедрить C# dll вполне возможно, причем дело даже не во внедрении, внедрить то я внедрил dll в процесс,просто после внедрения никакая функция не вызывается.  Дело в том что я не знаю как в C# dll задать явную точку входа.

Единственное что нашел по этому поводу это пример где сталкнулись с такой же проблемой, но там как я понял после долгих раздумий решили не делать dll injection ))))
http://social.msdn.microsoft.com/Forums/en...c-ec964f489db6/

Вообщем надеюсь ктонить ченить подскажет ))
PM MAIL   Вверх
Partizan
Дата 30.3.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Цитата

And there's the problem of getting the CLR loaded and initialized so it can run your managed code.  There's no way to get that done unless the app you are infecting has already loaded the correct version of the CLR.   You'll need to write unmanaged C/C++ code and something like SetWindowsHookEx() to get your code activated.



alexroot2, это именно то, о чём я говорю...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
alexroot2
Дата 30.3.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



Тобеж как я понял кроме как C/C++ + hook ничего не выйдет. 
Отстойно )) у меня проект просто на C# написан и переписывать его на C++ Это очень жестоко. 
PM MAIL   Вверх
Partizan
Дата 30.3.2009, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



alexroot2, ну там говорится, что для того, чтобы сделать managed-код работоспособным, надо, чтобы приложение, в которое внедряется dll-ка каким-то макаром загрузило нужную версию CLR(в зависимости от того какая версия нужна DLL-ке)

то бишь если на машине не установлен .NET, либо установлен, но более ранней версии, то ничего у Вас не выйдет.


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
-Mikle-
Дата 31.3.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



static void Main() { } - не работает? Вроде при компиляции dll по умолчанию эта ф-ия считается точкой входа... я говорю в принципе, не про внедрение конкретно...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
alexroot2
Дата 31.3.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



-Mikle-, нет к сожалению не работает, я уже че только не пробывал и в конструктор класса запихивал код, нихрена не работает (( 
PM MAIL   Вверх
Partizan
Дата 31.3.2009, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



alexroot2, ну конечно не будет работать smile Говорят же CLR нужно загрузить)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
alexroot2
Дата 31.3.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



Partizan  , ты знаешь как это сделать? ))) ото я чето по гуглу полазил и ничего особо не понял ((
PM MAIL   Вверх
Partizan
Дата 31.3.2009, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



alexroot2, не....я извращениями крайне редко занимаюсь...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Idsa
Дата 31.3.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 14
Всего: 62



alexroot2, не верю, что нет инфы по этой теме. Dll injection - это же тааак классно smile Вот, например: http://www.google.ru/search?hl=ru&clie...mp;aq=f&oq=


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
alexroot2
Дата 31.3.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2009

Репутация: нет
Всего: нет



Partizan, пасиб за помощь, буду чехлить

Idsa, спасибо за ссылку вроде че-то нашел, ща буду разбираться. 
 
Цитата

Dll injection - это же тааак классно

согласен на все 100 % ))).  Только как я понял за последние несколько дней C# в этом вопросе не рулит (((
PM MAIL   Вверх
Idsa
Дата 31.3.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 14
Всего: 62



Цитата(alexroot2 @  31.3.2009,  17:07 Найти цитируемый пост)
Только как я понял за последние несколько дней C# в этом вопросе не рулит

Ну дык. Не очень популярное это явление? Для того, чтобы подцепить маленькую сборочку, приходится загружать такую дуру (я про CLR). Как-то не по-кулхацкерски это smile
А то, что это возможно, - факт
1. Word, Excel (наверное, и другие программы, составляющие Office) умеют работать с managed-плагинами
2. Sql Server позволяет писать хранимки и функции на .NET

Это сообщение отредактировал(а) Idsa - 31.3.2009, 13:16


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Partizan
Дата 31.3.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Цитата

Как-то не по-кулхацкерски это


Для работы вируса необходим .NET версии 3.0  или более поздней (с)  smile 


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0845 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.