最近一段时间驱动人生病毒席卷国内,各大安全厂商都在关注,也都发布了相应的分析报告,驱动人生病毒传播主体是由Python语言编写之后打包的EXE程序,在分析的过程中,有些朋友可能会遇到一个问题,如何提取这个EXE程序中的核心Python脚本呢?请看下面的详细分析过程,病毒样本在打包过程中使用了一点小技巧。


1.拿到样本,如下所示:

2.样本使用PyInstaller打包生成的,如下所示:

3.用pyinstxtractor解包试试,如下所示:

So What?这是干啥?提示不支持版本或不支持解密格式?

4.那我们就从这两个问题入手解决吧,不支持版本,这个应该不可能,我们下载的是最新的

Pyinstxtractor1.9版,那就应该是不支持解密格式了,为什么会出现这个情况?

5.有源码怕啥?去源码找答案呗,如下所示:

很明显是在检测文件格式的时候,出错了,那我们分析下这段代码,就知道了,在读取PY打包Magic
的时候,没有读取到,那啥是PY的Magic呢?看前面的代码,如下所示:

可以看到,要么读取文件后面24个byte字节,要么读取文件后面88个字节,都可以解析到文件格式,那我们看看我们获取到的样本,如下所示:

很明显后面全是垃圾,在24/88个字节位置没有找到MAGIC,那我们往前找吧,如下所示:

原来躲在这里,那我们就直接把后面的删了,留88个字节就好了呗,如下所示:

6.再次用pyinstxtractor解包,如下所示:

完美解决,并提示Pyinstaller version:2.1+,因为我们留了88个byte的位置。

7.找到里面的ii的pyc文件,然后修复pyc头,再用Python Decompilerv1.3.2解析出py脚本,如下所示:

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注