能力值:
( LV5,RANK:60 )
|
-
-
2 楼
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { if (IsProcessInWhiteList()) {
} }
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
叁毛
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
swit ...
@叁毛 if IsProcessInWhiteList() 请问这是函数是什么功能
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
Cohen
@叁毛 if IsProcessInWhiteList() 请问这是函数是什么功能
判断当前进程是不是要放行的,放行的进程不加载此DLL
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
叁毛
判断当前进程是不是要放行的,放行的进程不加载此DLL
可否发这个函数功能出来 不清楚具体怎么写
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
叁毛
判断当前进程是不是要放行的,放行的进程不加载此DLL
帅哥 救命呀
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
帅哥已经给了思路,身下就是白名单和比较而已了。。
|
能力值:
( LV5,RANK:60 )
|
-
-
8 楼
void GetProBaseName(DWORD dwProcessid,WCHAR * szwProBaseName,DWORD len) { if (len <= 0) { return ; }
memset(szwProBaseName,0,len * sizeof(WCHAR)); PROCESSENTRY32 pe = {sizeof(PROCESSENTRY32)}; HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); if (hSnapshot == INVALID_HANDLE_VALUE) { } else { if (!Process32First(hSnapshot, &pe)) { goto Leave; } while (Process32Next(hSnapshot, &pe)) { if (pe.th32ProcessID == dwProcessid) { lstrcpynW(szwProBaseName,pe.szExeFile,len); break; } } } Leave: if(hSnapshot != NULL) { CloseHandle(hSnapshot); } hSnapshot = NULL; }
DWORD dwProcessId = 0; dwProcessId = GetCurrentProcessId(); if (IsInWhiteList(dwProcessId)) { }
static BOOL IsInWhiteList(DWORD dwProcessId) { WCHAR wszProcessName[MAX_PATH]; if (!GetProBaseName(dwProcessId, wszProcessName, _countof(wszProcessName))) { return FALSE; } //比较 }
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
叁毛
void GetProBaseName(DWORD dwProcessid,WCHAR * szw ...
帅哥 貌似都不完整呀
|
|
|