打包处理

pyinstaller打包

例题-[羊城杯 2020]login

DIE发现有Pyinstaller的打包

Github下载pyinstxtractor.py,然后直接使用下面的命令解包题目的login.exe即可(无加密)

image-20231004165414348

源文件在这里:

image-20231004165432753

打开分析,使用z3进行解密即可(注意有一些故意打乱).

pyc反编译

可以使用在线反编译工具,或者使用uncompyle6.exe进行反编译(使用pip安装,貌似默认自带).

使用方法:

1
uncompyle6.exe -o output.py input.pyc

混淆手段

元组比较

python的元组可以比较,即将元组的元素逐个比较,对于空元组,由于没有元素,因此比较永远返回False.

布尔值用于数值

True为1,False为0.

因此例如True >> False这样的右移操作等价于1 >> 0,结果为1.