百度空间 | 百度首页 
 
查看文章
 
LDump 一个小工具
2009-01-07 21:07

关键词:vc debug release 区别 判断 编译选项 PE 节对齐 工具

新国图二期不错,环境好,MM多,还能免费上网下论文,实在是美不胜收。阳光透过天窗洒在身上,感觉自然不必说,这程序的一部分就是在那儿写的,好坏不论,单是这过程也是享受啊。

下载地址:

http://sites.google.com/site/aiwulu/avengine/Ldump_V1.1.rar?attredirects=0

程序说明:

LDump 是一个对PE文件操作的工具,主要功能如下:

1.识别部分PE文件是的编译选项,区分判断debug,release版本。历来vc编译的程序调试发行版本不好区分,一般采取IDA反编译源码比较识别,我把一些共同的特征提取出来做了这个功能,或许会有所帮助。另外,我还区分了编译器版本(vc6.0 vs2001 vs2003 vs2005 vs2008)、调试版本(debug release)、入口类型(main wmain WinMain wWinMain DllMain)、单线程多线程(Single-Thread Multi-Thread)、连接库(libc libcd libcmt libcmtd msvcrt msvcrtd)的信息。其实这些都是联系在一起的,编译器首先根据代码的入口方式、编译选项编译obj,然后再选择用那个库链接生成pe。说个题外话,刘涛涛的“扭曲变换加密”就是在这个链接库上做的文章,先把lib展开,一个一个变形后重新压成新的lib,然后链接代码就可以了,主代码的obj也需要变换,当然我们不希望看到病毒也这么做。说这么多是因为这些都是反病毒引擎的基础之一,需要深入理解。
2.显示对齐后的节表。
3.生成虚拟地址和物理地址相同的新文件,免去分析文件时地址转换的繁琐。


示例:

命令:ldump localui.dll
File Type             PE VS2001 Release DllMain Multi-T libcmt.lib

命令:LDump test.exe
#   Name          VirtSize    RVA     PhysSize Phys off Flags
-- --------      -------- -------- -------- -------- --------
00 UPX0          0000E000 00001000 00002E00 00000400 E0000080 [ERUW]
01 UPX1          00003000 0000F000 00002E00 00000400 E0000040 [EIRW*]
02 UPX2          00001000 00012000 00000200 00003200 C0000040 [IRW]

命令:LDump /l test.exe 后生成test.exe_文件,节表如下
#   Name          VirtSize    RVA     PhysSize Phys off Flags
-- --------      -------- -------- -------- -------- --------
00 UPX0          0000E000 00001000 0000E000 00001000 E0000080 [ERUW]
01 UPX1          00003000 0000F000 00003000 0000F000 E0000040 [EIRW*]
02 UPX2          00001000 00012000 00001000 00012000 C0000040 [IRW]


类别:病毒分析 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
2
2009-08-18 18:00 | 回复
好久没更新了,等待看到最新的研究。
 
5
2009-08-28 16:19 | 回复
最近没啥进展,惭愧惭愧,炒炒冷饭吧,64反汇编是以前问的比较多的问题。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu