Android反編譯工具你了解多少(一)

2020-12-14 紅手指極客社

前段時間找工作的時候偶然間發現

有公司在招安卓逆向工程師,這真的是讓我大開眼界

那麼入門級安卓逆向到底需要了解哪些常用工具和常用套路那?

Apktool

apktool.jpg

官方簡介

A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications. It also makes working with an app easier because of the project like file structure and automation of some repetitive tasks like building apk, etc.It is not intended for piracy and other non-legal uses. It could be used for localizing, adding some features or support for custom platforms, analyzing applications and much more.

大概意思是:一個第三方,封閉,二進位的Android應用程式逆向工程的工具。它可以將資源解碼到幾乎原始的形式,並在修改後重建它們。它還使得使用應用程式更容易,因為像文件結構這樣的項目和一些重複任務的自動化,比如構建apk等等。

它Apktool能夠近乎接近原始形態的反編譯出安卓原始項目的資源文件,了解安卓開發的小夥伴都知道,安卓開發一部分視覺UI表現是通常是依靠xml文件來創造的,還有一點此軟體還支持回編譯,沒錯重新打包,

安裝方式

windows下安裝Apktool

下載Apktool官方版工具(具體下載地址請問親愛的度娘)當你下載完你會發先他是一個jar包,了解屏幕前的你一定是了解java的,接下來你懂得我還是說一下吧,這個需要在機器上安裝JDK,具體安裝方式,請自行查找,在此不再複述上面完成之後打開黑窗口(cmd)輸入 "java -jar apktool.jar" 這裡注意啊apktool為jar文件名

Linux下安裝Apktool

官網下載linux最新版本

點擊查看大圖

如果你想任何地方都能運行的話

sudo mv -i apktool apktool.jar /usr/local/bin/

cd /usr/local/bin

sudo chmod +x apktool

你也可以不進行上面步驟

只需複製apktool到指定目錄執行

添加執行權限

sudo chmod +x apktool.jar

執行

./apktool.jar

簡單用法

apktool d test.apk

test為你要反編譯的apk文件名

執行成功後會在當前目錄下生成 test文件夾

這樣你將在test文件夾內看到apk的資源文件

感謝您的閱讀,後續更多工具介紹將在後面繼續介紹

