Сейчас на форуме: Lohmaty, tyns777, cppasm (+7 невидимых)

 eXeL@B —› Вопросы новичков —› проблема с GetModuleHandle
Посл.ответ Сообщение

Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 24 апреля 2018 22:27
· Личное сообщение · #1

подскажите пожалуйста с такой проблемой
часто использую dll (написанную на Delphi) для подмены кода dotNet приложений.
вкратце смысл dll это подмена getJit функции на свою, где для нужного метода меняется ilcode перед его компиляцией
в 95% случаях все отлично, но в 5% dll не отрабатывает
нашел проблемную строку кода - GetModuleHandle('clrjit.dll');
возвращает 0, код ошибки - 126-The specified module could not be found
смотрю через Olly - dll загружен
пробовал GetModuleHandleW, GetModuleHandleA - не помогает.
закономерности от ОС не нашел. бывает и на win7 и win10 (на последней чаще), разрядность тоже не влияет
куда копать?



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 24 апреля 2018 22:36
· Личное сообщение · #2

Значит в момент вызова GetModuleHandle() она не была подгружена. Используй:
Code:
  1. HMODULE module;
  2.  
  3. module = GetModuleHandle (...);
  4. if (!module)
  5. {
  6.     module = LoadLibrary (...);
  7.     
  8.     if (!module)
  9.     {
  10.         // error
  11.     }
  12. }




Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 24 апреля 2018 22:43
· Личное сообщение · #3

rmn
у меня используется хук на kernel32.dll'-'LoadLibraryW'. каждый раз когда вызывается LoadLibraryW, проверяется GetModuleHandle('clrjit.dll');




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 24 апреля 2018 23:30
· Личное сообщение · #4

zds
Всегда делайте LoadLibrary("clrjit.dll") явно, потом ставьте все хуки.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 25 апреля 2018 09:00
· Личное сообщение · #5

zds пишет:
смотрю через Olly - dll загружен

zds пишет:
у меня используется хук на kernel32.dll'-'LoadLibraryW'

есть еще Ex, т.ч. хукай сразу LdrLoadDll, либо как выше посоветовали




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 28 апреля 2018 02:14
· Личное сообщение · #6

zds

>возвращает 0, код ошибки - 126-The specified module could not be found

Это не ошибка и не её код. Это вообще ничто, вы не способны нормально описать проблему. Используйте поиск.

-----
vx





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 28 апреля 2018 13:10
· Личное сообщение · #7

difexacaw пишет:
Это не ошибка и не её код

Скорее всего ТС получает код ошибки через GetLastError, так что всё норм.

-----
EnJoy!



 eXeL@B —› Вопросы новичков —› проблема с GetModuleHandle
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати