無作為
不僅僅是一種態度!

Android軟件安全與逆向分析PDF電子書

Android軟件安全與逆向分析是一本有關于安卓逆向知識的書籍,許多大神給新手的意見都是先了解一些關于安卓逆向的基本指令,最近無作為也在慢慢學習,也把這本書推薦給學習路上的童鞋們。

Android軟件安全與逆向分析

這是來自豐生強(網名非蟲)寫的一本有關于安卓逆向的書籍——Android軟件安全與逆向分析。
本書主要從軟件安全和系統安全兩個方面講解Android平臺存在的攻擊與防范方法。

本書由淺入深、循序漸進地講解了Android 系統的軟件安全、逆向分析與加密解密技術。包括Android軟件逆向分析和系統安全方面的必備知識及概念、如何靜態分析Android 軟件、如何動態調試Android 軟件、Android 軟件的破解與反破解技術的探討,以及對典型Android 病毒的全面剖析。

推薦理由

蟲大的書不必多說,入門必備,全書較為系統化學習。

章節目錄

第1章  Android程序分析環境搭建  1
1.1  Windows分析環境搭建  1
1.1.1  安裝JDK  1
1.1.2  安裝Android SDK  3
1.1.3  安裝Android NDK  5
1.1.4  Eclipse集成開發環境  6
1.1.5  安裝CDT、ADT插件  6
1.1.6  創建Android Virtual Device  8
1.1.7  使用到的工具  9
1.2  Linux分析環境搭建  9
1.2.1  本書的Linux環境  9
1.2.2  安裝JDK  9
1.2.3  在Ubuntu上安裝Android SDK  10
1.2.4  在Ubuntu上安裝Android NDK  11
1.2.5  在Ubuntu上安裝Eclipse集成開發環境  12
1.2.6  在Ubuntu上安裝CDT、ADT插件  13
1.2.7  創建Android Virtual Device  13
1.2.8  使用到的工具  15
1.3  本章小結  15
第2章  如何分析Android程序  16
2.1  編寫第一個Android程序  16
2.1.1  使用Eclipse創建Android工程  16
2.1.2  編譯生成APK文件  19
2.2  破解第一個程序  20
2.2.1  如何動手?  20
2.2.2  反編譯APK文件  20
2.2.3  分析APK文件  21
2.2.4  修改Smali文件代碼  26
2.2.5  重新編譯APK文件并簽名  26
2.2.6  安裝測試  27
2.3  本章小結  28
第3章  進入Android Dalvik虛擬機  29
3.1  Dalvik虛擬機的特點——掌握Android程序的運行原理  29
3.1.1  Dalvik虛擬機概述  29
3.1.2  Dalvik虛擬機與Java虛擬機的區別  29
3.1.3  Dalvik虛擬機是如何執行程序的  34
3.1.4  關于Dalvik虛擬機JIT(即時編譯)  36
3.2  Dalvik匯編語言基礎為分析Android程序做準備  37
3.2.1  Dalvik指令格式  37
3.2.2  DEX文件反匯編工具  39
3.2.3  了解Dalvik寄存器  40
3.2.4  兩種不同的寄存器表示方法——v命名法與p命名法  42
3.2.5  Dalvik字節碼的類型、方法與字段表示方法  43
3.3  Dalvik指令集  44
3.3.1  指令特點  45
3.3.2  空操作指令  45
3.3.3  數據操作指令  46
3.3.4  返回指令  46
3.3.5  數據定義指令  46
3.3.6  鎖指令  47
3.3.7  實例操作指令  47
3.3.8  數組操作指令  48
3.3.9  異常指令  48
3.3.10  跳轉指令  48
3.3.11  比較指令  49
3.3.12  字段操作指令  50
3.3.13  方法調用指令  50
3.3.14  數據轉換指令  51
3.3.15  數據運算指令  51
3.4  Dalvik指令集練習——寫一個Dalvik版的Hello World  52
3.4.1  編寫smali文件  52
3.4.2  編譯smali文件  54
3.4.3  測試運行  54
3.5  本章小結  55
第4章  Android可執行文件  56
4.1  Android程序的生成步驟  56
4.2  Android程序的安裝流程  59
4.3  dex文件格式  66
4.3.1  dex文件中的數據結構  66
4.3.2  dex文件整體結構  68
4.3.3  dex文件結構分析  71
4.4  odex文件格式  80
4.4.1  如何生成odex文件  80
4.4.2  odex文件整體結構  81
4.4.3  odex文件結構分析  83
4.5  dex文件的驗證與優化工具dexopt的工作過程  88
4.6  Android應用程序另類破解方法  91
4.7  本章小結  93
第5章  靜態分析Android程序  94
5.1  什么是靜態分析  94
5.2  快速定位Android程序的關鍵代碼  94
5.2.1  反編譯apk程序  94
5.2.2  程序的主Activity  95
5.2.3  需重點關注的Application類  95
5.2.4  如何定位關鍵代碼——六種方法  96
5.3  smali文件格式  97
5.4  Android程序中的類  100
5.4.1  內部類  100
5.4.2  監聽器  102
5.4.3  注解類  105
5.4.4  自動生成的類  108
5.5  閱讀反編譯的smali代碼  110
5.5.1  循環語句  110
5.5.2  switch分支語句  115
5.5.3  try/catch語句  121
5.6  使用IDA Pro靜態分析Android程序  127
5.6.1  IDA Pro對Android的支持  127
5.6.2  如何操作  128
5.6.3  定位關鍵代碼——使用IDA Pro進行破解的實例  132
5.7  惡意軟件分析工具包——Androguard  135
5.7.1  Androguard的安裝與配置  135
5.7.2  Androguard的使用方法  137
5.7.3  使用Androguard配合Gephi進行靜態分析  144
5.7.4  使用androlyze.py進行靜態分析  148
5.8  其他靜態分析工具  152
5.9  閱讀反編譯的Java代碼  152
5.9.1  使用dex2jar生成jar文件  152
5.9.2  使用jd-gui查看jar文件的源碼  153
5.10  集成分析環境——santoku  154
5.11  本章小結  156
第6章  基于Android的ARM匯編語言基礎——逆向原生!  157
6.1  Android與ARM處理器  157
6.1.1  ARM處理器架構概述  157
6.1.2  ARM處理器家族  158
6.1.3  Android支持的處理器架構  159
6.2  原生程序與ARM匯編語言——逆向你的原生Hello ARM  160
6.2.1  原生程序逆向初步  160
6.2.2  原生程序的生成過程  162
6.2.3  必須了解的ARM知識  164
6.3  ARM匯編語言程序結構  166
6.3.1  完整的ARM匯編程序  166
6.3.2  處理器架構定義  167
6.3.3  段定義  168
6.3.4  注釋與標號  169
6.3.5  匯編器指令  169
6.3.6  子程序與參數傳遞  170
6.4  ARM處理器尋址方式  170
6.4.1  立即尋址  170
6.4.2  寄存器尋址  171
6.4.3  寄存器移位尋址  171
6.4.4  寄存器間接尋址  171
6.4.5  基址尋址  171
6.4.6  多寄存器尋址  171
6.4.7  堆棧尋址  172
6.4.8  塊拷貝尋址  172
6.4.9  相對尋址  172
6.5  ARM與Thumb指令集  173
6.5.1  指令格式  173
6.5.2  跳轉指令  174
6.5.3  存儲器訪問指令  175
6.5.4  數據處理指令  177
6.5.5  其他指令  184
6.6  用于多媒體編程與浮點計算的NEON與VFP指令集  185
6.7  本章小結  186
第7章  Android NDK程序逆向分析  187
7.1  Android中的原生程序  187
7.1.1  編寫一個例子程序  187
7.1.2  如何編譯原生程序  188
7.2  原生程序的啟動流程分析  194
7.2.1  原生程序的入口函數  194
7.2.2  main函數究竟何時被執行  198
7.3  原生文件格式  199
7.4  原生C程序逆向分析  200
7.4.1  原生程序的分析方法  200
7.4.2  for循環語句反匯編代碼的特點  204
7.4.3  if…else分支語句反匯編代碼的特點  208
7.4.4  while循環語句反匯編代碼的特點  211
7.4.5  switch分支語句反匯編代碼的特點  215
7.4.6  原生程序的編譯時優化  218
7.5  原生C++程序逆向分析  222
7.5.1  C++類的逆向  222
7.5.2  Android NDK對C++特性的支持  225
7.5.3  靜態鏈接STL與動態鏈接STL的代碼區別  227
7.6  Android NDK JNI API逆向分析  232
7.6.1  Android NDK提供了哪些函數  232
7.6.2  如何靜態分析Android NDK程序  233
7.7  本章小結  235
第8章  動態調試Android程序  236
8.1  Android動態調試支持  236
8.2  DDMS的使用  237
8.2.1  如何啟動DDMS  237
8.2.2  使用LogCat查看調試信息  238
8.3  定位關鍵代碼  240
8.3.1  代碼注入法——讓程序自己吐出注冊碼  240
8.3.2  棧跟蹤法  244
8.3.3  Method Profiling  247
8.4  使用AndBug調試Android程序  250
8.4.1  安裝AndBug  251
8.4.2  使用AndBug  251
8.5  使用IDA Pro調試Android原生程序  254
8.5.1  調試Android原生程序  255
8.5.2  調試Android原生動態鏈接庫  256
8.6  使用gdb調試Android原生程序  260
8.6.1  編譯gdb與gdbserver  260
8.6.2  如何調試  262
8.7  本章小結  264
第9章  Android軟件的破解技術  265
9.1  試用版軟件  265
9.1.1  試用版軟件的種類  265
9.1.2  實例破解——針對授權KEY方式的破解  265
9.2  序列號保護  271
9.3  網絡驗證  272
9.3.1  網絡驗證保護思路  272
9.3.2  實例破解——針對網絡驗證方式的破解  273
9.4  In-app Billing(應用內付費)  277
9.4.1  In-app Billing原理  277
9.4.2  In-app Billing破解方法  280
9.5  Google Play License保護  281
9.5.1  Google Play License保護機制  281
9.5.2  實例破解——針對Google Play License方式的破解  283
9.6  重啟驗證  284
9.6.1  重啟驗證保護思路  285
9.6.2  實例破解——針對重啟驗證方式的破解  285
9.7  如何破解其他類型的Android程序  296
9.7.1  Mono for Android開發的程序及其破解方法  296
9.7.2  Qt for Android開發的程序及其破解方法  301
9.8  本章小結  309
第10章  Android程序的反破解技術  310
10.1  對抗反編譯  310
10.1.1  如何對抗反編譯工具  310
10.1.2  對抗dex2jar  311
10.2  對抗靜態分析  312
10.2.1  代碼混淆技術  312
10.2.2  NDK保護  315
10.2.3  外殼保護  316
10.3  對抗動態調試  316
10.3.1  檢測調試器  316
10.3.2  檢測模擬器  317
10.4  防止重編譯  318
10.4.1  檢查簽名  318
10.4.2  校驗保護  319
10.5  本章小結  320
第11章  Android系統攻擊與防范  321
11.1  Android系統安全概述  321
11.2  手機ROOT帶來的危害  321
11.2.1  為什么要ROOT手機  321
11.2.2  手機ROOT后帶來的安全隱患  322
11.2.3  Android手機ROOT原理  322
11.3  Android權限攻擊  329
11.3.1  Android權限檢查機制  329
11.3.2  串謀權限攻擊  333
11.3.3  權限攻擊檢測  336
11.4  Android組件安全  339
11.4.1  Activity安全及Activity劫持演示  340
11.4.2  Broadcast Receiver 安全  343
11.4.3  Service安全  345
11.4.4  Content Provider安全  346
11.5  數據安全  347
11.5.1  外部存儲安全  347
11.5.2  內部存儲安全  348
11.5.3  數據通信安全  350
11.6  ROM安全  351
11.6.1  ROM的種類  352
11.6.2  ROM的定制過程  352
11.6.3  定制ROM的安全隱患  359
11.6.4  如何防范  360
11.7  本章小結  361
第12章  DroidKongFu變種病毒實例分析  362
12.1  DroidKongFu病毒介紹  362
12.2  配置病毒分析環境  363
12.3  病毒執行狀態分析  364
12.3.1  使用APIMonitor初步分析  365
12.3.2  使用DroidBox動態分析  369
12.3.3  其他動態分析工具  373
12.4  病毒代碼逆向分析  376
12.4.1  Java層啟動代碼分析  376
12.4.2  Native層啟動代碼分析  381
12.4.3  Native層病毒核心分析  393
12.5  DroidKongFu病毒框架總結  404
12.6  病毒防治  406
12.7  本章小結  406

最后pdf版本的電子書+書本內設計的源代碼軟件都給大家打包。


歷史上的今天:
贊(14) 打賞
所有免費資源、福利、電影、破解軟件未經允許不得轉載:www.btilnp.live無作為 » Android軟件安全與逆向分析PDF電子書

留下評論 1

  1. #1

    怎么下載

    whq0124172年前 (2018-07-12)回復

無作為-不僅僅是一種態度

登錄/注冊廣告合作

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞

广西风采快三