apk反編譯線上的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列懶人包和總整理

apk反編譯線上的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦FLAPPYPIG戰隊寫的 CTF特訓營:技術詳解、解題方法與競賽技巧 和顧浩鑫的 全能Android絕對正確培養聖經都 可以從中找到所需的評價。

另外網站Apktool M v2.4.0-210715安卓反匯編神器對apk反編譯、打包也說明:APK 修改推薦軟件介紹Apktool M,俄羅斯編程愛好者開發的一款完全免費的APK反編譯工具,用於逆向反編譯和編譯安卓應用和系統應用。支持對apk反編譯、 ...

這兩本書分別來自機械工業 和佳魁資訊所出版 。

國防大學 資訊管理學系 傅振華、張敦仁所指導 邱金燕的 社群通訊應用程式安全性分析之研究 - 以LINE即時通APP為例 (2017),提出apk反編譯線上關鍵因素是什麼,來自於Android、LINE、封包擷取、群組。

而第二篇論文中國文化大學 資訊管理學系 賴谷鑫、杜淑芬所指導 簡毅的 以結構內容相似度為基礎之Android惡意軟體偵測 (2016),提出因為有 靜態分析、逆向工程的重點而找出了 apk反編譯線上的解答。

最後網站Toolfk|線上程式設計師必備工具箱 - WWW網站導航則補充:「Toolfk」是一個專注於程式設計師線上工具箱開發的站點,幫助程式設計 ... 線上轉換、T線上加密工具箱、T線上偽原創工具、T線上APK反編譯、T線上網頁 ...

接下來讓我們看這些論文和書籍都說些什麼吧:

除了apk反編譯線上,大家也想知道這些:

CTF特訓營:技術詳解、解題方法與競賽技巧

為了解決apk反編譯線上的問題,作者FLAPPYPIG戰隊 這樣論述:

本書由國內老牌CTF戰隊FlappyPig撰寫,戰隊成員曾多次榮獲XCTF國際聯賽冠軍、TCTF/0CTF冠軍、WCTF世界駭客大師挑戰賽季軍,多次入圍Defcon全球總決賽,具有豐富的實戰經驗。   本書圍繞CTF競賽需要的安全技術、解題方法和競賽技巧3個維度展開,旨在通過作者扎實的技術功底和豐富的競賽經驗,引領對CTF競賽感興趣的讀者快速入門。書中依據CTF競賽的特點,分別從Web、Reverse、PWN、Crypto、APK、IoT這六個方面系統地對CTF競賽的知識點、模式、技巧進行了深入講解,每一篇都搭配歷年真題,幫助讀者加深理解。全書一共分六篇。   Web篇(第1~8章)主要講解C

TF比賽中Web類型題目的一些基礎知識點與常用的工具和外掛程式,這些知識點和工具也可以用於部分滲透測試的實戰中。Reverse篇(第9~10章)主要對CTF中逆向分析的主要方法、常用分析工具、逆向分析技術和破解方法進行講解,幫助讀者提高逆向分析能力。PWN篇(第11~17章)對PWN二進位漏洞挖掘利用的詳細分析,主要講解了針對各種漏洞的利用方法和利用技巧,作者可以結合實例題目加深理解。Crypto篇(第18~22章)對Crypto類型題目的知識和例題講解,主要從概述、編碼、古典密碼、現代密碼以及真題解析幾個方向進行敘述。   APK篇(第23~25章)講解CTF中的APK的相關內容,主要從AP

K的基礎知識點、Dalvik層的逆向分析技術,以及Native層的逆向分析技術三個方面介紹APK題目的寄出內容、解題方法和競賽技巧。IoT篇(第26~30章)對IoT類型題目的講解,內容涉及IoT、無線通訊的基礎知識和相關題型的解題技巧,幫助大家培養解決IoT相關題目的能力。 FlappyPig   國內老牌知名CTF戰隊,曾獲數十個各級CTF競賽冠亞季軍,具備國際CTF競賽水準,具備豐富的CTF參賽經驗。先後獲得XCTF聯賽總冠軍、XNUCA總決賽冠軍、CISCN冠軍、TCTF/0CTF(Defcon外卡賽)冠軍、WCTF世界駭客大師挑戰賽季軍,連續三年闖進Defcon決

賽,Defcon最好成績第10名。戰隊開發維護了CTFrank網站進行了CTF賽事的rank評級和推薦。 現在以r3kapig聯合戰隊的方式參賽。 戰隊成員挖掘並披露漏洞獲得CVE編號上百枚,向各類SRC報備漏洞數百個。戰隊成員在Geekpwn、天府杯、PWN2OWN等漏洞挖掘類競賽也取得了不錯的成績。 戰隊主要成員目前就職于阿裡巴巴、騰訊、京東等,從事網路安全、漏洞挖掘相關工作。在網路安全競賽、漏洞挖掘、滲透測試等領域具有非常深厚的積累,擅長Web、應用層軟體、作業系統、區塊鏈、嵌入式等多領域的漏洞挖掘與利用。 前 言 第一篇 CTF之Web 第1章 常用工具安裝及

使用 2 1.1 Burp Suite 2 1.2 Sqlmap 8 1.3 流覽器與外掛程式 9 1.4 Nmap 11 第2章 SQL注入攻擊 13 2.1 什麼是SQL注入 13 2.2 可以聯集查詢的SQL注入 14 2.3 報錯注入 14 2.4 Bool 盲注 16 2.5 時間盲注 17 2.6 二次注入 18 2.7 limit之後的注入 20 2.8 注入點的位置及發現 20 2.9 繞過 21 2.10 SQL讀寫文件 24 2.11 小結 24 第3章 跨站腳本攻擊 25 3.1 概述 25 3.2 常見XSS漏洞分類 25 3.3 防護與繞過 29 3.4 危害與利

用技巧 38 3.5 實例 40 第4章 服務端請求偽造 42 4.1 如何形成 42 4.2 防護繞過 43 4.3 危害與利用技巧 43 4.4 實例 46 第5章 利用特性進行攻擊 48 5.1 PHP語言特性 48 5.1.1 弱類型48 5.1.2 反序列化漏洞49 5.1.3 截斷51 5.1.4 偽協議51 5.1.5 變數覆蓋52 5.1.6 防護繞過54 5.2 Windows系統特性 54 第6章 代碼審計 56 6.1 源碼洩露 56 6.2 代碼審計的方法與技巧 61 第7章 條件競爭 67 7.1 概述 67 7.2 條件競爭問題分析及測試 68 第8章 案

例 解 析 73 8.1 NSCTF 2015 Web實例 73 8.2 湖湘杯2016線上選拔賽Web實例 75 8.3 0CTF 2017 Web實例 79 8.4 2019 WCTF 大師賽賽題剖析:P-door 80 本篇小結 87 第二篇 CTF之Reverse 第9章 Reverse 概述 90 9.1 逆向分析的主要方法 90 9.2 彙編指令體系結構 91 9.2.1 x86指令體系91 9.2.2 x64指令體系92 9.3 逆向分析工具介紹 93 9.3.1 反彙編和反編譯工具93 9.3.2 調試器97 9.3.3 Trace類工具100 第10章 Reverse

分析 102 10.1 常規逆向分析流程 102 10.1.1 關鍵代碼定位102 10.1.2 常見加密演算法識別104 10.1.3 求解flag109 10.2 自動化逆向 113 10.2.1 IDAPython114 10.2.2 PythonGdb114 10.2.3 pydbg115 10.2.4 Angr115 10.3 幹擾分析技術及破解方法 116 10.3.1 花指令116 10.3.2 反調試117 10.3.3 加殼119 10.3.4 控制流混淆121 10.3.5 雙進程保護124 10.3.6 虛擬機器保護127 10.4 指令碼語言的逆向 132 10.4.

1 .NET程式逆向132 10.4.2 Python程式逆向135 10.4.3 Java程式逆向137 本篇小結 139 第三篇 CTF之PWN 第11章 PWN 基礎 142 11.1 基本工具 142 11.2 保護機制 143 11.3 PWN類型 143 11.4 常見利用方法 144 11.5 程式記憶體佈局 149 11.6 真題解析 150 第12章 棧相關漏洞 166 12.1 棧介紹 166 12.1.1 函數棧的調用機制167 12.1.2 函數參數傳遞168 12.2 棧溢出 169 12.2.1 基本概念169 12.2.2 覆蓋棧緩衝區的具體用途170 12

.3 棧的特殊利用 177 12.4 棧噴射 177 12.5 執行緒棧 178 12.6 真題解析 184 12.6.1 {ZCTF-2015} guess(PWN100)184 12.6.2 {ZCTF-2015} spell (PWN300)187 12.6.3 {Codegate-2015} Chess(PWN700)189 12.6.4 {RCTF-2015} Welpwn(PWN200)196 第13章 堆相關漏洞 198 13.1 堆介紹 198 13.1.1 堆基本資料結構chunk198 13.1.2 堆空閒塊管理結構bin200 13.1.3 malloc基本規則201

13.1.4 free基本規則201 13.1.5 tcache202 13.2 漏洞類型 204 13.3 利用方法 206 13.3.1 最基本的堆利用206 13.3.2 unlink208 13.3.3 fastbin attack211 13.3.4 forgotten chunk212 13.3.5 house of force217 13.3.6 house of spirit218 13.3.7 house of orange218 13.3.8 堆噴射224 13.3.9 更多堆利用技巧224 13.4 真題解析 225 第14章 格式化字串漏洞 244 14.1 基本概念

