-
-
[旧帖] [求助]LOAD_DLL_DEBUG_EVENT得不到所有的DLL? 0.00雪花
-
发表于: 2009-7-7 16:21 3178
-
OD里可以看到所有的DLL,为什么用如下的代码得不到所有的DLL??只能截到一部分,是怎么回事啊?
在看雪这里复制的,http://www.pediy.com/bbshtml/BBS5/pediy50371.htm
BOOL GetDllName(HANDLE hProcess, LPLOAD_DLL_DEBUG_INFO lddi, LPSTR dll_name, int nSize)
{
LPVOID ptr = 0;
ReadProcessMemory(hProcess, lddi->lpImageName, &ptr, sizeof(ptr), NULL);
if( ptr == 0 ) return FALSE;
WCHAR dll_name_u[MAX_PATH + 1] = {0};
ReadProcessMemory(hProcess, ptr, dll_name_u, sizeof(dll_name_u), NULL);
if( dll_name_u[0] == 0 ) return FALSE;
if( lddi->fUnicode )
wcstombs(dll_name, dll_name_u, nSize);
else
lstrcpyn(dll_name, (LPSTR)dll_name_u, nSize);
return TRUE;
}
在看雪这里复制的,http://www.pediy.com/bbshtml/BBS5/pediy50371.htm
BOOL GetDllName(HANDLE hProcess, LPLOAD_DLL_DEBUG_INFO lddi, LPSTR dll_name, int nSize)
{
LPVOID ptr = 0;
ReadProcessMemory(hProcess, lddi->lpImageName, &ptr, sizeof(ptr), NULL);
if( ptr == 0 ) return FALSE;
WCHAR dll_name_u[MAX_PATH + 1] = {0};
ReadProcessMemory(hProcess, ptr, dll_name_u, sizeof(dll_name_u), NULL);
if( dll_name_u[0] == 0 ) return FALSE;
if( lddi->fUnicode )
wcstombs(dll_name, dll_name_u, nSize);
else
lstrcpyn(dll_name, (LPSTR)dll_name_u, nSize);
return TRUE;
}
赞赏
他的文章
- [求助]硬件断点的问题 3055
- [求助]如何修改第三方程序的类名? 2895
- [求助]如何远程卸载DLL? 4314
- [求助]debugactiveprocess 可以同时调试两个进程吗? 3498
- [求助]如何准确的下断? 2949
看原图
赞赏
雪币:
留言: