一、Apk反編譯得到Java源代碼
創(chuàng)新互聯(lián)公司服務(wù)項目包括東安網(wǎng)站建設(shè)、東安網(wǎng)站制作、東安網(wǎng)頁制作以及東安網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東安網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東安省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內(nèi)含apk反編譯成java源碼工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉(zhuǎn)化成jar文件
源碼查看工具jdgui,是一個反編譯工具,可以直接查看反編譯后的jar包源代碼
具體步驟:
首先將apk文件后綴改為zip并解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的,將classes.dex復(fù)制到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文件夾,內(nèi)含三個文件:aapt.exe,apktool.bat,apktool.jar
注:里面的apktool_bk.jar是備份的老版本,最好用最新的apktool.jar
在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool.bat d -f abc123.apk abc123
三、 圖形化反編譯apk
上述步驟一、二講述了命令行反編譯apk,現(xiàn)在提供一種圖形化反編譯工具:Androidfby
首先,下載上述反編譯工具包,打開Androidfby目錄,雙擊Android反編譯工具.exe,就可以瀏覽打開要反編譯的apk
在Eclipse中查看JDK類庫的源代碼
設(shè)置:
1.點 “window”- "Preferences" - "Java" - "Installed JRES"
2.此時"Installed JRES"右邊是列表窗格,列出了系統(tǒng)中的 JRE 環(huán)境,選擇你的JRE,然后點邊上的 "Edit...", 會出現(xiàn)一個窗口(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",結(jié)束。
dt.jar是關(guān)于運行環(huán)境的類庫,主要是swing的包?
tools.jar是關(guān)于一些工具的類庫?
rt.jar包含了jdk的基礎(chǔ)類庫,也就是你在java doc里面看到的所有的類的class文件
使用:
可以在 Java 源代碼編輯器或代碼片段編輯測試窗中選擇類型、方法或字段的名稱,然后對元素的定義打開編輯器。
在 Java 編輯器中,選擇類型、方法或字段的名稱。您也可以僅僅在名稱中單擊一次。?
執(zhí)行下列其中一項操作:?
1.從菜單欄中,選擇瀏覽 打開聲明?
2.從編輯器的彈出菜單中,選擇打開聲明?
3.按 F3 鍵,如下圖
java源代碼是用來關(guān)聯(lián)jar中的編譯代碼的。
應(yīng)用場景:通常在打開eclipse中的jar的時候,發(fā)現(xiàn)class文件不能被打開,此時出現(xiàn)下面的界面,此時就需要通過“Attach Source”,之后找到對應(yīng)的java源代碼來實現(xiàn)代碼關(guān)聯(lián),即可正常的顯示class類中的內(nèi)容。
備注:如果此處ava源代碼指的是源代碼文件(“.java”),是用來進行代碼維護和二次開發(fā)的必備東西。
在 Java 中,可以通過使用 Java 的網(wǎng)絡(luò)編程技術(shù)來實現(xiàn)查找附近的設(shè)備。具體的做法如下:
獲取本機的 IP 地址和子網(wǎng)掩碼,以計算出本機所在網(wǎng)絡(luò)中的 IP 地址范圍。
使用 for 循環(huán)和 InetAddress 類掃描網(wǎng)絡(luò)中的每一個 IP 地址。
對于每一個 IP 地址,使用 isReachable() 方法判斷其是否可達,如果可達則表明該 IP 地址對應(yīng)的設(shè)備存在。
以下是一份簡單的示例代碼:
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");
}
}
}
}
請注意,這是一份示例代碼,其中的掃描范圍和掃描方法可能不是最佳的,根據(jù)實際需要進行修改。
Java本身API的代碼也是開源的,可以打開您所安裝的JDK入面的jar包,可以看到JavaAPI的內(nèi)部構(gòu)造和寫法。或者使用有關(guān)開發(fā)工具(如Jbuilder)入面的查看定議的功能,跳轉(zhuǎn)到Java API的代碼定義處。
分享文章:java源代碼定位實現(xiàn) 如何用java實現(xiàn)定位
分享網(wǎng)址:http://chinadenli.net/article42/dodeiec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、電子商務(wù)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)