准备学习Android逆向,为搭建Linux的分析环境,需要配置JDK,做个记录。
0x01下载JDK
JDK的下载可以直接到oracle官网上下载,下载地址为http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
我这里选择的是32位版的tar.gz文件。
0x02解压缩
tar.gz文件可以直接用归档管理器解压,可以把文件放到桌面上,然后用root权限复制到/usr/lib/jvm目录下
sudo cp –r ~/jdk/1.7.0_21 /usr/lib/jvm/
0x03配置环境变量
sudo gedit ~/.profile
这样会在gedit中打开配置文件,在文件末尾添加export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
保存关闭,然后使用
source ~/.profile #进行更新
可以用env命令查看环境变量配置情况,配置成功可以看到
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
0x04 修改系统默认的JDK
我用的是Ubuntu10.34,系统默认的JDK是OpenJDK,需要改成我们自己装的JDK
sudo update-alternatives --install /usr/bin/javajava /usr/lib/jvm/jdk1.7.0_45/bin/java 300
sudo update-alternatives --install/usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_45/bin/javac 300
sudo update-alternatives --config java
sudo update-alternatives --config javac
0x05 pcak2jar
按照上面的步骤配下来,在我的电脑上出现了
Error occurred during initialization of VM
java/lang/NoClassDefFoundError:java/lang/Object
这个错误,这是为什么呢?如果我们细心点去看一下可以发现在jdk的lib目录下没有tools.jar,反而有一个tools.pack文件,在jre目录的rt.jar文件也是一样,这就需要我们去用unpack200工具将pack文件转化成jar文件,不过unpack200可能没有被配置到环境变量中,不过没关系,可以在jdk的bin目录下找到二进制文件,以完整路径命令来执行。
sudo'/usr/lib/jvm/jdk1.7.0_45/bin/unpack200' tools.pcak tools.jar
对于rt.pack文件进行同样的处理
0x06 检查配置结果
经历了这么多坑爹的步骤,终于要见到成果了
打开终端,在终端中输入java –version出现如下界面,表示安装成功!对于这个结果,我表示:我很欣慰^_^