-
istok2 (22.01.09 01:59) [0]winDeffender ругается на наличие WriteProcessMemory в моей дллке. какие есть варианты обхода этого случая?
-
Eraser © (22.01.09 04:00) [1]> [0] istok2 (22.01.09 01:59)
добавить в список исключений дефендера. -
Eraser © (22.01.09 04:01) [2]хотя это поможет только для какого-то конкретного предложения.
-
Сергей М. © (22.01.09 09:33) [3]Смотря в какой ситуации "ругается"
-
istok2 (22.01.09 11:08) [4]
> Смотря в какой ситуации "ругается"
при ручном сканировании дллки как файла либо при ее копировании на комп и включенном мониторе дефендера
точно выявлено что всё дело в вызове WriteProcessMemory
может если зашифровать дллку аспротектом или экзекриптором - это поможет? -
istok2 (22.01.09 11:09) [5]
> добавить в список исключений дефендера.
программно? реально? если да, то у моего процесса есть админские права..
только получается что это надо делать до появления этого файла на компе... -
Сергей М. © (22.01.09 11:27) [6]
> istok2 (22.01.09 11:08) [4]
Возможно что Дефендер сканит модуль на предмет обнаружения явного обращения к этой точке входа по имени.
Тогда достаточно будет исключить эту ситуацию в пользу обращения, например, по ординалу. -
istok2 (22.01.09 12:18) [7]
> Сергей М. © (22.01.09 11:27) [6]
с помощью Dependancy Walker нашел ординал WriteProcessMemory, в висте он 1185 (0x04A1), в разных версиях ОС разный, но это ладно.
вопрос в том, как теперь осуществлять вызов функции длл по ординалу?
пока в сети не нашел ответа на этот вопрос.. -
Сергей М. © (22.01.09 12:26) [8]The GetProcAddress function returns the address of the specified exported dynamic-link library (DLL) function.
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module
LPCSTR lpProcName // name of function
);
Parameters
hModule
Identifies the DLL module that contains the function. The LoadLibrary or GetModuleHandle function returns this handle.
lpProcName
Points to a null-terminated string containing the function name, or specifies the function's ordinal value. If this parameter is anordinal
value, it must be in the low-order word; the high-order word must be zero. -
istok2 (22.01.09 14:46) [9]оказалось, что достаточно было динамически грузить длл и вызывать ф-цию по имени через GetProcAddress - чтоб дефендер перестал ругаться.
выходит, что статическая загрузка оставляет в длл файле читаемые дефендером следы, а динамическая - нет... -
Сергей М. © (22.01.09 16:00) [10]В топку такой дефЕндер.
-
Anatoly Podgoretsky © (23.01.09 11:15) [11]> Сергей М. (22.01.2009 16:00:10) [10]
И программу тоже в топку, плохо пахнет.