244 14.2 資訊洩露與修改 245 14.3 額外技巧 249 14.4 真題解析 254 14.4.1 {CCTF-2016} PWN3(PWN350)254 14.4.2 {RCTF-2015} nobug(PWN300)256 14.4.3 {LCTF-2016} PWN200258 第15章 整型漏洞 261 15.1 寬度溢出 261 15.2 符號轉換 263 15.3 陣列越界 264 15.4 真題解析 265 第16章 邏輯漏洞 269 16.1 基本概念 269 16.2 競態條件漏洞 269 16.3 真題解析 271 第17章 Attack&Defense

模式 273 17.1 修補方案 273 17.1.1 大小修改法273 17.1.2 函數替換法275 17.1.3 .eh_frame 段Patch法276 17.1.4 其他方法277 17.2 攻防策略 277 相關知識連結推薦 278 本篇小結 279 第四篇 CTF之Crypto 第18章 Crypto 概述 282 第19章 編碼 284 19.1 hex 284 19.2 urlencode 286 19.3 morsecode 286 19.4 jsfuck 289 19.5 uuencode 291 19.6 base家族 291 第20章 古典密碼 294 20.

1 移位元密碼 294 20.1.1 簡單移位元密碼 294 20.1.2 曲路密碼 296 20.1.3 雲影密碼 296 20.1.4 柵欄密碼 296 20.2 替代密碼 298 20.2.1 單表替代密碼 298 20.2.2 多表替代密碼 303 第21章 現代密碼 309 21.1 區塊編碼器和序列密碼 309 21.1.1 DES/AES基本加解密 309 21.1.2 區塊編碼器CBC bit翻轉攻擊 310 21.1.3 區塊編碼器CBC選擇密文攻擊 312 21.1.4 區塊編碼器CBC padding oracle攻擊 312 21.1.5 Feistel結構分析 31

3 21.1.6 攻擊偽亂數發生器 314 21.2 公開金鑰密碼 319 21.2.1 RSA基礎 319 21.2.2 直接模數分解 320 21.2.3 費馬分解和Pollard_rho分解 322 21.2.4 公約數模數分解 325 21.2.5 其他模數分解方式 327 21.2.6 小指數明文爆破 329 21.2.7 選擇密文攻擊 330 21.2.8 LLL-attack 330 21.2.9 Wiener Attack & Boneh Durfee Attack 334 21.2.10 共模攻擊 338 21.2.11 廣播攻擊 340 21.2.12 相關消息攻擊 342

21.2.13 DSA 343 21.3 雜湊 344 21.3.1 雜湊碰撞 344 21.3.2 雜湊長度擴展攻擊 345 第22章 真題解析 348 22.1 SUPEREXPRESS 348 22.2 VIGENERE 350 22.3 Revolver 357 22.4 Railgun 362 本篇小結 365 第五篇 CTF之APK 第23章 APK基礎 368 23.1 Android題目類型 368 23.2 Android基本架構 368 23.2.1 Android的Dalvik虛擬機器 369 23.2.2 Native層 369 23.3 ARM架構基礎知識 3

69 23.3.1 函式呼叫/跳轉指令 370 23.3.2 出棧入棧指令 371 23.3.3 保存/恢復寄存器的值 371 23.4 adb 371 23.5 APK檔案格式 372 第24章 Dalvik層逆向分析 373 24.1 Dalvik基礎知識 373 24.1.1 寄存器 374 24.1.2 類型 374 24.1.3 方法 375 24.1.4 指令特點 375 24.2 靜態分析 376 24.2.1 使用Apktool反編譯APK程式 376 24.2.2 使用dex2jar生成jar檔 379 24.2.3 使用jd-gui查看反編譯的Java代碼 380 24.

2.4 使用FernFlower反編譯Jar檔 381 24.2.5 使用Android Killer / jadx / APK Studio逆向分析平臺 381 24.2.6 使用JEB進行靜態分析 388 24.2.7 其他的靜態分析軟體 393 24.3 動態調試 394 24.3.1 使用log調試 394 24.3.2 smali動態調試 396 24.3.3 使用Xposed框架Hook進程 400 24.3.4 使用Frida框架Hook進程 405 24.4 Dalvik層混淆及加固技術 409 24.4.1 ProGuard混淆 409 24.4.2 DEX破壞 409 24

.4.3 APK偽加密 410 24.4.4 APK增加資料 410 24.4.5 DEX隱藏 410 第25章 Native層逆向 411 25.1 Native層介紹 411 25.1.1 正向—使用NDK編寫Native層應用 411 25.1.2 JNI調用特徵分析 413 25.2 使用IDA Pro靜態分析 419 25.3 動態調試 423 25.3.1 使用IDA Pro進行動態調試 423 25.3.2 使用GDB進行動態調試 425 25.3.3 使用Frida框架HOOK進程 428 25.4 OLLVM混淆及加固技術 430 25.4.1 -fla 431 25.4.

2 -bcf 432 25.4.3 -sub 434 本篇小結 436 第六篇 CTF之IoT 第26章 IoT基礎知識 438 26.1 什麼是IoT 438 26.2 什麼是嵌入式系統 439 26.3 嵌入式系統的基本概念 439 26.4 CTF中常見的IoT題型歸類 441 第27章 IoT固件逆向工程 443 27.1 常見IoT架構介紹 443 27.2 晶片手冊的尋找與閱讀 446 27.3 使用IDA手動尋找固件入口點 450 27.4 寄存器位址和SRAM位址的處理方法 453 27.5 IDA之CPU高級選項 456 27.6 動態調試環境搭建 458 27.7 專

業調試工具 459 27.8 反編譯工具 469 第28章 固件結構分析 470 28.1 常見固件類型 470 28.2 Flash檔案系統 471 28.3 固件基底位址確定方法 471 28.4 固件分析工具 473 第29章 無線信號分析 475 29.1 無線通訊基本理論介紹 475 29.2 常見調製方式與解調方法 476 29.3 Matlab在數位信號處理中的應用 478 第30章 經典賽題講解 483 30.1 PCTF2016:Confused ARM 483 30.2 UCTF2016資格賽:TWI 486 30.3 UCTF2016決賽:Normandie 491

30.4 ACTF2016:4G Radio 498 30.5 UCTF2016資格賽:感測器(1)(2) 500 30.6 UCTF2016資格賽:Add 502 本篇小結 506

社群通訊應用程式安全性分析之研究 - 以LINE即時通APP為例

為了解決apk反編譯線上的問題,作者邱金燕 這樣論述:

自20世紀90年代以來,網際網路提供了我們一個廉價和便捷的方式和遠方的人進行探索與交流。多種服務已經融合於一台行動裝置上,其中,最值得關注的可能就是社交網路。隨著越來越多的互聯關係和線上服務,對消費者安全和隱私的擔憂也越來越大。Android是目前最廣為大眾接受的智慧型手機作業平台,而LINE是台灣使用率最高的通訊軟體,故本研究著重在即時通訊軟體LINE進行群組通訊時,進行資訊安全議題的分析與研究。在本研究中,我們先將Android智慧型手機進行提權,並運用多種工具,例如:Wireshark或是TCPdump擷取及分析LINE在網際網路上所傳送的封包。另外,運用File Sync、Ultra

Edit及DB Browser for SQLite,對LINE的目錄進行檔案比對並檢查儲存的資料訊息。經分析LINE傳輸封包結果,我們發現LINE在傳輸中的封包內容無法被讀取且被加密。但檢查前後相異的檔案及儲存訊息,發現部分內容,例如:使用者帳號及部分敏感資訊是以明文方式儲存,但有關公、私鑰或密碼則是以加密方式儲存在特定的資料夾中。依據分析結果,我們得出結論:LINE在傳輸訊息上是安全的,但是LINE在訊息儲存上部分使用明文方式非絕對安全。

全能Android絕對正確培養聖經

為了解決apk反編譯線上的問題,作者顧浩鑫 這樣論述:

  Android的書這麼多,要找到真正幫你培養全職能的書卻不容易。   這是一本來自第一線網路公司的真正實作產品方案的完整過程,而非簡單說明一下Android的函數庫,開發原理等基礎書籍。全書包括了規劃、設計、測試、佈署、多人協作、好用工具等等,這林林總總,都是從血淋淋的網際網路產品戰場上打下的基礎。   看完本書,就具備了世界前500大網路公司的寶貴開發經驗,是想成為全能Android高手的必讀。   本書從結構上分為8 篇,共50 個基礎知識。   ■ 基礎篇:這是百分比最大的篇章,雖然名為基礎篇,但你應該了解為是進階裡面的基礎知識,而非Android 開發入門的基礎知識。本篇主

要包含AndroidView、動畫、Support Library、Gradle、NDK、ANR、非同步技術、註釋、資料序列化和Hybrid 等知識點。   ■ 系統架構篇:本篇偏重介紹架構和專案整體的相關知識,主要包含UI 架構、事件匯流排、程式開發標準和技術堆疊等基礎知識。   ■ 經驗歸納篇:本篇偏重介紹Android 專案實作中得出的經驗,主要包含64K方法數限制、外掛程式架構、發送原理、APP 瘦身、Crash 統計等基礎知識。   ■ 新技術篇:本篇偏重介紹新近出現的技術點,當然可能本書出版時已經不是最新了,但並不妨礙其重要性,主要包含函數式程式設計思想簡介、依賴植入、Kot

lin、React Native、線上熱修復、AOP 和Facebook Buck 等基礎知識。   ■ 效能最佳化篇:本篇偏重介紹目前Android 平台常見的效能最佳化相關知識,主要包含程式最佳化、圖片最佳化、電量最佳化、版面配置最佳化和網路最佳化等基礎知識。   ■ 移動安全篇:本篇偏重介紹很多應用中經常會忽略的安全知識,主要包含混淆、反編譯、金鑰隱藏、強化和如何撰寫安全的程式等基礎知識。   ■ 工具篇:本篇介紹了Android 開發中會用到的幾個工具,主要包含AndroidStudio、Stetho、LeakCanary 和Redex 等基礎知識。   ■ 測試篇:本篇介紹了

測試相關的知識,這部分是很多開發人員經常容易忽略的內容,本質上屬於測試領域,但開發人員需要有所了解,主要包含Android 單元測試、UI 自動化測試、靜態程式分析和自動化建置等工具。   適用: Android 應用研發專案師、電腦相關科系的學生。   作者簡介 顧浩鑫   網路 ID:ASCE1885   平安金融科技行動研發工程師,目前主要從事 Android & React Native 相關研發工作,先後就職於華為、百度、平安科技。   前言 第1篇 基礎篇 01 Android 觸控事件傳遞機制 1.1 觸控事件的類型 1.2 事件傳遞的三個階段 1

.3 View 的事件傳遞機制 1.4 ViewGroup 的事件傳遞機制 02 Android View 的繪製流程 2.1 繪製的整體流程 2.2 MeasureSpec 2.3 Measure 2.4 Layout 2.5 Draw 03 Android 動畫機制 3.1 逐頁框動畫(Frame Animation) 3.2 補間動畫(Tween Animation)1.2 JSX 語法 3.3 屬性動畫(Property Animation) 3.4 過場動畫(Transition Animation) 04 Support Annotation Library 使用詳解 4.1 Nu

llness 註釋 4.2 資源類型註釋 4.3 類型定義註釋 4.4 執行緒註釋 4.5 RGB 顏色值註釋 4.6 值範圍註釋 4.7 許可權註釋 4.8 重新定義函數註釋 4.9 傳回值註釋 4.10 @VisibleForTesting 4.11 @Keep 05 Percent Support Library 使用詳解 06 Design Support Library 使用詳解 6.1 Snackbar 6.2 TextInputLayout 6.3 TabLayout 6.4 NavigationView 6.5 FloatingActionButton 6.6 Coordina

torLayout 6.7 CollapsingToolbarLayout 6.8 BottomSheetBehavior 07 Android Studio 中的NDK 開發 7.1 ABI 的基本概念 7.2 引用預先編譯的二進位C/C++ 函數程式庫 7.3 直接從C/C++ 原始程式編譯 7.4 使用.so 檔案的注意事項 08 Gradle 一定要會 8.1 共用變數的定義 8.2 通用設定3.6 React Patch 方法 8.3 aar 函數程式庫的參考 8.4 簽名和混淆的設定 09 透過Gradle 套件裝發佈函數程式庫到JCenter 和Maven Central 9.1

Maven Central 和JCenter 9.2 Android Studio 取得函數程式庫的原理 9.3 上傳函數程式庫到JCenter 10 Builder 模式詳解 10.1 經典的Builder 模式 10.2 Builder 模式的變種 10.3 變種Builder 模式的自動化產 10.4 開放原始碼函數程式庫的實 11 註釋在Android 中的應用 11.1 註釋的定義 11.2 標準註釋 11.3 執行時期註釋 11.4 編譯時註釋 12 ANR 產生的原因及其定位分析 12.1 ANR 產生的原因 12.2 典型的ANR 問題場景 12.3 ANR 的定位和分析 1

2.4 ANR 的避免和檢測 13 Android 非同步處理技術 13.1 Thread 13.2 HandlerThread 13.3 AsyncQueryHandler 13.4 IntentService 13.5 Executor Framework 13.6 AsyncTask 13.7 Loader 13.8 歸納 14 Android 資料序列化方案研究 14.1 Serializable 14.2 Parcelable 14.3 SQLiteDatabase 14.4 SharedPreferences 14.5 JSON 14.6 Protocol Buffers 及Nan

o-Proto-Buffers 14.7 FlatBuffers 15 Android WebView Java 和JavaScript 互動詳解 15.1 Java 呼叫JavaScript 15.2 JavaScript 呼叫Java 第2篇 系統架構篇 16 MVP 模式及其在Android 中的實作 16.1 MVP 的基本概念 16.2 MVP 與MVC 的區別 16.3 MVP 的開放原始碼實現 16.4 MVP 的好處 16.5 MVP 存在的問題 17 MVVM 模式及Android DataBinding 實戰 17.1 Data Binding 運算式 17.2 資料物件

17.3 資料綁定 17.4 事件綁定 18 觀察者模式的擴充:事件匯流排 18.1 為何要使用 18.2 原理 18.3 開放原始碼實現 18.4 與觀察者模式及Android 廣播的區 19 撰寫簡潔標準的程式 19.1 Java 編碼標準 19.2 Android 命名標準 19.3 CheckStyle 的使用 20 以開放原始碼專案架設屬於自己為基礎的技術堆疊 20.1 APP 的整體架構 20.2 技術選型的考量點 20.3 記錄檔記錄能力 20.4 JSON 解析能力 20.5 資料庫操作能力 20.6 網路通訊能力 20.7 圖片快取和顯示能力A.4 測試環境:Karma

第3篇 經驗歸納篇 21 64K 方法數限制原理與解決方案 21.1 64K 限制的原因 21.2 使用MultiDex 解決64K 限制的問題 21.3 如何避免出現64K 限制 21.4 設定MultiDex 21.5 MultiDex Support Library 的限制 21.6 在開發階段最佳化MultiDex 的建置 22 Android 外掛程式架構機制研究與實作 22.1 基本概念 22.2 開放原始碼架構 23 發送機制實現原理詳解 23.1 發送的開放原始碼實現方案 23.2 發送的協力廠商平台 . 23.3 自己實現發送功能 24 APP 瘦身經驗歸納 24.1 APP

為什麼變胖了 24.2 從APK 檔案的結構說起 24.3 最佳化圖片資源佔用的空間 24.4 使用Lint 刪除無用資源 24.5 利用Android Gradle 設定 24.6 重構和最佳化程式 24.7 資源混淆 24.8 外掛程式化 25 Android Crash記錄檔收集原理與實作 25.1 Java 層Crash 捕捉機制 25.2 Native 層Crash 捕捉機制 25.3 Crash 的上報 第4篇 新技術篇 26 函數式程式設計思想及其在Android 中的應用 26.1 程式的簡化 26.2 Operators 簡介 27 依賴植入及其在Android 中的應用

27.1 基本概念 27.2 為何需要架構 27.3 開放原始碼架構的選擇 28 Android世界的Swift:Kotlin 在Android 中的應用 28.1 選擇Kotlin 的原因 28.2 Kotlin 的安裝和設定 28.3 Kotlin 語言的特性 28.4 Kotlin 的Gradle 設定 28.5 將Java 類別轉換成Kotlin 類 28.6 相關資料 29 React Native For Android 入門指南 29.1 環境設定 29.2 Android 開發環境的要求 29.3 React Native 專案設定 29.4 Android Studio 專

案概覽 29.5 React Native 依賴函數庫修改為本 29.6 React Native 學習建議 30 Android 線上熱修復方案研究 30.1 線上熱修復的基本流程 30.2 Dexposed 30.3 AndFix 3.4 Nuwa 30.5 歸納 31 針對切面程式設計及其在Android 中的應用 31.1 AOP 的基本概念 31.2 程式織入的時機 31.3 基於AspectJ 實現Android 平台的AOP 31.4 其他AOP 開放原始碼架構 32 基於Facebook Buck 改造Android 建置系統 32.1 Buck 環境設定 32.2 快速建立以

Buck 建置為基礎的Android 專案 32.3 Buck 的基本概念 32.4 專案改造實戰 32.5 Buck 的自動化改造 第5篇 效能最佳化篇 33 程式最佳化 33.1 資料結構的選擇 33.2 Handler 和內部類別的正確用法 33.3 正確地使用Context 33.4 掌握Java 的四種參考方式 33.5 其他程式微最佳化 34 圖片最佳化 34.1 圖片的格式 34.2 圖片的壓縮 34.3 圖片的快取 35 電量最佳化 35.1 BroadcastReceiver 35.2 資料傳輸 35.3 位置服務 35.4 AlarmManager 35.5 WakeLo

ck 36 版面配置最佳化 36.1 include 標籤共用版面配置 36.2 ViewStub 標籤實現延遲載入 36.3 merge 標籤減少版面配置層次 36.4 儘量使用CompoundDrawable 36.5 使用Lint 37 網路最佳化 37.1 避免DNS 解析 37.2 合併網路請求 37.3 預先取得資料 37.4 避免輪詢 37.5 最佳化重連機制 37.6 離線快取 37.7 壓縮資料大小 37.8 不同的網路環境使用不同的逾時策略 37.9 CDN 的使用 第6篇 移動安全篇 38 Android 混淆機制詳解 38.1 Java 程式的混淆 38.2 Nati

