前言

最近雨晴发现有一些python开发者为了让自己的源代码不被泄露(我不希望我的代码能被别人直接阅读.jpg),于是选择了使用pyinstaller这类的工具进行加壳,不过捏,这种方法并不算是特别安全,雨晴将会借助一个login.exe文件来讲解一个最简单的针对pyinstaller程序的脱壳方法喵~o(〃^▽^〃)o

login.exe运行截图:

TryingToLogin.png

1.使用pyinstxtractor.py提取pyc

首先我们需要下载 pyinstxtractor(点一下就可以跳转到该项目GitHub界面呢~)

接着,直接运行

1
python pyinstxtractor.py login.exe

你应该可以看到类似于这样的输出

stdout
1
2
3
4
5
6
7
8
9
10
11
12
[+] Processing login.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 3.10
[+] Length of package: 5168271 bytes
[+] Found 21 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: pyi_rth_inspect.pyc
[+] Possible entry point: login.pyc
[+] Found 92 files in PYZ archive
[+] Successfully extracted pyinstaller archive: login.exe
You can now use a python decompiler on the pyc files within the extracted directory

然后捏,同目录下应该会多出来一个叫 login.exe_extracted 的文件夹,我们进去之后,把 login.pyc 保存到一个容易找到的地方就可以进行下一步了喵~(●ˇ∀ˇ●)

2.使用PyLingual还原pyc

下面,打开 www.pylingual.io,把上一步获得的 login.pyc 上传上去,稍等片刻后,就可以看到源码啦

SourceCode.png

然后对照源码,输入正确的密钥

Comparison.png

哇,竟然pass了呢~(≧▽≦*)

嗯呐,大概就是这些了喵~是不是非常简单呢,快去试试喵