1)APKtool
2)dex2jar
3)jd-gui 4)簽名工具 相關技術的基本要求 1)具有一定的閱讀JAVA程式碼的能力 2)稍微有點Android基礎,越多越好 3)會用eclipse的一些Android除錯的相關工具
4)瞭解一下smali的語法規範和欄位的自定範圍
5)有點應變能力思想轉換能力、
6)雖然程式碼的修改是修改其smali檔案(用到smali語法),雖然其語言是非常複雜的,但是我們能夠變通就行了,但是要求瞭解一下smali的語法規範和欄位的自定範圍。 瞭解以上方法可以非常簡單破解Android APK,破解後,應用裡的頁面佈局、程式碼邏輯、結構演算法等都能一目瞭然。所以為了避免被他人,尤其是競爭對手瞭解到這些,防破解和反編譯尤為重要。我試過程式碼混淆,但是程式碼混淆只是對類名進行了變換,增加了破解者的閱讀難度,並不能真正阻止反編譯工程。下面是進行過程式碼混淆的APK程式碼結構,能看到只是對類名做了變換,變成a、b、c等這樣的名稱。但是仍然可以進行反編譯。 後來又嘗試使用360加固保對APK進行加固保護,發現原有的程式碼程式被隱藏起來了,沒法再進行反編譯工作。 所以作為移動應用開發者,適當瞭解一些破解和反編譯工作有利於保護自己的應用安全。如果不防患於未然,一旦出現盜版情況,那麼你的APP很可能從此被市場所拋棄。
1)APKtool
2)dex2jar
3)jd-gui 4)簽名工具 相關技術的基本要求 1)具有一定的閱讀JAVA程式碼的能力 2)稍微有點Android基礎,越多越好 3)會用eclipse的一些Android除錯的相關工具
4)瞭解一下smali的語法規範和欄位的自定範圍
5)有點應變能力思想轉換能力、
6)雖然程式碼的修改是修改其smali檔案(用到smali語法),雖然其語言是非常複雜的,但是我們能夠變通就行了,但是要求瞭解一下smali的語法規範和欄位的自定範圍。 瞭解以上方法可以非常簡單破解Android APK,破解後,應用裡的頁面佈局、程式碼邏輯、結構演算法等都能一目瞭然。所以為了避免被他人,尤其是競爭對手瞭解到這些,防破解和反編譯尤為重要。我試過程式碼混淆,但是程式碼混淆只是對類名進行了變換,增加了破解者的閱讀難度,並不能真正阻止反編譯工程。下面是進行過程式碼混淆的APK程式碼結構,能看到只是對類名做了變換,變成a、b、c等這樣的名稱。但是仍然可以進行反編譯。 後來又嘗試使用360加固保對APK進行加固保護,發現原有的程式碼程式被隱藏起來了,沒法再進行反編譯工作。 所以作為移動應用開發者,適當瞭解一些破解和反編譯工作有利於保護自己的應用安全。如果不防患於未然,一旦出現盜版情況,那麼你的APP很可能從此被市場所拋棄。