一、Apk反編譯得到Java源代碼
創新互聯公司服務項目包括東安網站建設、東安網站制作、東安網頁制作以及東安網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,東安網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到東安省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內含apk反編譯成java源碼工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉化成jar文件
源碼查看工具jdgui,是一個反編譯工具,可以直接查看反編譯后的jar包源代碼
具體步驟:
首先將apk文件后綴改為zip并解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的,將classes.dex復制到dex2jar.bat所在目錄dex2jar-0.0.9.9文件夾。
在命令行下定位到dex2jar.bat所在目錄,運行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar
然后,進入jdgui文件夾雙擊jd-gui.exe,打開上面生成的jar包classes_dex2jar.jar,即可看到源代碼了
二、apk反編譯生成程序的源代碼和圖片、XML配置、語言資源等文件
如果是漢化軟件,這將特別有用
首先還是要下載上述反編譯工具包,其中最新的apktool,請到google code下載
apktool(google code)
具體步驟:
下載上述反編譯工具包,打開apk2java目錄下的apktool1.4.1文件夾,內含三個文件:aapt.exe,apktool.bat,apktool.jar
注:里面的apktool_bk.jar是備份的老版本,最好用最新的apktool.jar
在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool.bat d -f abc123.apk abc123
三、 圖形化反編譯apk
上述步驟一、二講述了命令行反編譯apk,現在提供一種圖形化反編譯工具:Androidfby
首先,下載上述反編譯工具包,打開Androidfby目錄,雙擊Android反編譯工具.exe,就可以瀏覽打開要反編譯的apk
在Eclipse中查看JDK類庫的源代碼
設置:
1.點 “window”- "Preferences" - "Java" - "Installed JRES"
2.此時"Installed JRES"右邊是列表窗格,列出了系統中的 JRE 環境,選擇你的JRE,然后點邊上的 "Edit...", 會出現一個窗口(Edit JRE)
3.選中rt.jar文件的這一項:“c:\program files\java\jre_1.5.0_06\lib\rt.jar”?
點 左邊的“+” 號展開它
4.展開后,可以看到“Source Attachment:(none)”,點這一項,點右邊的按鈕“Source Attachment...”, 選擇你的JDK目錄下的 “src.zip”文件
5.一路點"ok",結束。
dt.jar是關于運行環境的類庫,主要是swing的包?
tools.jar是關于一些工具的類庫?
rt.jar包含了jdk的基礎類庫,也就是你在java doc里面看到的所有的類的class文件
使用:
可以在 Java 源代碼編輯器或代碼片段編輯測試窗中選擇類型、方法或字段的名稱,然后對元素的定義打開編輯器。
在 Java 編輯器中,選擇類型、方法或字段的名稱。您也可以僅僅在名稱中單擊一次。?
執行下列其中一項操作:?
1.從菜單欄中,選擇瀏覽 打開聲明?
2.從編輯器的彈出菜單中,選擇打開聲明?
3.按 F3 鍵,如下圖
java源代碼是用來關聯jar中的編譯代碼的。
應用場景:通常在打開eclipse中的jar的時候,發現class文件不能被打開,此時出現下面的界面,此時就需要通過“Attach Source”,之后找到對應的java源代碼來實現代碼關聯,即可正常的顯示class類中的內容。
備注:如果此處ava源代碼指的是源代碼文件(“.java”),是用來進行代碼維護和二次開發的必備東西。
在 Java 中,可以通過使用 Java 的網絡編程技術來實現查找附近的設備。具體的做法如下:
獲取本機的 IP 地址和子網掩碼,以計算出本機所在網絡中的 IP 地址范圍。
使用 for 循環和 InetAddress 類掃描網絡中的每一個 IP 地址。
對于每一個 IP 地址,使用 isReachable() 方法判斷其是否可達,如果可達則表明該 IP 地址對應的設備存在。
以下是一份簡單的示例代碼:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class FindDevices {
public static void main(String[] args) throws UnknownHostException {
InetAddress localHost = InetAddress.getLocalHost();
String hostAddress = localHost.getHostAddress();
String subnet = hostAddress.substring(0, hostAddress.lastIndexOf(".") + 1);
for (int i = 1; i 256; i++) {
String host = subnet + i;
try {
InetAddress address = InetAddress.getByName(host);
if (address.isReachable(1000)) {
System.out.println(host + " is reachable");
}
} catch (Exception e) {
System.out.println(host + " is not reachable");
}
}
}
}
請注意,這是一份示例代碼,其中的掃描范圍和掃描方法可能不是最佳的,根據實際需要進行修改。
Java本身API的代碼也是開源的,可以打開您所安裝的JDK入面的jar包,可以看到JavaAPI的內部構造和寫法。或者使用有關開發工具(如Jbuilder)入面的查看定議的功能,跳轉到Java API的代碼定義處。
分享文章:java源代碼定位實現 如何用java實現定位
分享網址:http://www.yijiale78.com/article42/dodeiec.html
成都網站建設公司_創新互聯,為您提供Google、靜態網站、網站設計、移動網站建設、電子商務、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