『壹』 是不是所有手機應用可以反編譯嗎
固件編譯時間當然是比你買到手的時間早
一般看到的編譯版本,是定板之前最終的一個版本
編譯完之後還要開始測試,量產,發貨,銷售,這其中需要不少時間
提前幾個月是正常的
ps:這個編譯版本是統一的,是編譯固件的版本,而不是燒錄的時間,或者手機出廠時間,不用糾結
『貳』 是不是所有的程序都可以反編譯得到原代碼
android APK中的java代碼可以被反編譯到什麼程度主要看APK的加密程度。
第一種情況:無混淆無加密無加殼。
直接利用Dex2jar和JD-GUI可把源碼從APK里摳出來,代碼邏輯清晰,基本上做到可復用,只是資源文件的引用需要計算一下。
第二種情況:混淆。
通常是利用Proguard做的防護。因為是對jar做的不可逆混淆(除非有mapping),因此不能還原成原來的代碼。但是代碼結構,代碼邏輯一致,只要花長時間對代碼進行梳理一樣可找准核心代碼,解密方法跟第一種一致。
第三種情況:加密。
這里以DexGuard為例。對於這種代碼加密的方法,在程序運行中必定會進行解密,只要抽出它解密的邏輯便可。PS:我自己做過DexGuard的解密,如果用Dex2jar反編譯看的話邏輯是不對的,一定要從Smali代碼看。後來發現網上已經有人做了。
解密的腳本:A look inside Dexguard
第四種情況:加殼。
這種情況跟第三種類似。無論你怎麼加殼,運行的時候必定是Dalvik可識別的Odex代碼,建議直接在內存里mp出來。這里推薦Xpose的ZjDroid。
『叄』 安卓apk文件如何反編譯
安卓apk文件反編譯:
一、反編譯xml文件
1>
首先下載我給你們提供的文件夾apk_fanbianyi,把它放到某個盤的根目錄下(為了方便輸入dos命令),然後打開apktool文件夾,安裝win+r鍵,然後輸入cmd,進入dos命令行,大家別怕,不用暈,很簡單的。
2>
然後在dos命令中首先輸入文件夾所在盤符+「:」回車,接著再輸入cd+apktool所在目錄,切換dos工作空間到apktool文件夾下。
3>
接著輸入
apktool.bat
d
【需反編譯apk文件路徑】
{【反編譯文件反編譯後的路徑】},其中最後一部分可以省去,系統會默認把apk文件反編譯到apktool目錄下,例如輸入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夾下就會生成一個ttpk的文件夾,所有的xml文件全部反編譯成功。
二、反編譯java文件
1>
首先解壓需要反編譯的apk文件,拷貝出裡面的classes.dex文件到dex2jar文件夾(為了方便操作,省去dos命令輸入路徑的麻煩)
2>
把工作空間切換到dex2jar文件夾下,輸入命令cd
d:/apk_fanbianyi/dex2jar回車
3>
輸入命令dex2jar.bat
classes.dex回車,發現dex2jar文件夾下多了一個classes_dex2jar.jar文件,這是反編譯成功的java文件
三、xml文件的打開
1>
打開apktool文件夾下的ttkp文件夾,任意找到一個xml文件,選中單擊右鍵,選擇notepad++打開(需下載),如果沒有此軟體,可以選擇打開方式,選擇記事本打開
四、java文件的打開
1>
dex2jar文件夾下的classes_dex2jar.jar拷貝到apktool文件夾的ttkp文件夾中,不能用notepad++打開,不然會亂碼的
2>
啟動apk_fanbianyi文件夾下的jd-gui.exe,然後點左上角file,選擇open
file,找到classes_dex2jar.jar文件,可以發現有很多包,選擇包下的任意一個java文件,打開不亂碼了,是不是很神奇,哈哈,你學會了安卓apk文件反編譯
『肆』 apktool能同時對多少個apk進行反編譯
工具/原料
電腦必須裝JAVA
JAVA電腦環境教程
apktool
/步驟
1. 配置JAVA環境變數載:apktool 解壓文件放C盤根目錄apktool文件夾(apktool文件夾自創立)
打命令提示符(始-運行-輸入cmd)
2. 輸入:cd \apktool 系統指令apktool文件夾(要解壓apktool解壓文件放apktool文件夾原自命名文件夾名稱比arc指令變:cd \arc 前提必須apktool解壓文件放文件夾面)
3. 使用RE管理器系統面framework-res.apk 與 SystemUI.apk 提取放apktool文件夾面
4. 想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架建立)
5. 始重要反編譯輸入指令apktool d framework-res.apk
(反編輯APK定要用沒換圖片否則編輯失敗)
6. 反編譯完
7. 修改代碼完輸入代碼:apktool d framework-res 即完編譯
8. 反編譯系統文件比SystemUI.apk 必須進行掛載框架反編譯必須敲入命令:(再重復4-7步驟)
apktool if framework-res.apk
apktool if SystemUI.apk
9. 於三星手機(比9100、9108/9100G),反編譯SystemUI.apk要敲入命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
10. 編譯命令 apktool b XXX (沒面apk綴)反編譯命令 apktool d xxx (面apk)
『伍』 在有些技術員號稱可以apk一鍵反編譯,請問是怎麼做的呢如何防止被反編譯呢
防止apk被反編譯最好的方式就是加密,給dex文件、so文件、資源文件等等做加密,單一的加密方式是很脆弱的,如果非常重視安全我建議這些加密項目都要做,這些項目全做了挺費時間和精力的,我自己就是找愛加密做的希望可以幫到你。
『陸』 apk反編譯合法嗎
隨便你反,不過你自己改過的程序別用於商業行為就不侵權
『柒』 反編譯apk是反編譯單個軟體還是整個系統
當然是反編譯單個軟體,反編譯成smile語言
『捌』 有沒有反編譯工具,可以把APK完全反成一個android項目的 , 這個android逆向助手只
我可以讓你看見項目的源碼,但是不知道怎麼才能將源碼放到eclipse中進行運行!~~我試了好多次,都不成功,導入工程後總是會出錯,不知道是我哪裡設置的和源碼中設置的不一樣!~~
方法是:第一步:你先把下載的包的後綴名改成.zip
第二步:到網上搜索dex2jar,下載一個,解壓到電腦磁碟中
第三步:打開你改完後綴名的.zip文件,將其中的.dex文件解壓出來,拷貝到dex2jar這個文件中,和lib文件夾放在同文件下
第四步:進入cmd命令,然後用cd 命令進入到dex2jar這個文件中,我的是這樣的cd C:\android反編譯工具\dex2jar-0.0.9.15\dex2jar-0.0.9.15,然後在執行dex2jar classes.dex這個命令,等待一會,反編譯好了後
第五步:到網上搜索jd_gui,然後下載一個解壓到磁碟,打開它然後點打開文件,找到剛剛反編譯好的那個文件夾,即dex2jar那個文件夾中找.jar文件,打開它就能看到源碼了!~~~
其它的資源文件什麼的就在剛剛你改完的那個zip文件中有。
不過你也可以將.apk文件再反編譯回來,在看資源和Androidmanifest.xml文件!~~~這個用到apktool,這個用起來挺簡單的,你可以到網上搜索一下!~~~
『玖』 已經加密的apk還可以反編譯嗎
現在的Android APK防止破解和反編譯的辦法,都是用混淆代碼和防二次打包的加密技術。不過這兩樣加密技術都已無用了!!! 對Android APK的加密保護只有對DEX、RES、SO庫等主要文件進行了保護,才能有效的防止破解和反編譯。現在有很多的Android...
『拾』 求教:APK反編譯能得到完整的源碼嗎
完全可以反編譯成完整的源碼,但是APK在編譯的時候是優化了的, 所以反編譯之後跟原始代碼有差別,還有就是反編譯是根據位元組碼(java的特點)反推java語言,推出來的跟原始的有區別,但是運行效果一模一樣。還有就是你要功底厚才能改寫,還要有個好的工具。你不可能手動反編譯。謝謝。