Здравствуйте! Известно ли кому нибудь о возможности работы программ для ms .NET и использовании ими стандартных .dll-ок. Если я добавляю к такой программе в таблицу импорта нативную библиотеку, то прога перестает запускаться (код 0xc000007b), хотя обычные приложения работают. Такое впечатление что они не совместимы.
- нет Создайте прилождение на с++ c поддержкой дот нет используйте #pragma managed & #pragma unmanaged' или [DllImport] и изучайте
Хорошо, а могу ли я включить эту вновь созданную библиотеку в импорт готового файла из вне, т.е. правкой таблицы импорта уже созданной программы? Спасибо!
Насчет всех не знаю. Не смотрел различия Pure .NET и смешанного. [Про смешанный я имею ввиду си++ с манагед экстеншионз] Посмотрите на различия их.[заголовки и флаги в них] Думаю это быстрее узнать на практике чем искать, учитывая что я написал. Щас я сам попробую попробовать)
Хотел уточнить, чтобы не было недопониманий. Программа на .NET это внешний код к которому я НЕ ИМЕЮ ОТНОШЕНИЯ, мне надо СВОЮ .dll приаттачить к к чужой программе, т.е. в нативном приложении при его загрузке, загрузчик проецирует библиотеки из таблицы импорта вызывая DllEntryPoint, моя цель чтобы приложение на .NET вызвала мой код подобно изложенному выше. Это возможно! Извените, но в .NET я полный профан, о его работе практически ничего не знаю. Надеюсь мы правильно друг-друга поняли.
К примеру можно так: СFF Explorer->Import Adder Сделайте в своей dll экспортируемой DllMain и добавьте в таблицу импорта (опция By Name)
Библиотеки добавленные таким способом делают программу неработоспособной . Но "СFF Explorer" мне очень понравилась, за неё отдельное спасибо!
Попробуйте ребилд PE-хидера или чексума. Вариантов прога предоставляет множество. И кстати проверьте на наличие цифровой подписи, если что удалите сертификат (на кряклабе есть утиль для этого)