首页
社区
课程
招聘
[原创]显示导入表信息
发表于: 2008-2-24 13:29 6825

[原创]显示导入表信息

2008-2-24 13:29
6825
推荐一个查看导入表的工具

作者:Sunline                lisunlin0@yahoo.com.cn 日期:2008年02月
代码下载:http://download.csdn.net/source/359335

很多Pe工具无法正确显示某些手工构造的Pe文件的导入表(比如用Upack压缩的程序,用LordPe, Stud_Pe, eXeScope等目前都无法正确显示它们的导入表.). 于是抽空写了这个导入表查看程序, 对于编译器生成的, 手工生成的Pe文件的导入表, 都能正确显示.
由于Pe相关的工具已经很多, 功能也很完善, 这个程序仅仅显示导入表, 而且不打算加入其它功能. 这个程序既可以独立运行, 又可被其它程序调用. 调用规则符合PEiD和Stud_Pe, 可以作为Stud_Pe和PEiD的插件, 但你得自己动手把本程序的扩展名改为.dll并放到相应的plugins目录里面(由此可见, PEiD和Stud_Pe.不打算接受exe作为自己的插件 ^&^). 另外本程序也导出一个接口函数
int __stdcall ShowImportAorW(LPVOID lpFileName, BOOL bWide);
可以用以下代码调用:
// test.cpp : a simple to show how to use the function ShowImportAorW() export from ShowImport.exe
//
#include <windows.h>
int main(int argc, char* argv[])
{
        FARPROC  pf = NULL;
        HMODULE hMod = NULL;
        hMod = LoadLibrary("..\\bin\\ShowImport.exe");
        // the interface for PEiD and Stud_PE
        pf = GetProcAddress(hMod, "LoadDll");
        LPSTR pStr = ((LPSTR (*)())pf)();
        pf = GetProcAddress(hMod, "DoMyJob");
        ((DWORD(*)(HWND,char*,DWORD,LPVOID))pf)(NULL, "c:\\windows\\notepad.exe", NULL, NULL);
        // the export founction test
        pf = GetProcAddress(hMod, "ShowImportAorW");
        ((int (__stdcall*)(LPVOID, BOOL))pf)("c:\\windows\\notepad.exe", FALSE);
        ((int (__stdcall*)(LPVOID, BOOL))pf)(L"c:\\windows\\notepad.exe", TRUE);
        FreeLibrary(hMod);
        return 0;
}
如果有本程序无法正常查看导入表的程序,请您一定不要吝啬时间, 寄一份此程序的副本给我, 以便完善此程序.
     

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
有兴趣的朋友可以从http://download.csdn.net/source/368235下载这个包来研究。
2008-3-4 10:26
0
游客
登录 | 注册 方可回帖
返回
//