天天看點

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

APK基本結構

解壓後的安卓目錄
目錄名 意義
assets 資源檔案(圖檔、音頻、資料庫、網頁、配置檔案等)
res 資源檔案,需要編譯(布局)圖檔、圖示、字元串、樣式、顔色
lib 各種平台下使用的對應的so檔案
libs 第三方包、存放so檔案
META-INF APK簽名檔案
resources.arsc 資源加密(語言包)
AndroidManifest.xml 清單檔案(圖示、界面、權限、入口)
classes.dex 源代碼

虛拟機

JVM

Java

虛拟機,運作的是

.java

檔案編譯後的

.class

檔案

DVM

Android4.4 及以前使用的都是 Dalvik 虛拟機,
  • Apk 在打包的過程中會先将 java 等源碼通過

    javac

    編譯成

    .class

    檔案
  • Dalvik 虛拟機隻會執行

    .dex

    檔案,是以dx會将

    .class

    檔案轉換成Dalvik虛拟機執行的

    .dex

    檔案。
  • Dalvik 虛拟機在啟動的時候會先将

    .dex

    檔案轉換成快速運作的機器碼,我們的 app啟動慢,是因為應用冷啟動的時候有一個合包的過程 Dalvik 虛拟機的 JIT 特性。

ART

ART 虛拟機是在 Android5.0 才開始使用的Android虛拟機
  • ART 虛拟機必須要相容 Dalvik 虛拟機的特性,但是ART有一個很好的特性AOT(ahead of time),這個特性就是我們在安裝APK的時候就将dex直接處理成可直接供ART虛拟機使用的機器碼
  • ART 虛拟機将

    .dex

    檔案轉換成可直接運作的

    .oat

    檔案,ART虛拟機天生支援多 dex,是以也不會有一個合包的過程,是以ART虛拟機會很大的提升APP冷啟動速度。
  • Xposed hook

    的是Java代碼,是以

    Xposed 87版

    不支援

    5.0

    以及以上系統。
  • Xposed 89版

    支援安卓

    5.0-7.1

Mac 正向開發環境配置

IDE、JDK、SDK下載下傳

選擇 Mac 環境包

IDE中心 JDK下載下傳 SDK下載下傳

IDE、JDK、SDK配置

把這三個檔案解壓放到工作目錄中,因為後面要連結這裡,你要記住這個目錄位址;然後我們先安裝jdk

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

如果是按照教程按照的話,那麼 JDK 路徑在

/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

建立 android studio 項目

建立新項目

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

項目結構概述

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

配置模拟器

選擇模拟器機型運作

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

如果沒有機型那麼點選 create 一個

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

按照好之後運作,hellow word 再現江湖

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

簽名

為什麼要簽名

統要求每一個Android應用程式必須要經過數字簽名才能夠安裝到系統中,也就是說如果一個Android應用程式沒有經過數字簽名,是沒有辦法安裝到 系統中的!Android通過數字簽名來辨別應用程式的作者和在應用程式之間建立信任關系,不是用來決定最終使用者可以安裝哪些應用程式。這個數字簽名由應 用程式的作者完成,并不需要權威的數字證書簽名機構認證,它隻是用來讓應用程式包自我認證的。

生成 jks 簽名

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

建立簽名

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

導入簽名檔案

逆向APP基礎掃盲APK基本結構虛拟機Mac 正向開發環境配置簽名逆向工具下載下傳逆向輔助工具

逆向工具下載下傳

mac 環境下玩逆向, 很多工具不用了, 需要配置 windows 虛拟機

jadx

作者目前在更新

  • 官方代碼倉庫
  • GUI版本下載下傳
  • 優點 更新快,反編譯牛逼,代碼清晰
  • 缺點 吃記憶體,不過還好我是 32G 記憶體哈哈

JEB

  • 官方網站
  • 優點 可動态調試, 記憶體消耗小
  • 缺點 收費, 反編譯出來的java僞代碼展示性不夠友好

Android Killer

Mac 用不了,隻能裝在 win10 虛拟機上。作者已經停止更新但部分功能比較好用。

GDA

Mac 用不了,最後一次更新是2015年, 作者看來看來打算更新了
  • 下載下傳網址

逆向輔助工具

模拟器

想擷取python學習資料的小夥伴可以加QQ:728711576