反編譯android步驟入下:
第一:使用apktool直接反編譯apk
第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
『貳』 Android app證書反編譯代碼
反編譯代碼dex2jar。
在學習android程序的開發過程中,有時候需要借鑒別人的代碼,提升自己的開發水平。
前面說了反編譯,我們當然不希望我們的應用被別人反編譯,所以就得在打包的時候進行代碼混淆,這樣的包也可反編譯出代碼,但是代碼的可讀性很低,從而達到保護代碼的目的。
『叄』 如何反編譯Android 的apk/dex/odex,獲得源碼
關於APK,DEX的介紹
當我們編譯一個安卓項目的時候,整個項目會被打包成一個 .apk文件。這個文件其實是一個標準的zip文件,因此可以用解壓縮工具打開。這個apk文件一般都包含程序的代碼(在classes.dex文件中), 資源文件, 證書, manifest 文件等。 其中對我們最重要的是classes.dex文件,因為編譯後的位元組碼(bytecode)都是放在這個文件中。我們後面講的反編譯就是針對這個dex文件來的。
反編譯普通的APK文件:
對於普通的APK/DEX文件的反編譯,其實工具有很多, 包括:
ByteCode Viewer: 一個可視化的集成工具,說實話,不太好用,不夠穩定,生成代碼質量中等。
dex2jar + jd_gui: 這兩個工具組合還可以, 用起來比ByteCode Viewer麻煩一些,但比較穩定,生成代碼質量中等。
在線反編譯工具JADX: http://www.javadecompilers.com/apk , 這是基於SourceForge上的JADX的開源工具來實現的。本來以為在線反編譯質量不會好,但出人意料的是:JADX是我發現的最好的反編譯工具, 不但使用簡單(直接上傳,轉換,下載就ok),而且反編譯出來的代碼質量很高,特別是變數命名方面,可讀性很不錯。
反編譯ODEX文件:
Android 5.0 Lollipop以後,Google用ART代替了以前的Dalvik,對於普通的app來說我們仍然可以用上面的方法來把dex文件反編譯成Java源代碼。但對於系統預裝的App,特別是類似應用商店,播放器等, 你會發現這些應用的apk文件中找不到對應的classes.dex文件,而是會發現在其子目錄下有個.odex文件。 那如何反編譯這個odex文件呢?我通過google查了查,知道應該用baksmali,但從github上下載了幾個版本都不行,報各種不同錯誤。經過反復搜索和嘗試,終於找到了這篇文章
: http://www.naldotech.com/how-to-deodex-applications-on-android-5-0-lollipop/ 。 具體方法如下:
1. 從這里下載工具包, 解壓縮到本地。 這里的baksmali的版本是2.0.3. 不同版本的baksmali針對的Android內核不同。有時候高版本反倒不好用。
2. 打開工具所在目錄, 按住shift鍵, 點擊滑鼠右鍵,打開windows命令窗口
3. 把 odex文件拷貝到該目錄
4. 在命令窗口運行: oat2dex.bat *.odex. 正常情況下,應該顯示OK等信息。如果報錯的話,說明這個文件無法轉換,後面的也不用試了。
5. 運行 oat2dex.bat *.odex temp.dex . 運行後會創建一個temp.dex文件。
6. 運行 java -jar baksmali-2.0.3.jar -a 21 -x temp.dex -o source . 運行後會創建一個source的文件夾,並將temp.dex反編譯到該文件夾。-a 21 表明的是Android內核的版本21
7. 運行 java -jar small-2.0.3.jar -a 21 source -o classes.dex, 反編譯為classes.dex文件。
需要注意的是:由這種方式反編譯成的classes.dex 文件相比原生的classes.dex 還是缺少了些信息,因此反編譯這種classes.dex 文件後生成的java代碼可讀性會更差些。
8. 用在線工具JADX 來把 classes.dex 最終反編譯為java代碼。
『肆』 安卓apk反編譯問題
愛加密平台的推出可以有效解決這些問題.APP通過使用愛加密平台 加密,可以從根本上防止應用在運營推廣過程中被反編譯、惡意篡改、注入扣費代碼、盜取數據等,提高應用的安全性、穩定性,讓打包黨無機可乘。
『伍』 手游APK文件反編譯
電腦上著名的 apk 文件反編譯器,安卓手機軟體中國化所必需的 pc 軟體。它將幫助你反編譯成常規文件,並為你提供一個基本的幫助,為未來的 diy 工作。現在人才終於把它移植到行動電話上了,當涉及到中國化或簡單地修改軟體時,不再需要等待 pc 機工作。安裝說明: 將數據包復制到手機 micro sd 卡的根目錄,然後將主程序安裝到手機上。此外,該程序需要根許可權,手機必須獲得和授權,才能正常使用。說明: 本程序在使用大量文件操作時,需要很長時間耐心等待。如果你在編譯程序的過程中點擊屏幕,程序很容易失去響應。此時,只需單擊「等待」 ,耐心等待程序再次響應,程序將繼續編譯。[社論評論] apk 工具這個計算機端的 apk 反編譯軟體終於被移植到手機端,中國人破解了人們必需的工具!
『陸』 反編譯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)
『柒』 Android 如何對apk文件進行反編譯以及重新
第一:使用apktool直接反編譯apk
第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
『捌』 安卓反編譯apk代碼沒修改只是把軟體名字改了
首先要說明一點,反編譯是個灰色地帶,是會觸犯版權問題的。完全正當的用途不多,比如惡意軟體的分析。
如果你真的想學反編譯,去吾愛破解論壇上,認真把上面的教程都學一遍。這絕對不是什麼簡單的事情,需要大量的工作經驗作為支撐。換句話說,如果你沒有相應語言足夠的實戰開發經驗,學反編譯無異於蛇吞象。
安卓app是使用JAVA進行開發的,對安卓app的反編譯就是對JAVA程序進行反編譯。而JAVA的由於其本身原理的原因,從JAVA程序反編譯為代碼是比較簡單的,不容易出錯,並且整個過程是傻瓜式的。不像其他語言,比如C++,程序會徹底變為機器語言,就不容易直接使用軟體恢復成代碼了。
因此,為了保證自己的代碼不被他人反編譯,我們開始使用代碼混淆技術。簡單的例子,某個方法名本來是setUserName(String userName),這樣的名字別人一看就知道是用來幹嘛的,而使用了混淆之後,這個方法的名字就有可能變為c(String s),這樣就不能夠知道這個方法是做什麼的了。換句話說,混淆能夠急劇地增加反編譯者的工作量,使之無法修改和獲取自己app的真正代碼。
總結一下,反編譯不是鬧著玩的,也不是修改一個所謂的「名字」就能夠完成任務的。如果想要真正地修改APP,必須從頭開始,把混淆的代碼都恢復成原本的代碼,至少,你也得知道被混淆之後的代碼中,哪裡是幹嘛的。
同時也希望題主不要以身試法。
『玖』 如何進行APK反編譯
如何進行APK反編譯
我們下載到某些apk的時候,可能總想學習下別人是怎麼進行程序設計的,或者怎樣使用xml文件布局的,這時就想到將apk文件的後綴改為rar並解壓,最終得到一些圖片資源和很多打開為亂碼的文件,可見這種方式不可行,這就需要使用下面的工具對apk進行反編譯了。
一、工具准備:apktool、dex2jar、jd-gui
工具包也可以在這里下載。
1、dex2jar可以在這里下載,jd-gui可以在這里下載。
2、apktool,可以到Google官方下載,apktool-1.0.0.tar.bz2(裡面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip兩個包都要下。解壓apktool.jar到 C:\Windows,解壓apktool-install-windows.zip到任意文件夾(例如E盤根目錄)。
二、使用dex2jar + jd-gui 得到apk的java源碼,步驟如下:
1、用.rar打開apk文檔,將classes.dex文件解壓出來,然後使用工具反編譯成.jar文件。
在cmd下進入dex2jar.bat所在路徑,然後輸入「dex2jar.bat XXX」,XXX指的是你要反編譯的apk中的classes.dex文件所在路徑及名稱,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路徑下,classes.dex在D:\Android下,所以你進入到dex2jar.bat路徑後,輸入dex2jar.bat D:\Android\classes.dex,這樣會生成一個jar文件。
2、用jd-gui反編譯工具將得到.jar文件反編譯成.java文件。
三、使用apktool得到apk的xml文件
1、Win+R 運行CMD,用cd命令轉到apktool-install-windows所在文件夾,輸入命令:
apktool d XXX.apk ABC 反編譯XXX.apk到文件夾ABC
2、 在解壓後的文件夾中可以得到apk的xml配置文件。
四、第二步得到的程序源代碼和第三步得到的xml文件組合下,就成一個android工程,即可得到完整的apk源碼。
『拾』 Android APP的破解技術有哪些如何防止反編譯
由於Android系統的開放性,導致Android
APK很容易被他人破解或是反編譯,下面給大家介紹常用的APP破解工具和技術要求。同時根據自己以往的防破解經驗,跟大家分析下如何防止反編譯。
Android
APK運行環境依賴的文件/文件夾
res、DEX、主配文件Lib
只是簡單的加密甚至沒有任何保護措施。APKtool(一種反編譯工具)可輕易將其輕松破解,再配合其他各種工具基本可以做到:源碼暴露(代碼混淆也幾乎起不到任何安全作用)、資源文件裸奔、主配文件可任意修改、核心SO庫暴露、暴力破解惡意利用等。部分大公司會對其應用APK包進行防二次打包和防APKtool破解,但其代碼都是寫在JAVA層,另外APKtool的可升級導致其安全保護級別也是非常低的。