編輯:關於Android編程
Jar包的反編譯:
Java的世界是透明的,當編譯java程序的時候,是將java源文件轉成.class文件,java虛擬機去執行這些字節碼從而得到運行java程序的目的。那麼從.class文件能不能得到java源文件呢?答案是肯定的!現在就為大家推薦一款神器jd-gui.exe,界面如下圖:
它能將.class文件轉成java文件,就能看到源代碼了!想cZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcHm0+sLrtcShos/rurq7r7XEoaLP67XBsOa1xKGiz+vRp8+wyMu80tS0wuu1xM2zzbPDu87KzOKjoc7Sw8ezo7OjvPu1vWphdmHW0LXEamFysPyjrM2ouf3V4rj2uaS+38Tcv7S1vWphcrD81tC1xL7fzOXKtc/Wo6zX7r38uavLvtTa1/bWp7i2saa1xMrWu/rWp7i2o6zL+dPQ1eLA78ilv7S/tNanuLaxpszhuam1xGphcrD8o6zRp8+w0rvPwqO6PC9wPgo8cD6147v3RmlsZbrz0aHU8WphcrD8vLS/yaOss/bP1r3nw+bI58/Co7o8L3A+CjxwPjxpbWcgc3JjPQ=="/uploadfile/Collfiles/20140611/2014061109031072.jpg" alt="\">
那麼就看到了支付寶手機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
之前寫過一篇文章Android TextView 橫豎排切換(字方向不變) 是自定義了一個LinearLayout, 實現了當然還不夠, 還要對它進行操作, 平移,旋轉
面對一個項目,對於Android應用開發框架的選擇,我想過三種方案:1.使用Loader + HttpClient + GreenDao + Gson + Fragmen
實現思路利用自定義的HorizontalScrollView實現。 HorizontalScrollView中管理兩個視圖,一個視圖為“菜單”,另
為了提高用戶體驗,我們肯定希望該Dialog能更加炫酷,讓用戶看著更舒服。那如何做呢,當然是我們自己定義一個ProgressDialog了。一、使用系統加載框mDialo