Приветствую! Хочу сделать инжект своей длл в игрушку под директ икс. Но вот в чем проблема: во все не DX процессы внедряется, а в те которые на directX нет. Даже в тестовый пример из DXSDK не хочет внедряться( В чем может быть дело?
n0name Вроде все игры по умолчанию оконные WIN32 Я бы с удовольствием руками, но! Допустим, на игре такая защита safedisk. Если я запускаю экзе, то тот в свою очередь создает еще один, и он является игрой. И как в него внедрять? Думал, что нашел наипростейший способ и такая фигня Самое интересное в игру на OpenGL внедряется, в DX - нет
Либы, прописанные в AppInit_DLLs, загружаются вместе с user32.dll. Так что если его в статическом импорте нету и грузиться она не собирается, то ничего и не подгрузится.
HoBleen Посмотрел: user32.dll есть в таблице. Но не грузится и всё тут. Мля, неохота драйвер писать...
WIN32 Я и внедряю в процесс Нахрен мне файл Мне нужно, чтобы моя дллка была в нужном мне процессе. Метод не имеет значения.
Можно подменить еще D3D9.DLL и другие (Кладешь в директории с игрой) пишешь свою - там одна экспортируемая функция при загрузке загружаешь оригинал из System32. 100% работает.
странно.. на моем сп1 этот ключик работает и для консольных приложений, и для приложений, не использующих импорт вообще..
Проверил ключик на 2-х компах с xpsp2. В общем, в dx приложение НЕ внедряется. Во все остальное - все отлично Проблему решил след. образом: Внедряю свою дллгу в процесс, который запускает другой. В дллге перехватываю CreateProcessA(W), и внедряю по-новой, а в длл проверяю, нужный ли это мне процесс. CnCVK Все таки лучше НЕ заменять D3D9.DLL,а внедрять свою, т.к. приложение может использовать функции, которые ты не учитываешь