Android反編譯-逆天的反編譯

Jar包的反編譯:

Java的世界是透明的,當編譯java程序的時候,是將java源文件轉成.class文件,java虛擬機去執行這些字節碼從而得到運行java程序的目的。那麼從.class文件能不能得到java源文件呢?答案是肯定的!現在就爲大家推薦一款神器jd-gui.exe,界面如下圖:

它能將.class文件轉成java文件,就能看到源代碼了!想copy代碼的、想漢化的、想盜版的、想學習人家源碼的統統沒問題!我們常常見到java中的jar包,通過這個工具能看到jar包中的具體實現,最近公司在做支付寶的手機支付,所有這裏去看看支付寶提供的jar包,學習一下:

點擊File後選擇jar包即可,出現界面如下:


那麼就看到了支付寶手機jar包的源代碼了,比如Http請求對象、返回狀態等等哪些。那麼這不就看到了支付寶的數據封裝了且不是泄密了嗎?當然沒有那麼嚴重,支付寶那麼多牛人,他們肯定早就知道了反編譯會透明java代碼了,所以這個jar包中的核心代碼不是用java來實現的,任你怎麼反編譯也看不到具體的實現。

 Android的反編譯

Android應用程序是用java語言來寫的,所以在反編譯方面也跟java一樣的。這裏推薦一款android反編譯工具ApkDec,該反編譯工具將Apk直接分解成java源文件的jar包和資源文件,java源文件的jar包通過jd-gui.ext就能看到源碼,包括android工程中引用的jar包中的源碼!資源文件直接打開就可以看到源碼。


如果某個Apk完全是用java寫的,通過這個工具反編譯之後就相當於完全開源了,這對商家的版權和商業機密是非常不利的,所以建議在開發具有商業機密和高度保密的apk時,這些重要的部分用其他語言來實現,防止java反編譯後被別人看出了端詳,比如在android裏面使用jni,重要的部分用C/C++去實現。即使是被反編譯,也只能看出接口,看不出具體的實現。

好了,具體就是這樣的。關於反編譯工具,見如下地址:http://download.csdn.net/detail/main_stage/7477111 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章