手機怎麼反編譯
1. 反編譯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)
2. 如何反編譯手機軟體
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一定要用沒換過圖片的,否則回編輯失敗)
最為詳細的教程,教你如何反編譯與回編譯
最後反編譯完成
3. apk反編譯/回編譯
再次記錄一次apk反編譯/回編譯過程,鏈接失效請留言,會及時更新。
參考博客: https://blog.csdn.net/w327918069/article/details/82761437
首先,我們需要一個apk,下圖是Android Studio編寫並打包的一個apk。
其實apk就相當於一個zip壓縮包,通過 WinRar 工具可以對其解壓縮,像這樣:
此時,祭出我們的神器----> apktool ,當當當當~~~~~~~。
一行命令進行apk反編譯:
apktool d -r app-debug.apk 一定要加入參數 -r ,不然後面回編譯回報錯。
apk反編譯到此結束。
回編譯就是通過 apk反編譯 生成的目錄文件轉換成一個apk。
十分簡單的一行命令:
apktool b app-debug
此時安裝apk到手機無法安裝成功,還需要對apk進行簽名才能安裝。
1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore
可以看到key.keystore已經生成。
2.對apk進行簽名
可用於沒有簽名和已經簽名的apk,再次簽名。
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
命令格式及參數意義:
-verbose -> 輸出簽名過程的詳細信息
-keystore [keystorePath] -> 密鑰的庫的位置
-signedjar [apkOut] -> 簽名後的輸出文件名
[apkin] -> 待簽名的文件名
[alias] -> 證書別名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore
回編譯完成。
4. 安卓手機反編譯狀態欄是反編譯哪個文件那個文件名具體在哪叫什麼
【原創】手機端反編譯:安卓手機狀態欄時間精確到秒
大神們都不發教程的…可我卻喜歡分享技術,本教程適合小白,適合電腦端不會搭建java環境跟反編譯的傢伙
1.提取:
使用x-plore文件管理器提取system/framework/下的所有apk格式的程序例如framework_res.apk和framework-miui-res.apk等等.(總之是比目錄下的所有apk格式的文件.有些系統卻只有一個,例如泛泰a760s的深度os包)再提取system/app/SystemUI.apk 這三個文件.提取到sd卡根目錄
2.安裝手機端反編譯軟體:apktool和載入條件
下載apktool3.6手機版(我用的是非通用版,是armv7專用版),解壓把apktool文件夾放在sd卡根目錄.安裝apktool3.6打開並且獲取root許可權允許,裡面目錄找到 framework_res.apk和framework-miui-res.apk分別先後載入選擇"作為framework導入"(很多人修改SystemUI.apk不能反編譯或者回編譯出錯就是這個原因,因為沒有導入剛才那幾個)然後找到SystemUI.apk按住它選擇"反編譯全部"等待n分鍾後,反編譯成功後關閉apktool,打開x-plore找到sd根目錄新產生的文件SystemUI_src文件夾裡面的\res\layout\status_bar.xml用x-plore管理器對著它選擇以文本編輯:status_bar.xml(代碼可能不同,但是道理一樣,安卓系統通用,本人已修改cm10、深度、小米、x-ui其中包括2.3、4.04、4.1.2跟4.2.2反正安卓通用)
3.游戲才剛剛開始!現在開始修改:
在x-plore文件編輯界面點搜索剛才那個文件裡面的字,找到如下代碼:(可搜索statusbar.Clock,這樣快點)
<com.android.systemui.statusbar.Clock android:textAppearance="@android:styleTextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />(也許你的系統有所不同代碼,不用管,刪了此代碼全部就得了)
刪了上面的代碼,全部修改為以下代碼:
<DigitalClock android:textSize="14.0dip" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@+id/digitalClock" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" />(直接復制然後粘貼)
4.回編譯 和替換
替換完後保存,就可以回編譯了:打開apktool軟體,找到SystemUI_src文件夾點一點它,選擇回編譯,等待n分鍾成功後,用x-plore文件管理器打開sd卡根目錄的 SystemUI_src.apk文件,選擇以zip方式打開,把SystemUI_src.apk裡面的resources.arsc跟\res\layout\路徑下的status_bar.xml 跟status_bar_expanded.xml 三個文件覆蓋替換到原本SystemUI.apk裡面的文件(不用簽名)
5.替換原來的程序
把改好的SystemUI.apk用x-plore管理器替換覆蓋到system/app/裡面!重啟後,狀態欄時間精確到秒爽!(替換前記得提取原版的SystemUI.apk以免修改錯誤導致狀態欄沒了,不過不用怕.把原版的 SystemUI.apk替換回來就行了)
5. Android 如何對apk文件進行反編譯以及重新
第一:使用apktool直接反編譯apk
第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
6. 怎麼把手機上的app轉化為開發源代碼
1.下載apktool所需文件:a、apktool1.5.
2.tar.bz2b、apktool-install-windows-r05-ibot.tar.bz2(windows系統)2.解壓剛剛下載的文件,並將解壓的局飢文件放入C:Windows目錄下
3.啟動控制台,輸入apktool,回車可查看到apktool工具常用指令
4.新建一個文桐掘返件夾,用於存放apk及待解壓的文件,這里筆者將文件夾建在D:apk目錄,同時放入用於測試的androidapp包(test.apk)
5.控制台輸入:apktooldD:apkest.apkD:apkest進行反編譯操作中句話散念中「D:apkest.apk」指apk存放位置,「D:apkest」指反編譯後文件存放的位置
6.反編譯成功之後,進入D:apkest文件目錄可以查看到反編譯後的文件
7. 安卓app360加固怎麼反編譯
1 對比
上傳demo進行加固,解包後對比下原包和加固包,發現加固包在assets文件夾下多了libjiagu.so,libjiagu_x86,lib文件夾下多了libjiagu_art.so,同時修改了dex文件和AndroidManifest文件
打開manifest文件,看到xxx加固對Application標簽做了修改,添加了殼入口,也就是我們反編譯後看到的StubApplication.smali這個文件。
相比於之前版本的加固,自從1.x.x.x加固版本之後,多了幾次反調試,使得動態難度稍微增大了一些,不過針對脫殼機脫殼,再多了反調試也是無用。或者通過修改系統源碼,也能達到消除反調試的作用。
2 動態調試
(1)把app安裝到手機,以調試模式打開app
(2)以shell模式root許可權打開IDA的android_server監聽
(3)tcp轉發
(4)打開IDA,修改配置為在進程開始時下斷
(5)搜索到進程後jdwp轉發,pid值即為我們進程號,並在命令行下附加。
成功附加後,可以下段了,打開Debugger Option
我們選擇在線程開始和庫載入時下斷,修改成功後,jdb附加,點擊運行
程序會斷在elf頭處,按下G鍵,搜索mmap,在mmap函數的段首和斷尾下段
F9運行,來到斷尾時F8單步,
來到此處時,在 BLunk_5C999C2C下斷,F9一下,F7跟進去
跟進去今後在BLX LR處進行下斷,此處就是進行反調試的地方,原理依然是獲取TracePid的值判斷當前是不是處於調試狀態,建議第一次調試的人在fgets和fopen處下斷,再f7跟進此調用就可以看到TracePid的值了。
跟進去之後,我們直接把方法移到最下方,就可以看到kill符號了,這就是殺進程的地方,如果當前處於調試狀態,則直接結束進程。
我們在此函數的所有cmpR0,#0處下斷,F9一下後即斷在斷點處,觀察寄存器窗口的R0值,實質就是當前的TracePid的16進制的值
不確定的可以使用cat /proc/pid/status進行對比一下,我們直接把R0置0,右鍵選擇Zero Value即可清0,繼續F9
我們看到程序又來到了mmap處,繼續f9
當繼續斷在調用反調試功能的方法時,繼續F7跟進,依然在所有的cmp R0,#0處下斷,斷下後把R0清0後繼續F9運行
目前的規律是,調用BLXLR的第一次,第二次和第四次是進行反調試判斷的,第三次並不影響,可以直接f9跳過去,三次反調試搞定後,就可以愉快的F9運行並觀察堆棧窗口了
當看到出現如下所示時:
說明殼已經開始解密並釋放dex文件了,我們直接F8單步十幾步,最後F9一下就可以看到我們需要的dex頭了
直接腳本mp出來即可,最後把libjiagu的所有文件刪除,並修復下Application標,如果存在則修復,不存在刪除即可