相關焦點

  • android反編譯和防止反編譯的方法
    【IT168技術】android基於java的,而java反編譯工具很強悍,所以對正常apk應用程式基本上可以做到100%反編譯還原。  因此開發人員如果不準備開源自己的項目就需要知道怎樣防止反編譯和反編譯他人的項目來學習。
  • 開發總結:Android反編譯方法的總結
    不過比較區別的是Android上的二進位代碼被編譯成為Dex的字節碼,所有的Java文件最終會編譯進該文件中去,作為託管代碼既然虛擬機可以識別,那麼我們就可以很輕鬆的反編譯。所有的類調用、涉及到的方法都在裡面體現到,至於邏輯的執行可以通過實時調試的方法來查看,當然這需要藉助一些我們自己編寫的跟蹤程序。
  • android apk 防反編譯技術第一篇-加殼技術
    做android framework方面的工作將近三年的時間了,現在公司讓做一下android apk安全方面的研究,於是最近就在網上找大量的資料來學習。這篇主要講apk的加殼技術,廢話不多說了直接進入正題。一、加殼技術原理 所謂apk的加殼技術和pc exe的加殼原理一樣,就是在程序的外面再包裹上另外一段代碼,保護裡面的代碼不被非法修改或反編譯,在程序運行的時候優先取得程序的控制權做一些我們自己想做的工作。
  • 如何反編譯Android 5.0 framework
    為了更好的適配,我們不得不對framework層進行反編譯,在Android更新到5.0後,開發人員對framework的反編譯也出現了新的變化。一、相關背景介紹在5.0以前,我們可以直接從手機system目錄導出的framework文件夾根目錄裡找到相關的odex文件或者相關dex文件(解壓jar文件或apk文件得到),然後通過smali和dex2jar等工具就可以成功反編譯得到我們所需要的東西。但到了5.0,出現了兩個問題。1.
  • Android系統編譯指南
    和你一起終身學習,這裡是程式設計師Android
  • 有贊 Android 編譯進階之路 —— 增量編譯提效方案Savitar
    3.1 調研結果通過調研之後,了解了每個框架能夠解決的問題和一些不滿足我們需求的地方:BUCK 自身有強大的構建系統,通過增量構建緩存機制,可以有效提升編譯的速度,但是其使用和配置過於複雜,對於工程的入侵比較大,且對於一些 Databinding、 Kotlin 等 Android 的特性支持還有欠缺。
  • 「Android Tools 」ApkToolBox v1.6.4 Android反編譯工具箱
    主要功能反編譯apk,回編譯apk,支持批量反編譯,回編譯dex一鍵獲取adb shell am start命令集成jadx,jd-gui支持自定義籤名支持app查殼支持odex反編譯v1.6.0 2017-08-07
  • 介紹一款好用的java反編譯工具 - jd-gui
    二方包是公司內部其它部門的產出物,雖然折騰些但協調下一般還是能查看到源碼的;三方包如果是開源的項目,也能找到源碼;但對於非開源項目的 jar 包,如果想查看源碼,就不得不用到反編譯工具了。在此詳細介紹下 jd project:Java Decompiler 項目 」旨在開發一些工具,以便反編譯和分析Java 5以及更高本的Java的「字節代碼」。
  • 漫畫:如何給女朋友解釋什麼是編譯與反編譯
    其次,有了反編譯的工具,我們就可以把別人的代碼進行反編譯,然後學習別人的代碼是怎麼實現的。或者可以通過原始碼查找Bug,製作外掛等。中有很多反編譯工具,這裡簡單介紹幾種:JavapJavap是JDK自帶的一個工具,可以對代碼反編譯,也可以查看Java編譯器生成的字節碼。
  • Android APP安全測試入門
    有句古語:」工欲善其事,必先利其器」,我們要研究App安全,沒有幾款高大上的神器是會非常麻煩的,因此本文主要給大家分享一下筆者學到的一些基礎知識,主要是一些移動端測試輔助工具的使用。模擬器模擬器筆者經常使用有兩款,一款是BlueStacks,這款個人感覺是做的非常不錯的,一般安裝操作App非常流暢,不會有卡死的情況。
  • Java代碼的編譯與反編譯
    一、什麼是編譯1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
  • 反編譯動態調試smali全過程
    工具準備好了,接下來就開始怎麼調試呢。首先反編譯一個apk,把AndroidManifest.xml在application節點添加一句android:debugable="true" 表示apk 可以調試。改好之後,用apktool 回編譯好。
  • 【Sobug漏洞時間】Android APP安全測試入門
    有句古語:」工欲善其事,必先利其器」,我們要研究App安全,沒有幾款高大上的神器是會非常麻煩的,因此本文主要給大家分享一下筆者學到的一些基礎知識,主要是一些移動端測試輔助工具的使用。模擬器模擬器筆者經常使用有兩款,一款是BlueStacks,這款個人感覺是做的非常不錯的,一般安裝操作App非常流暢,不會有卡死的情況。
  • Android安全幾道入門題目
    市場上一些主流的app雖然多少都做了一些安全防範,但由於大部分app不涉及資金安全,所以對安全的重視程度不夠。本文通過幾個題目可以讓你基本了解android中簡單的但比較經典的漏洞、以及簡單的android註冊機開發的思路。閱讀本文,你可能需要了解android逆向的基本知識和常用工具、非常簡單的java語言、smali的語法知識。本文適合android入門初學者,最基本的東西。大佬請無視!
  • Android編譯本地C++程序方法
    編譯的命令行如下arm-none-linux-gnueabi-g++.exe -static -oandroid123 android123.cpp首先運行arm-none-linux-gnueabi-g++.exe程序-static 參數代表靜態庫,-o為輸出名稱android123,最後的android123.cpp為原始碼。
  • C#軟體防止反編譯之ConfuserEx.exe工具使用方法
    前言:自學了一段時間的C#,之前寫過一個小工具被網友破解了,並好意告知了我,於是對這方面比較注重,防止反編譯的方法很多,這裡介紹下 ConfuserEx.exe工具使用方法,另外,反編譯只是一定程度上保護軟體,並不能百分之百保證不被破解,ConfuserEx.exe防止反編譯工具下載地址:https://pan.baidu.com/s/1gin-zUi7C4VQlVd3FSmcKQ
  • 開發你的第一個 Android 應用
    查看GeoQuiz應用的資源ID需要切換項目視角,你必須勇闖自動生成代碼的世界——Android構建工具為你編寫的代碼。首先,點擊Android Studio窗口頂部工具欄上的錘子按鈕運行編譯工具。如圖1-15所示,Android Studio默認使用Android項目視角。為讓開發者專注於最常用的文件和目錄,默認項目視角隱藏了Android項目的真實文件目錄結構。
  • 添加Metasploit-payload到已有的Android項目中
    可能有人說,目前已經有各種各樣的工具,比如backdoor-apk能夠感染已編譯好的Apk文件,但是經過筆者的測試,這種被感染後的文件使用起來不是很穩定,而且apktool本身有缺陷,導致很多apk反編譯後無法重新編譯。所以,既然有源碼,為何要生成apk後再注入後門?
  • 手把手教學APK反編譯實現源碼閱讀
  • android 工具箱
    1Apk 反編譯或回編譯.bat 2 用 jd-gui 查看(或者轉 jar 文件).bat 可以直接用 jd-gui 打開 apk 或 dex 看java 代碼3,baksmali 或 smali.bat4,Apk 反或回編譯(調試).bat 主要用於 smali 調試打包5,smali 生成 dex 文件.bat