1.由于運行sqlmap還需要打開cmd命令列再輸入命令才能運行,于是乎我想起了以前有人把sqlmap用c語言封裝過,我觀摩觀摩的他的代碼好家伙挺老的了,我想把他重新封裝一下,看代碼他應該是把sqlmap的代碼封裝成一個sqlmap.exe檔案然后再用cmd運行sqlmap.exe檔案

廢話不多說,上手
2.準備作業
Sqlmap下載鏈接:https://sqlmap.org/
首先貼出相關詳情文章:
https://mp.weixin.qq.com/s?__biz=MzUzODU3ODA0MA==&mid=2247487063&idx=1&sn=f935cf01507b2fd3bf617ad22ffc2a95
首先得用php命令安裝pyinstaller
參考:http://c.biancheng.net/view/2690.html
安裝pyinstaller完后可以用pyinstaller –version命令測驗安裝是否成功
3.打包程序
準備作業做完后
首先進入到已經下載的sqlmap解壓過后的目錄里面

輸入cmd打開cmd命令框,路徑為本路徑(win+R健要轉到本路徑)

直接輸入pyinstaller -F sqlmap.py

回車等待它打包完成后
這時我們找到打包后在dist目錄里面exe檔案,運行會報錯

一般運行錯誤都為找不到檔案,由于我已經設定過了錯誤復現不了

解決辦法:
解決參考:新建hook-thirdparty.py檔案,寫入內容如下:
from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files("thirdparty")
保存后將此py檔案放入Pyinstaller下的hooks的檔案夾中(路徑為你安裝python的路徑)

再次運行sqlmap.exe報錯

解決辦法:
在cmd命令框再次輸入陳述句打包
(之前打包的最好不要洗掉,可能會有問題,我的就是-_-)
pyinstaller -F -p data/;lib/;extra/;plugins/;tamper/;thirdparty/; sqlmap.py --hidden-import lib.utils.versioncheck

再次運行sqlmap.exe報錯

解決辦法:
將sqlmap下的lib目錄與data目錄移動至dist\sqlmap.exe下同級目錄下,
由于不知道到底有多少依賴,建議將sqlmap下所有目錄都移動到sqlmap.exe下,(不包括 pycache、build、dist目錄)

成功運行

這時候運行還是要用cmd命令框再運行sqlmap.exe檔案,所以我用python寫了個簡單呼叫的,
(由于我這里設定默認為\\dist\\output\\,所以要在dist目錄下建一個output目錄)
import os import colorama colorama.init(autoreset=True) def mian(): while True: try: print('\033[1;31m[root@Hacker~]# \033[0mSqlmap ', end='') run = input() c = '.\\dist\\sqlmap.exe ' + run + ' --output-dir=.\\dist\\output\\' os.system(c) except: pass continue if __name__ == "__main__": mian()
打開cmd用pyinstaller打包Rue.py(cmd的路徑是Rue.py在的目錄)

成功運行Rue.exe

檔案目錄結構


打包鏈接:https://wukew.lanzoui.com/iYAbfv20gti
解壓密碼為:regret
舊版鏈接:https://wukew.lanzoui.com/iMFCWuogood
本人任何技術及檔案用于學習,請勿任何違法活動
有更好的建議可以私信我的博客歡迎各位大哥交流
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/308219.html
標籤:Python
上一篇:Python基礎之數字化大屏
