这两天写的一个PE查看器,附件里的代码缺少的部分可以到软件保护结题资源那个帖子去找。
这个小程序是命令行的 把结果输出的XML文件里。
用法如下:
xanalyzer -peview  PE浏览器选项
/peh 打印PE头
/pshs 打印节头
/pet 打印输出表
/pit 打印输入表
/prst 打印资源表
/prlt 打印重定位表

xanalyzer -dump 转存选项
/dp 0x11 转存从文件开头 长度0x11字节的内容
/dpe 0x22 转存从入口点代码 长度0x22字节的内容

xanalyzer -disasm 反汇编选项
/dis 反汇编
/att 以ATT语法反汇编,默认为INTEL

xanalyzer -analyze 分析选项
/cval (1-4)个数字  4个数字用来确定有效地址的级别1级最宽松,4级最严格 
/dioid 关闭视无效代码为数据
/mcs 7 最小代码长度为7 也就是说如果分析出一篇内存,如果小于7则直接以数据对待
/nine 以nop指令作为函数的结尾标志
/iine 以int3指令作为函数的结尾标志
/zine 以零数据作为函数的结尾标志
/iatref 分析出整个代码段里 哪些指令调用了引入表的函数
/aepa 地址  指定一个地址作为起始开始分析

/out 目录  把输出结果输出的哪个目录

例如
analyzer -disasm /dis /att -analyze c:\helloword.exe
反汇编以ATT语法输出
分析这个程序

这些选项可以叠加使用,每个以'-'开头的命令将输出为一个XML文件。
如果是分析入口点为0的程序将直接退出。

过两天再发一个带监视器的版本。。。 把分析出的函数启动后做HOOK,直接监视程序调用函数的流程。

上传的附件 src.zip
bin.zip