##Python轉exe
**使用PyInstaller生成可以執行程序**
這一章是教大家如何把自己的python腳本編譯成windows下可執行文件,它可以讓你的python腳本跨平臺去運行,并且不需要去安裝python解釋器。首先我們需要下載依賴包,cygwin(或者其他的工具也可以,這里我們使用Pywin).
Linux: sudo apt-get install python2.7 build-essential python-dev zlib1g-dev upx
Windows: http://www.activestate.com/activepython (fully packaged installer file)
安裝 [Pywin32](http://sourceforge.net/projects/pywin32/), [Setuptools](https://pypi.python.org/pypi/setuptools#downloads), [PyInstaller](http://www.pyinstaller.org/)
**安裝完成之后**
下一步我們就運行python命令生成可執行文件:
```
python pyinstaller.py -onefile <scriptName>
```
執行上面的命令之后,導入依賴文件并且生成一個新的文件,這個文件里面包含了三個文件<scriptName>.txt,<scriptName>.spec和<scriptName>.exe文件,其中.txt與.spec可以刪除掉,而.exe的文件就是你需要的執行程序.
**完整的封裝執行程序**
Python腳本現在已經被編譯成了windows PE文件,并且不需要Python解釋器就能夠在windows下面獨立運行,這可以讓你更輕松的把腳本遷移到windows上面而且不用擔心依賴包缺失的問題.
一個簡單的腳本:
```
#!/usr/bin/python
import os
os.system("echo Hello World!")
```
現在我們把上面這個腳本編譯成為一個可以執行的文件:
```
c:\PathToPython\python.exe pyinstaller.py --onefile helloWorld.py
> helloWorld.exe
Hello World!
```
如果你想更詳細的了解這個過程,可以參考[BACK TO THE SOURCE CODE – Forward/Reverse Engineering Python Malware](http://www.primalsecurity.net/back-to-the-source-code-forwardingreverse-engineering-python-malware/)
把你的python腳本編譯成一個可以在windows上面可以執行的可執行程序是很有用的,因為它不需要你安裝python解釋器還有依賴包
大家可以嘗試一下[0x2](https://github.com/smartFlash/pySecurity/blob/master/zh-cn/0x2.md)中的例子,把那個腳本編譯成可執行程序。