针对pyinstaller两个情况的逆向

admin 2022年1月23日15:12:22程序逆向评论83 views899字阅读2分59秒阅读模式

Winter

Solstice

点击蓝字 关注我们

前言


Pyinstaller最常⻅的打包库,打包后可以通过Extractor⼯具或者pyinstaller内置的achieve_viewer.py直接解包,使⽤—key参数可以使其具有⼀定 程度的反逆向能⼒,但由于其本⾝是个开源的库,也能找到其加密的原理,所以不是很难逆向

-key参数的逆向 

得到可执⾏⽂件,使⽤Extractor⼯具进⾏解包 

python pyinstxtractor.py xx.exe

将会得到⼀个⽂件夹,⾥⾯包含主程序所引⽤的所有库以及代码的pyc⽂件。

针对pyinstaller两个情况的逆向

-key参数的逆向

逆向前的源码分析

Pyinstaller开源的,这也给我们逆提供了便利

在官给出的,有给出-key个参数,说是将⽂pyc⾏⼀定的压缩密,以防被逆

Pyinstaller库本的打原理是先py编译成pyc,然部分压缩成pyz,程序再通过pycpyz的调

pyinstaller的打过程语

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

以看到ctypes的调pyz成等等

之后build夹如下

针对pyinstaller两个情况的逆向


Base_Library.zip⾥⾯都是库件的pyc


我们在pyinstaller找到archieve么⼀个⽂⾥⾯⼀个pyz_crypto.py件,是pyz件的密代码

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

以看出,他是使tinyAESpyc件进密,块⼤⼩为16byte

:利源码的脚本法


pyinstxtractor对⽂件进⾏解包(需软件应相python版本,法得到pyz),得到未被密的部分pyc件和密的pyz件,其中之⼀就archive.pyc,我们以通过archive.pyc件得到密过程,crypto_key件得到具体key

针对pyinstaller两个情况的逆向

根据函数pyc编译内容我们找到了需找的

针对pyinstaller两个情况的逆向

个时就只按照密的式进⾏解就可以了,密部分Cipher(脚本来源于archive.pyc编译)

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

针对pyinstaller两个情况的逆向

解密脚本

针对pyinstaller两个情况的逆向


原文始发于微信公众号(Th0r安全):针对pyinstaller两个情况的逆向

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月23日15:12:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  针对pyinstaller两个情况的逆向 http://cn-sec.com/archives/750253.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: