编译Metasploit安卓Payload时报错解决笔记
在编译Metasploit的安卓payload时,报出以下错误
1 | > [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [INFO] 1 error |
报错后,所有编译处在SKIPPED状态,如下图:
解决方法: ubuntu:
apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib
注意,假如你是jdk8的请将7替换成8。 centos:
yum -y install openjdk-8-jdk openjdk-8-doc openjdk-8-jre-lib
在centos7的terminal中输入java -verison是没问题的,但是javac的话就会提示没有此命令
> 在centos中,直接yum install java-devel即可
编译[INFO] AndroidPayload for Metasploit时报错,截图如下:
出现该问题是变量$ANDROID_SDK_ROOT和$ANDROID_NDK_HOME设置错误。 解决方法: 使用Android Studio安装的sdk及ndk,设置路径如下:
1 | export M2_HOME=/root/apache-maven-3.3.9 export ANDROID_SDK_ROOT=/root/Android/Sdk export ANDROID_NDK_HOME=/root/Android/Sdk/ndk-bundle export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH |
执行source /etc/profile
后,编译成功:
编译成功后,将编译好的target/data/android 目录复制到Metasploit-framework根目录下的data文件夹,我这里的metasploit路径如下(使用yum安装的Metasploit-framework): /opt/metasploit-framework/embedded/framework