Я использую SetWindowsHookEx для внедрения dll в другой процесс. Однако, когда программа инжектора завершает работу, dll выгружается из другого процесса. Можно ли как-нибудь остановить выгрузку? По сути, я хочу, чтобы dll сохранялась постоянно, независимо от того, работает ли программа инжектора. Если я смогу увеличить количество ссылок dll из dll, это может сработать. Но я не нашел способа.
Выгрузка DLL SetWindowsHookEx
09.11.2016
- для увеличения счетчика ссылок dll -
LdrAddRefDll(0, &__ImageBase);
09.11.2016 - Спасибо. Я поместил ваше предложение в Visual Studio, но эти имена не известны. Есть ли включаемый файл, который я должен использовать? 09.11.2016
- объявите его самостоятельно и используйте ntdll.lib 09.11.2016
Ответы:
1
существует 2 способа 1.) наиболее эффективный - используйте LdrAddRefDll - это именно то, что вам нужно в кратчайшие сроки. вам нужно использовать ntdll.lib (или ntdllp.lib) для компоновки.
LdrAddRefDll(0, (HMODULE)&__ImageBase);
2) некрасиво и эффективно, но работает
WCHAR sz[MAX_PATH];
if (GetModuleFileName((HMODULE)&__ImageBase, sz, RTL_NUMBER_OF(sz)))
{
LoadLibrary(sz);
}
09.11.2016
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..