ve(C/C++)程式的混淆 38.3 資源檔的混淆 39 Android 反編譯機制詳解 39.1 資源檔的反編譯 39.2 Java 程式的反編譯 40 用戶端敏感資訊隱藏技術研究 40.1 敏感資訊巢狀結構在strings.xml 中 40.2 敏感資訊隱藏在Java 原始程式碼中 40.3 敏感資訊隱藏在BuildConfig 中 40.4 使用DexGuard 40.5 對敏感資訊進行偽裝或加密 40.6 敏感資訊隱藏在原生函數程式庫中(.so 檔案) 40.7 對APK 進行強化處理 41 Android 強化技術研究 41.1 愛加密的主要功能 41.2 常見APP 漏洞及風險

41.3 Android 程式反破解技術 41.4 強化技術研究知識儲備 42 Android 安全的程式 42.1 WebView 遠端程式執行 42.2 WebView 密碼明文儲存 42.3 Android 本機拒絕服務 42.4 SharedPreference 全域任意讀寫 42.5 金鑰強制寫入 42.6 AES/DES/RSA 弱加密 42.7 隨機函數使用錯誤 42.8 WebView 忽略SSL 憑證 42.9 HTTPS 憑證弱驗證 42.10 PendingIntent 使用不當 第7篇 工具篇 43 Android 偵錯工具Facebook Stetho 43.1 視

圖版面配置監視 43.2 資料庫監視 43.3 網路監視 43.4 dumpapp 43.5 Javascript 主控台 43.6 最佳做法 44 記憶體洩漏檢測函數程式庫LeakCanary 44.1 基本概念 44.2 LeakCanary 的整合 44.3 LeakCanary 的原理 44.4 LeakCanary 的訂製 45 基於Facebook Redex 實現Android APK 的壓縮和最佳化 45.1 轉換的時機 45.2 管線的思想 45.3 減少位元組碼的意義 45.4 混淆和壓縮 45.5 使用內聯函數 45.6 無用程式的消除 45.7 Redex 的整合和使用

46 Android Studio 你所需要知道的功能 46.1 Annotate 46.2 .ignore 外掛程式 46.3 Live Templates 46.4 整合Bug 管理系統 第8篇 測試篇 47 Android 單元測試架構簡介 47.1 Java 單元測試架構Junit 47.2 Android 單元測試架構Robolectric 3.0 47.3 Java 模擬測試架構Mockito1 48 Android UI 自動化測試架構簡介 48.1 Monkey 48.2 MonkeyRunner 48.3 UIAutomator 48.4 Robotium 48.5 Es

presso 48.6 Appium 49 Android 靜態程式分析實戰 49.1 Java 程式標準檢查工具CheckStyle 49.2 Java 靜態程式分析工具FindBugs 49.3 Java 靜態程式分析工具PMD 49.4 Android 程式最佳化工具Lint 50 基於Jenkins+Gradle 架設Android 持續整合編譯環境 50.1 Tomcat 的下載和啟動 50.2 Jenkins 的下載和執行 50.3 Jenkins 外掛程式的安裝 50.4 Jenkins 全域設定 50.5 JOB 相關的操作 50.6 Jenkins 預先定義的環境變數 前

言   Android 應用程式開發發展到今天,已經成為一個非常成熟的技術方向,市面上湧現了大量關於Android 開發的圖書,整體來說可以分為以下幾種。   ■ 入門實戰類別:這類圖書是市面上最多的,也是開發者比較青睞的一種圖書,基本上介紹的都是Android 的基礎知識,例如介面開發、資料儲存、網路通訊、資料庫操作、感測器使用等,最後附上一兩個簡單實戰專案的介紹。建議讀者在入門的時候買一本評價還不錯的入門實戰書學習一遍,然後結合實際專案進行知識加強即可,之後這種書基本上扮演的是工具書的角色,就是在忘記某個基礎知識的時候到書中查一查重新溫習一遍。   ■ 原始程式分析類別:這類圖書又可

以分為Framework 層原始程式分析類別和Native 層原始程式分析類別兩種,這類圖書主要針對從事Android 系統開發的讀者。當然,從事應用程式開發的讀者如果對Android Framework 等底層的實現原理有所了解的話那也是大有裨益的,而且相對而言更有優勢。   ■ 安全和逆向分析類別:這類圖書主要介紹的是Android 平台的軟體安全、逆向分析及加解密技術等,主要有關Android 軟體的靜態分析、動態偵錯、破解及反破解等技術。這個方向的知識既有Android 應用程式開發者所需要的,也有Android 系統開發者所需要的,職場上也有專門的Android 系統安全相關的職務

