我的进程自动加载 ppk.dll
当PPK.DLL被加载的时候,自动建立一个线程;
如下:
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hModule);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)testF,NULL,0,NULL);
}
testF线程如下
void testF()
{
HMODULE hModule =LoadLibrary("svclpk.dll");
if (hModule)
{
}
}
svclpk.dll被加载的时候如下
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if(ul_reason_for_call==DLL_PROCESS_ATTACH){
DisableThreadLibraryCalls(hModule);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
}
return TRUE;
}
severicmain 函数如下
void ServiceMain(LPVOID lpram)
{
LPMSG msg;
do{
if (GetMessage(msg,0,0,0))
{
if (msg->message== WM_QUIT)
break;
TranslateMessage(msg);
DispatchMessage(msg);
}
}while(1);
}
现在的问题是:若这样:
void testF()
{
HMODULE hModule =LoadLibrary("svclpk.dll");
if (hModule)
{
}
}
线程:
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
没有建立起来;
若:
void testF()
{
HMODULE hModule =LoadLibrary("svclpk.dll");
if (hModule)
{
MessageBoxA(NULL,"2","2",MB_OK);
}
}
线程:
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
能正常建立
=========================
我搜索了一些资料。A.DLL需要调用B.DLL,则要看A是显示使用B还是隐式使用B
我的VC++无法生产lib,这个lib大小只有5k,但是我的生成DLL却有50K
如何搞?
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!