首页 游戏教程 正文

Peid识别结果不准确?(调整参数让文件的识别率更高)

最近我手上摊了个活儿,搞一个老掉牙的程序分析。客户要求我得先把这文件到底被什么东西包过、加过密,给摸清楚。我当时心想,这还能难倒我?二话不说,掏出我压箱底的老伙计——Peid,准备三下五除二搞定。

第一次尝试:结果令人抓狂

把那个可执行文件拖进去,Peid跑得那叫一个快,一秒钟不到,结果就出来了。它给我蹦出来一行字:Not Packed(未加壳)。

当时我就傻眼了。这文件一看就是被处理过的,体积小的离谱,结构也怪怪的,怎么可能没加壳?我来来回回试了三遍,它雷打不动就是这一个结果。我当时就来气了,这工具是老糊涂了还是咋的?以前用着挺顺手的。

我寻思,不能怪工具,得怪设置。这种老工具,它能认出全靠它那个特征码数据库,还有就是它扫文件扫得有多仔细

Peid识别结果不准确?(调整参数让文件的识别率更高)

挖根源:默认设置太敷衍

我开始琢磨,是不是Peid默认的设置,为了追求速度,把识别的精度给放得太低了。就像我们平时找东西,如果只是大致看一眼,肯定很多细节就漏掉了。程序识别特征码也是这个道理。那些比较新或者比较冷门的壳,它们的特征码可能藏得深一点,默认的“快扫”模式根本够不着。

我决定自己动手,把它的“耐心”提上去

我开始在Peid的安装目录里翻箱倒柜,找那个控制它行为的配置文件。果然,让我找到了那个不起眼的.ini文件,这才是藏着秘密的地方。这玩意儿里面记录着它认识的各种特征码,也记录着它干活儿时候的各种参数。

动手改造:修改匹配阈值

我瞅了一圈,找到了一个跟“匹配度”或者“模糊识别”相关的参数。具体名字我忘了,反正它后面跟着一个数字,默认值好像是80,意思是匹配度达到80%就算成功识别了。

我当时就觉得,80%太敷衍了事了!这么低的门槛,稍微有点干扰,它就认错了。我手起刀落,直接把它给改成了95。我的逻辑很简单:既然要识别,那就得给我认得清清楚楚,除非有95%的把握,否则就得继续给我扫。

  • 找到配置文件(通常是个.ini文件)。
  • 定位到控制识别精度的那个参数。
  • 把默认数值从80左右提升到95甚至更高
  • 保存配置文件。

结果验证:终于露出了马脚

参数改完后,我怀着忐忑的心情,又把那个“老古董”文件拖进了Peid里面。

这一次,Peid的表现立马就不一样了。它没有像上次那样瞬间出结果,而是吭哧吭哧地在那儿“思考”了足足有五六秒钟,屏幕上的进度条慢慢爬。我盯着屏幕看,心里直打鼓,生怕它又跳出个“未加壳”。

终于,结果出来了!这回它清清楚楚地识别出了一个比较少见的早期加密壳的名字,连版本号都写得明明白白。我当时高兴得差点跳起来,原来不是工具老了,是它被默认设置给“绑架”了,只要把参数调得更严格、更仔细,它照样能把文件老底翻出来。

这事儿教会我一个道理:很多工具自带的默认设置都是为了普适性设计的,追求效率和速度,但真遇到一些“怪胎”文件,你就得自己动手,把工具的“认真度”给提上去。别怕改配置文件,有时候,一个小小的数字,就能让你的工作效率翻好几倍。

本文转载自互联网,如有侵权,联系删除

相关推荐