Ⅰ APKTOOL GUI 1.3.6反編譯一般的軟體成功,反編譯自帶的系統軟體失敗。裝了JDK,未配
使用最新的apktool.jar文件,最好配置一下環境變數。系統自帶的apk有些是加密的,即使用最新的文件也不一定能解決問題。如果想快一點,有個叫apk ide(又叫apk改之理)的軟體,樓主去搜索一下。環境變數配置一下吧
Ⅱ 如何將java中的.class文件反編譯
安裝Java jdk後
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環境變數
開始-運行-cmd-回車-進入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進行反編譯:
例如:[2] jad -sjava example.class 回車
在目錄里可以看到example.java源文件
[1] 反編譯一個class文件:jad example.class,會生成example.jad,用文本編輯器打開就是java源代碼
[2] 指定生成源代碼的後綴名:jad -sjava example.class,生成example.java
[3] 改變生成的源代碼的名稱,可以先使用-p將反編譯後的源代碼輸出到控制台窗口,然後使用重定向,輸出到文件:jad -p example.class > myexample.java
[4] 把源代碼文件輸出到指定的目錄:jad -dnewdir -sjava example.class,在newdir目錄下生成example.java
[5] 把packages目錄下的class文件全部反編譯:jad -sjava packages/*.class
[6] 把packages目錄以及子目錄下的文件全部反編譯:jad -sjava packages/**/*.class,不過你仍然會發現所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯並建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當重復使用命令反編譯時,Jad會提示「whether you want to overwrite it or not」,使用-o可以強制覆蓋舊文件
[9] 還有其他的參數可以設置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結
[10] 當然,你會發現有些源文件頭部有些注釋信息,不用找了,jad沒有參數可以去掉它,用別的辦法吧。
Ⅲ MyEclipse中如何設置jdk和jre編譯運行環境_wz
1、設置默認使用的JDK和JRE環境。
具體步驟:菜單window-preferences-java-InstalledJRES。
點中了,右邊的窗口點ADD按鈕,記住選擇添加安裝了Java目錄下的JDK目錄,而不是JRE目錄。
添加後,在列表中選擇你要使用的那個jdk版本即可。
然後Compiler項下,選擇編譯的jdk級別就可以了。
2、針對項目的環境設置。
右鍵項目菜單properties-JavaCompiler,選擇了以後,選中Enable project specific settings,去掉Use compliancefrom execution environment......前面的那個選擇框,就可以自己選擇使用的jdk版本了。
3、應用伺服器的環境設置。
Ⅳ 如何在eclipse中配置反編譯工具JadClipse
在eclipse中配置反編譯工具JadClipse的方法:
1、下載JadClipse,注意選擇與eclipse版本一致的版本,推薦使用Eclipse3.4,所以選擇下載版本net.sf.jadclipse_3.3.0.jar
2、下載Jad,網路搜索最新地址,下載相應版本
3、將下載下來的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷貝到Eclipse下的plugins目錄即可。
4、將Jad.exe拷貝到JDK安裝目錄下的bin文件下(方便,與java,javac等常用命令放在一起,可以直接在控制台使用jad命令),比如作者的目錄是D:Program FilesJavajdk1.6.0_02injad.exe
Ⅳ 求教JDK中的反編譯命令
用習慣了著名的反編譯工具jad的話,如果有的時候單給出class文件,要快速看這個class文件
的JDK版本號等,其實不用工具,也可以用JDK自帶的javap命令進行反編譯輸出,下面小結
其用法:
1,javap -verbose 類名
得到的信息如下:
Compiled from "Test.java"
public class Test extends java.lang.Object
SourceFile: "Test.java"
minor version: 0
major version: 50
Constant pool:
......
可以看出jdk的版本,這個用在判斷某些CLASS的版本是否兼容的時候很有用.
2 最常見的不帶參數的情況:javap 類名
比如某個類:
Java代碼
packagetest;
publicclassTest{
intnumber=5;
publicvoidsayHello(){
System.out.println("Hello");
}
}
則:
C: empjavaptest>javap Test
Compiled from "Test.java"
public class test.Test extends java.lang.Object{
int number;
public test.Test();
public void sayHello();
}
帶參數-c:
則可以看到位元組碼了:
Java代碼
C: empjavaptest>javap-cTest
Compiledfrom"Test.java"
publicclasstest.Testextendsjava.lang.Object{
intnumber;
publictest.Test();
Code:
0:aload_0
1:invokespecial#1;//Methodjava/lang/Object."<init>":()V
4:aload_0
5:iconst_5
6:putfield#2;//Fieldnumber:I
9:return
publicvoidsayHello();
Code:
0:getstatic#3;//Fieldjava/lang/System.out:Ljava/io/PrintStream;
3:ldc#4;//StringHello
5:invokevirtual#5;//Methodjava/io/PrintStream.println:(Ljava/lang/String;)V
8:return
}
帶參數-l: 將顯示行號和局部變數表
-public 只顯示 public 類及成員。
-protected 只顯示 protected 和 public 類及成員。
-package 只顯示包、protected 和 public 類及成員。這是預設設置。
-private 顯示所有類和成員。
Ⅵ jdk的配置
JDK 安裝
Java實際上分為三個版本:
J2ME:Java 2 Micro Edition,適用於移動端的微型版本,曾廣泛應用於機頂盒、車載系統、移動數字電話、個人數字助理(PDA)以及一系列嵌入式設備中,和大家接觸最多的便是前幾年的手機上搭載的J2SE環境,它幾乎支撐了智能手機游戲的半邊天。
J2SE:Java 2 Standrad Edition,Java標准版本,只包含基礎的Java類庫,適用於在桌面端構建Java程序。它是J2ME和J2EE的基礎。
J2EE:Java 2 Enterprise Edition,Java企業版本,包含很多企業級特性,適用於簡化企業開發的版本,包含一系列特性,如EJB、JAXB、JDBC API、CORBA、Servlet、JSP等等,實際上我們今天使用的JDK名義上是J2SE,但實際上他已經混入了J2EE的很多特性,算得上是J2EE版本了。
PS:Java在1.2版本之後統稱為Java 2。當然,在當下「Java」這種叫法已經是熟路的叫法了。
我們在開發中一般安裝的是J2SE,若需要J2EE的一些特性我們一般是通過Maven去關聯支持類庫的。
JRE和JDK的區別
JRE是Java運行環境,只包含了Java程序運行時所需要的一系列類庫(Binary),他可以被精簡至更小。JDK則是Java開發包,除了包含一整套JRE還包含有一些列為開發者提供的工具(命令行工具和GUI工具)用於管理Java程序(jjs、jmc、jps、jvisualvm、jstatck、jhat、jdoc等等一系列工具),還包含大部分內置類庫的源碼(包括Native方法的源碼)。
開始安裝
1、下載安裝包
在Oracle官網https://www.oracle.com/technetwork/java/javase/downloads/index.html找到你想要下載的安裝包,由於2019年後java會開始收費,故我們只能使用java8 固定版本。詳細參見00.關於Java開始收費的說明,因此我們只選擇jdk1.8.0_181.rar之前的版本,並且只選擇小版本號為奇數(如8u191)的安裝包。
離線window x64的JDK壓縮包
2、安裝
linux和windows都可以下載安裝版和壓縮包,安裝過程略過。個人推薦壓縮包,下載後解壓即可。
3、配置環境變數
Windows
在Windows上需要配置的環境變數為JAVA_HOME、Path和Classpath(Classpath在Java1.5之後可以不設置)
JAVA_HOME: 全路徑,指向你的JDK目錄,注意,一定是jdkXXX這種目錄
Path: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;%JAVA_HOME%in; (不要忘了前面的小點)
Linux
在Linux下配置環境變數需要注意,你需要根據你的實際情況選擇是配置全局的環境變數還是該用戶下的環境變數。全局環境變數請修改/etc/propfile,用戶環境變數請修改~/.bash_profile
在上述文件末尾加入:
export JAVA_HOME=/usr/opt/java/jdkXXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存後執行source <你剛剛修改的文件>
至此,配置完畢,請打開控制台輸入javac命令驗證。若出現響應則說明配置成功,若出現「不能識別的指令」則說明配置失敗,請按照上文修改。
Ⅶ 用jd-gui反編譯jdk1.8中rt.jar包,有如下錯誤
jd-gui、小型軟體、操作多文件時發生錯誤經常的。。。
rt.jar都有源碼、使用winrar打開查看即可。。。
eclipse可以調用,直接書寫代碼即可查看。。。