首页
社区
课程
招聘
[原创]发布PE格式简易解析器V1.0(含源码)
发表于: 2009-4-22 00:58 14119

[原创]发布PE格式简易解析器V1.0(含源码)

2009-4-22 00:58
14119
收藏
免费 7
支持
分享
最新回复 (36)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
报表不错,感谢分享
2009-5-15 19:15
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
27
LZ犯了一些小错误.修改一下就可以了.

1.ExplorerPEDlg.cpp,288行,因为资源不是0终结的

stringT strT = m_pPE->GetStringFromBuffer( lpTemData );
改成
stringT strT = m_pPE->GetStringFromBuffer( lpTemData,::SizeofResource(NULL, hrsc));

2.PEAnalysis.h,149行

stringT GetStringFromBuffer( LPCSTR buf ) const;
改成
stringT GetStringFromBuffer( LPCSTR buf ,int len=-1) const;//默认-1,这样大多数0终结的情况无需修改

3.PEAnalysis.cpp 对应的函数实现改成如下
stringT CPEAnalysis::GetStringFromBuffer( LPCSTR buf,int len/*=-1*/ ) const
{
        stringT strRet=_T("");
        if( buf == NULL ) return strRet;
#ifdef _UNICODE
        DWORD dwLen;
        LPWSTR lpszStr = NULL;
        dwLen = MultiByteToWideChar (CP_ACP, 0, buf, len, NULL, 0);
        lpszStr = new WCHAR[dwLen+1];
        if ( lpszStr )
        {
                memset(lpszStr, 0, dwLen*sizeof(WCHAR));//返回的是字符数,不是字节数,所以应该*sizeof(WCHAR)
                MultiByteToWideChar (CP_ACP, 0, buf, len, lpszStr, dwLen);
                strRet = lpszStr ;
                delete [] lpszStr;
                lpszStr = NULL;
        }
#else       
        strRet = stringT( buf );
#endif               
        return strRet;
}
2009-5-22 10:50
0
雪    币: 244
活跃值: (69)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
28
To morning:

感谢修改,谢谢。
2009-5-22 11:05
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
thanks for share...
2009-5-22 11:07
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
看来楼主很费心啊。只是很不错。赞一个!!!
2009-5-22 14:12
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
31
那个报表做得不错,赞。
如果可以打分的话,我给你打满分。
2009-5-22 20:47
0
雪    币: 217
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
注释真详细..除了一些类型不匹配的问题.直接编译成功...

非常好用.多谢分享...
2009-5-23 09:41
0
雪    币: 217
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
建议:
(1)去掉/wp64 编译选项;
(2)用std::vector<TYPE>::size_type 作为循环变量类型.. 代替int
2009-5-23 09:50
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
东西不错,就是小错误瞒多地
2009-6-23 21:50
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
36
做的很不错,支持
2009-6-24 21:36
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
37
看代码  似乎很用心  支持       多写点代码放出来吧  呵呵
2009-6-25 13:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
楼主的共享不错,有时间,我想把它做成VC6的;如果可能,还会加一些功能。
希望能互相联系。
2009-6-25 16:46
0
游客
登录 | 注册 方可回帖
返回
//