安卓反編譯破解需要什麼知識
❶ 安卓反編譯學習什麼
這段時間在學Android應用開發,在想既然是用java開發的應該很好反編譯從而得到源代碼吧,google了一下,確實很簡單,以下是我的實踐過程。
在此鄭重聲明,貼出來的目的不是為了去破解人家的軟體,完全是一種學習的態度,不過好像通過這種方式也可以去漢化一些外國軟體。
本文Android反編譯教程,測試環境:
Win7 Ultimate x64
Ubuntu 12.04
x86_x64
反編譯工具包 下載
(2012-10-10更新)
一、Apk反編譯得到Java源代碼
下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內含apk反編譯成java源碼工具,以及源碼查看工具。
apk反編譯工具dex2jar,是將apk中的classes.dex轉化成jar文件
源碼查看工具jdgui,是一個反編譯工具,可以直接查看反編譯後的jar包源代碼
dex2jar
和 jdgui 最新版本下載,分別見google code:
dex2jar(google code)
jdgui(google code),最新版本請見 官方
具體步驟:
首先將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,即可看到源代碼了
❷ 如何使用安卓反編譯破解游戲
一、dexmp方法
dexmp是emulator自帶提供的查看dex文件的工具,可使用類似這樣的命令將dex文件mp到txt文件中:
D:/Program Files/android-sdk-windows-1.6_r1/platforms/android-1.6/tools>dexmp.exe -d classes.dex > spk.mp.txt
得到的文件內容,描述了類的信息,但實在是不好讀啊~~~~
二、dex2jar + XJad 方法
該方法是使用dex2jar.jar包,將classes.dex文件解包成jar,在通過XJad(或者其他class反編譯工具)進行java反編譯。如:
1、dex2jar.bat d:/play/classes.dex
默認的輸出路徑同classes.dex,生成的文件名為classes.dex.dex2jar.jar
2、使用XJad反編譯該jar包
之後的使用方法,大家都懂的:)
該方法的好處在於,通過XJad反編譯後,大家可直接開到java源文件,缺點在於只能反編譯出開發時的java文件,而開發時使用的lib包不能反編譯出來。
三、AXMLPrinter2.jar + baksmali.jar + smali.jar 方法
這個方法就強大了,AXMLPrinter2是還原AndroidManifest.xml和main.xml的工具,直接打開這兩個xml文件是亂碼,而通過還原之後,可以很明白的看到裡面的內容(我猜測還是使用了位元組異或的方式加的密)。
baksmali.jar是反解析dex的工具,smali.jar則是再還原成dex的工具
操作方式如下:
1、java -jar AXMLPrinter2.jar D:/play/AndroidManifest.xml > AndroidManifest.txt
2、java -jar AXMLPrinter2.jar D:/play/res/layout/main.xml > main.txt
3、java -jar baksmali-1.2.5.jar -o classout/ d:/play/classes.dex
❸ 經過360加固的安卓程序該如何破解反編譯後什麼代碼都找不到
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很可能從此被市場所拋棄。
❹ 安卓APK反編譯求解
手機系統內的APK反編譯,需要
1、提取你系統的system\framework下面的com.htc.resources.apk和framework-res.apk(原則上每個不同的系統都提取一次;注意修改過的這兩個文件反編譯或編譯可能會失敗);
2、將上面兩項放入C盤根目錄下,這個隨便你放,只要在命令輸入時路徑相同就可以;
3、打開CMD或命令提示符,即DOS窗口;
4、在DOS窗口輸入: apktool if C:\com.htc.resources.apk 輸入完成後回車鍵回車 apktool if C:\framework-res.apk 輸入完成後回車鍵回車 5、這樣IF命令和安裝已經結束,這是系統APK編譯必須的。
之後,其他的就與普通APK反編譯一樣了
❺ 安卓軟體怎麼破解原理是什麼或者怎麼反編譯修改圖片之類的東西還有QQ和UC能不能進行反編譯
您好,很高興為您服務!
找已付費版的或者用幸運破解器,不過那個不一定能破解,所以叫幸運破解器。
目前UC瀏覽器不支持反編譯的。
如果仍有問題,請您繼續向我們反饋,我們會第一時間為您跟進。
❻ 反編譯Android APK的具體步驟是怎樣的
原料
一個需要反編譯的APK
步驟
准備好一個需要反編譯的apk
❼ Android APP破解技術有哪些
1、其實准確來說不叫破解,叫「反編譯」,把APP反編譯之後可以進行你想要的功能修改,比如把收費模塊去掉,繞過一些驗證模塊,說是「破解」了也可以。
軟體最初都是代碼實現功能,然後對代碼進行編譯打包成APP,那麼想把APP還原成代碼就是「反編譯」了。
2、Android反編譯詳細教程:Android APP反編譯教程
3、對於app可以被反編譯,軟體開發者肯定比誰都清楚,所以很多技術用來對抗反編譯的,比如代碼混淆,讓你反編譯出來的代碼鬼都看不懂,其實就道高一尺魔高一丈。
❽ 反編譯Android APK的具體步驟是怎樣的
1、配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
2打開命令提示符,(開始-運行-輸入cmd)
3輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)
4使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面
5 如果只是想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架的建立)
6開始最重要的反編譯,輸入指令,apktool d framework-res.apk
(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)
7最後反編譯完成
修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
8回編譯後的新的 apk在framework/dis 文件夾裡面
9如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復7-9步驟)
apktool if framework-res.apk
apktool if SystemUI.apk
10對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)
❾ 這是某個安卓軟體的破解方法,什麼意思反編譯具體怎麼操作跟Java編程有關
安卓裡面應用層,軟體工程師寫好java代碼由編譯器編譯成一種smali位元組碼,也就是指令集,如果破解也只能改指令集,當然現在加固都是c/c++這些了,但是java要簡單些
❿ Android APP的破解技術有哪些如何防止反編譯
由於Android系統的開放性,導致Android
APK很容易被他人破解或是反編譯,下面給大家介紹常用的APP破解工具和技術要求。同時根據自己以往的防破解經驗,跟大家分析下如何防止反編譯。
Android
APK運行環境依賴的文件/文件夾
res、DEX、主配文件Lib
只是簡單的加密甚至沒有任何保護措施。APKtool(一種反編譯工具)可輕易將其輕松破解,再配合其他各種工具基本可以做到:源碼暴露(代碼混淆也幾乎起不到任何安全作用)、資源文件裸奔、主配文件可任意修改、核心SO庫暴露、暴力破解惡意利用等。部分大公司會對其應用APK包進行防二次打包和防APKtool破解,但其代碼都是寫在JAVA層,另外APKtool的可升級導致其安全保護級別也是非常低的。