。   ■ 系統移植和驅動類別:這類圖書主要介紹的是Android 核心、移植和驅動開發的整個底層嵌入式開發知識,這一種基礎知識其實並不能算作移動端開發,本質上屬於傳統的嵌入式開發領域,畢竟Android 底層就是一個Linux 系統。   以上便是目前筆者所看到的Android 圖書市場所覆蓋的內容,可以說是大而全。但事實上在筆者看來,還有一種圖書是目前沒有出現的,那就是表現第一線網際網路公司專案實作中有關的重要基礎知識,筆者將之歸類為第5 類別:專案實作類別。希望本書能夠彌補這個空白,並期待能夠看到更多這類圖書的出現。   ✤ 本書內容   本書從結構上分為8 篇,共50 個基礎知

識。   ■ 基礎篇:這是百分比最大的篇章,雖然名為基礎篇,但你應該了解為是進階裡面的基礎知識,而非Android 開發入門的基礎知識。本篇主要包含AndroidView、動畫、Support Library、Gradle、NDK、ANR、非同步技術、註釋、資料序列化和Hybrid 等知識點。   ■ 系統架構篇:本篇偏重介紹架構和專案整體的相關知識,主要包含UI 架構、事件匯流排、程式開發標準和技術堆疊等基礎知識。   ■ 經驗歸納篇:本篇偏重介紹Android 專案實作中得出的經驗,主要包含64K方法數限制、外掛程式架構、發送原理、APP 瘦身、Crash 統計等基礎知識。   ■

新技術篇:本篇偏重介紹新近出現的技術點,當然可能本書出版時已經不是最新了,但並不妨礙其重要性,主要包含函數式程式設計思想簡介、依賴植入、Kotlin、React Native、線上熱修復、AOP 和Facebook Buck 等基礎知識。   ■ 效能最佳化篇:本篇偏重介紹目前Android 平台常見的效能最佳化相關知識,主要包含程式最佳化、圖片最佳化、電量最佳化、版面配置最佳化和網路最佳化等基礎知識。   ■ 移動安全篇:本篇偏重介紹很多應用中經常會忽略的安全知識,主要包含混淆、反編譯、金鑰隱藏、強化和如何撰寫安全的程式等基礎知識。   ■ 工具篇:本篇介紹了Android 開發中會

用到的幾個工具,主要包含AndroidStudio、Stetho、LeakCanary 和Redex 等基礎知識。   ■ 測試篇:本篇介紹了測試相關的知識,這部分是很多開發人員經常容易忽略的內容,本質上屬於測試領域,但開發人員需要有所了解,主要包含Android 單元測試、UI 自動化測試、靜態程式分析和自動化建置等工具。   ✤ 讀者對象   本書的適合讀者群如下。   ■ Android 應用研發專案師   ■ 電腦相關科系的學生   ✤ 致謝   感謝董英編輯找到我並建議我出一本關於Android 開發相關的圖書,不然也不會有這本書的存在;感謝妻子戀戀對我的寫作和生活的鼓

勵和陪伴;感謝父母和老師對我的培養;感謝我曾經就職的公司:華為、百度、平安科技,以及現在所在的平安金融科技;感謝華為PTN、華為發送、百度文函數庫、百度導覽、百度坐計程車、Hyperion、任意門、銀行一賬通等專案的兄弟姐妹們,是過往的這些公司和團隊磨礪了我。   ✤ 勘誤與互動   讀者如果發現本書文字、程式和圖片等資訊存在錯誤或紕漏,歡迎回饋給我。對書中內容或Android 應用程式開發中有什麼疑問,也可以與我互動,我會定期發佈本書的勘誤資訊,並解答大家的疑問。   我的相關資訊如下:GitHub:github.com/ASCE1885  

以結構內容相似度為基礎之Android惡意軟體偵測

為了解決apk反編譯線上的問題,作者簡毅 這樣論述:

近年來智慧型手機已經成為市場上的主流,日常生活中有越來越多擁有強大運算能力和可以儲存大量資料的行動裝置,也因此讓較私密的資料,像是個人資料、帳號密碼甚至是金融資料等,都有可能成為被盜取濫用的資訊。隨著運算能力的提升與行動通訊技術的進步,行動裝置變得更普及化、上網人口的比率也在逐漸增加。因此,行動裝置也出現以往個人電腦所面臨的威脅,像是木馬程式的攻擊、資料的盜取、阻斷式攻擊與勒索攻擊等。手機惡意軟體推陳出新的速度非常快,每天都會有新的版本和變種出現,有鑑於此本研究認為惡意程式從出現到被發現、擷取與完成特徵碼分析之間的空窗期是必須被縮短的,所以本研究首先利用逆向工程技術還原原始碼,再利用原始碼裡

的class-method-API製作結構圖,再利用MI選出惡意程式常用的API,最後透過比對上述結構圖包含敏感API的部分來判斷是否為惡意程式。