0x01缘由:
由于运行sqlmap还需要打开cmd命令行再输入命令才能运行,于是乎我想起了以前有人把sqlmap用c语言封装过,我观摩观摩的他的代码好家伙挺老的了,我想把他重新封装一下,看代码他应该是把sqlmap的代码封装成一个sqlmap.exe文件然后再用cmd运行sqlmap.exe文件
废话不多说,直接上手
0x02环境准备:
Sqlmap下载链接:https://sqlmap.org/
首先贴出相关详情文章:
首先得用php命令安装pyinstaller
参考:http://c.biancheng.net/view/2690.html
安装pyinstaller完后可以用pyinstaller –version命令测试安装是否成功
0x03安装环境:
准备工作做完后
首先进入到已经下载的sqlmap解压过后的目录里面
打开cmd命令框,路径为本路径
直接输入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
成功运行Rue.exe
文件目录结构
打包链接:https://wukew.lanzoui.com/imfNfuogk6b
解压密码为:regret
旧版链接:https://wukew.lanzoui.com/iMFCWuogood
本人任何技术及文件用于学习,请勿任何违法活动
我的博客欢迎各位表哥交流