最近更新了kali 系统,把jdk更新到了9.0.4,结果导致破解burpsuite1.7.32的注册机不能用了。好像这个注册机遇到高版本的jdk就不能用了。降低jdk的版本,找了半天,找到了一个完美的解决办法。
首先去java网站下载jdk包:http://www.oracle.com/technetwork/java/javase/downloads/index.html
然后把jdk包解压在一个文件夹里面:
配置环境变量
export JAVA_HOME=/package/jdk1._80
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
给jdk1.8设置序列号:
先看一下当前的jdk版本号:
root@kali:/package# java -version
openjdk version "9.0.4"
OpenJDK Runtime Environment (build .+-Debian-)
OpenJDK -Bit Server VM (build .+-Debian-, mixed mode)
root@kali:/package#
然后我们设置一下需要的jdk版本:
[email protected]:/package# update-alternatives --config java
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 自动模式
1 /package/jdk1.8.0_161/bin/java 3 手动模式
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:1
update-alternatives: 使用 /package/jdk1.8.0_161/bin/java 来在手动模式中提供 /usr/bin/java (java)
[email protected]:/package#
注意:
- debian下的这个软件版本管理工具叫 update-alternatives
- 给某版本软件设置序列号时,install选项的参数是这样的:
path一定要指向一个可执行的名字叫java的脚本,比如上面的:/package/jdk1.8.0_161/bin/java
在使用update-alternatives 的过程中,我发现了一些不算问题的问题。
在上面的教程中,我们通过该命令在/usr/bin 目录下创建可执行文件的软链接,比如在/usr/bin目录下创建gcc, jdk的软链接,进而达到改变gcc,jdk版本的问题。但是如果你自己手动按转一个版本的gcc在/usr/local/bin 目录下,并且可执行文件的名字也叫gcc,那么你会发现,update-alternative 不再起作用了,无论怎么修改,gcc命令都是我们自己安装的哪个版本。这是因为/usr/local/bin 目录的优先级高于/usr/bin , 二者都在path 环境变量里,一旦两个目录里都有叫做gcc的可执行文件,系统就会优先使用/usr/local/bin 目录下的可执行文件。这种情况下无论怎样修改/usr/bin 目录下的软链接都不会起作用了。