能力值:
( LV2,RANK:10 )
|
-
-
76 楼
还是不错的,不过还个小问题 为什么每次调试 都提示正在调试另一个进程呢
|
能力值:
( LV9,RANK:165 )
|
-
-
77 楼
支持一个!!
|
能力值:
( LV2,RANK:10 )
|
-
-
78 楼
牛人啊,天外天,王中王
|
能力值:
( LV2,RANK:10 )
|
-
-
79 楼
感谢大牛分享 好源码
|
能力值:
( LV2,RANK:10 )
|
-
-
80 楼
下载 收藏 谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
81 楼
下载,学习。楼主人
|
能力值:
( LV12,RANK:400 )
|
-
-
82 楼
下载学习。。
|
能力值:
( LV2,RANK:10 )
|
-
-
83 楼
有码有真相,楼主辛苦了。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
84 楼
楼主很强大
|
能力值:
( LV2,RANK:10 )
|
-
-
85 楼
mark
|
能力值:
( LV2,RANK:10 )
|
-
-
86 楼
简约而不简单 赞
|
能力值:
( LV2,RANK:10 )
|
-
-
87 楼
感谢楼主分享
|
能力值:
( LV4,RANK:50 )
|
-
-
88 楼
路过,来看看
|
能力值:
( LV2,RANK:10 )
|
-
-
89 楼
发现这份代码的一个bug(没有解除文件映射),在xp系统下运行没问题,在win7下回有问题
//映射文件 并检查PE有效性以及是不是EXE文件 BOOL CEasyDbgDlg::MapPEFile() { HANDLE hFile=NULL; //打开文件获得文件句柄 //CreateFile(pFileName, GENERIC_WRITE, 0, NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); hFile=CreateFile(m_SzFilePath,GENERIC_ALL,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile==INVALID_HANDLE_VALUE) { OutputDebugString("EasyDbgDlg.cpp 3424行出错"); DWORD dwErrorCode=0; dwErrorCode=GetLastError(); //输出错误信息 GetErrorMessage(dwErrorCode); return FALSE; } HANDLE hFileMap=NULL; //创建文件映射 hFileMap=CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,0,NULL); if (hFileMap==NULL) { OutputDebugString("EasyDbgDlg.cpp 3437行出错"); DWORD dwErrorCode=0; dwErrorCode=GetLastError(); GetErrorMessage(dwErrorCode); CloseHandle(hFile); return FALSE; } //映射文件 // pFile=(char*)MapViewOfFile(hFileMap,FILE_MAP_ALL_ACCESS,0,0,0); LPVOID lpImageBase = MapViewOfFile(hFileMap,FILE_MAP_ALL_ACCESS,0,0,0); if (lpImageBase==NULL) { OutputDebugString("EasyDbgDlg.cpp 3448行出错"); DWORD dwErrorCode=0; dwErrorCode=GetLastError(); GetErrorMessage(dwErrorCode); CloseHandle(hFile); CloseHandle(hFileMap); return FALSE; }
//判断PE有效性 PIMAGE_DOS_HEADER pDos=NULL; pDos=(PIMAGE_DOS_HEADER)lpImageBase; PIMAGE_NT_HEADERS pNt=(PIMAGE_NT_HEADERS)((BYTE*)lpImageBase+pDos->e_lfanew); //检查MZ PE 两个标志 if (pDos->e_magic!=IMAGE_DOS_SIGNATURE || pNt->Signature!=IMAGE_NT_SIGNATURE) { AfxMessageBox("不是有效的PE文件"); CloseHandle(hFile); CloseHandle(hFileMap); UnmapViewOfFile(lpImageBase); return FALSE; } if (pNt->FileHeader.Characteristics&IMAGE_FILE_DLL) { AfxMessageBox("该文件是DLL,EXE文件"); CloseHandle(hFile); CloseHandle(hFileMap); UnmapViewOfFile(lpImageBase); return FALSE; } CloseHandle(hFile); CloseHandle(hFileMap); UnmapViewOfFile(lpImageBase); return TRUE; }
|
能力值:
( LV2,RANK:10 )
|
-
-
90 楼
非常感谢,很想给一个“致谢”,但是没看到致谢按钮,郁闷中……
|
|
|