Drozer,原名 Mercury,是由 MWR 实验室开发的一款可扩展的模块化 Android 安全测试框架。网上关于 Drozer 的安装教程也很多,但都是千篇一律,只有实际配置过,才知道其中包含有很多坑,记录在此,希望能够对读者有所帮助。
- 需要的环境: Windows 10 + python 2.7
- 需要下载的安装包:drozer-2.4.4.win32.msi (Win 10 服务端),drozer-agent-2.3.4.apk (Android 客户端)
坑1:Windows 10 自带杀毒软件会将 drozer-2.4.4.win32.msi 误认为病毒
笔者是在官网下载的软件,并且发送了这种情况,下载完之后就被系统删除了,因此,需要暂时关闭 win10 defender!
坑2:drozer.bat 压根运行不起来
正常启动过程是:首先启动客户端 App,即 Drozer 的客户端;然后将手机和电脑连接,开启端口转发;
adb forward tcp:31415 tcp:31415
然后就可以正式使用 Drozer 框架了,直接运行命令:
drozer.bat console connect
例如,运行之后提示:
Missing parentheses in call to 'print'
出现这种原因多半是因为,系统同时安装了 python 2 和 python 3,尽管你是在 python 2 目录中运行 drozer.bat 脚本,但是系统的环境变量依然保存的是 python 3。如果你不想改变系统环境变量,即不想默认使用 python 2,有两种解决方案:
- 1 使用临时环境变量,即每次运行 Drozer 之前,先运行
set path=D:\Language\Python27;D:\Language\Python27\Scripts;%path%
- 2 直接修改 drozer.bat 脚本,即直接将 drozer.bat 中的 python.exe 替换成python2 的绝对路径,例如 d:\python27\python.exe
坑3:安装 drozer 所需要的依赖错误频出
运行这个框架,需要各种依赖,在 python 2.7 Scripts 目录中,运行 pip,根据之前运行 drozer.bat 命令出现的错误提示,依此安装所需的依赖。问题在于,在安装 twisted 包的时候,老是提示如下问题
其实真正的含义是 pip 版本过低,需要更新。输入命令,进行更新。
pip2.7.exe install --upgrade pip
pip2.7.exe install --upgrade wheel setuptools
pip2.7.exe install --only-binary numpy numpy
之后,再进行安装,仍然报错,只是这次,换了个新的问题。
这里是因为,使用 pip 安装某些库的时候,还需要 vc++ 库的支持。
从微软官网下载并安装即可,Microsoft Visual C++ Compiler for Python 2.7 下载链接在这里。最后就能成功运行了。