PangBai 过家家(3)
本题预计解数很多,校内赛道没达到预期。
如果你用了 DIE,那应该会看到 PyInstaller 字样,这是一个 Python 库,能把 .py
脚本打包成 .exe
. 如果你用 IDA 直接分析,里面大量的 Python 字样也是它的显著特征。当然,直接用 IDA 是难以分析 Python 脚本逻辑的。
对于此种程序,解包方法很多,大家可以上网查关键词 PyInstaller 解包,资料也很多。我使用的是 PyInstaller Extractor.
解包后得到一个目录。
对于这个题,我们没有加密,也没有魔改 magic,也没有在库里面藏东西,所以说我们只关心和程序同名的 NotNormalExe.pyc
. 反编译他看逻辑即可。
为什么一个脚本语言存在编译?这个过程叫预编译,如果感兴趣可以去查资料。
反编译方法也有很多,如在线网站,或各种脚本,如 tool.lu/pyc.
此处由于字节码的版本较高,前面会反编译出错,此时大家可以直接猜这是异或,或者用另一款工具 pycdas 去看机器码,然后找到关键的异或逻辑。
本题其实对于没接触过的人来说主打一个猜,还有查询资料的能力。
如果上面的东西没看懂,这篇文章可能会帮助你。