编译Metasploit安卓Payload时报错解决笔记

在编译Metasploit的安卓payload时,报出以下错误

[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,设置路径如下:

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注