java安卓逆向看什麼書
1. java學習路線
根據個人實際的經歷,結合多種書籍,特別整理出了下面的java學習路線:
一、Java SE部分
1、java基礎:基礎語法;面向對象(重點);集合框架(重點);常見類庫API;
2、java界面編程:AWT;事件機制;Swing;
3、java高級知識:Annotation;IO和NIO、AIO;多線程、線程池;阻塞、非阻塞、非同步網路通信;反射、動態代理;
二、JDBC編程
4、SQL基礎:基礎SQL語句;基本查詢;多表查詢;子查詢;結果集的交、並、差運算;
5、JDBC基礎:常見資料庫用法;JDBC操作常見資料庫;RowSet與離線結果集;資料庫連接池;事務管理、批處理;
6、JDBC進階:存儲過程、函數;觸發器;理解JCBC的不足;掌握ORM工具優勢和設計;
三、DHTML編程
7、HTML基礎:基本HTML標簽;常見表單標簽;DIV+CSS布局;
8、JavaScript知識:javascript基本語法;javascript基本對象特徵;Json語法;深刻理解javascript的動態特徵;
9、Dom和事件機制:DOM操作、編程;常見瀏覽器事件機制;掌握用戶交互技巧;
四、XML編程
10、XML基礎:XML基礎規則;DTD和SCheme;XML和樣式單;
11、XML進階:DOM、SAX和JAXP;dom4j、JDOM等工具;XQuery和XQJ;基於XML的數據交換;
12、Web Service:JAX_WS2、SAAJ規范;WSDL和SOAP協議;CXF框架、攔截器;CXF整合Spring;
五、Java Web編程
13、Web編程基礎:Tomcat伺服器;Jsp語法、EL、內置對象;Servlet API;Servlet 3.0註解;Listener和Filter;
14、Web編程進階:自定義標簽庫;MVC和DAO、Servlet、標簽的作用;JSTL、DisplayTag等常見標簽庫用法;
15、Web編程原理:請求/響應、架構;Http協議;深刻理解Jsp運行原理;掌握Web容器底層的線程池、socket通信、調用Servlet的命令模式;
六、Ajax編程:
16、Ajax編程:XML HttpRequest和非同步請求;發送請求和處理響應;常見Ajax庫(Prototype、Jquery、ExtJs、DWR)用法;結合Http協議、非同步請求深入研究ajax庫的設計;
七、Android開發
17、Android基礎:Android開發調試環境;Android應用結構;界面組件與界面編程;資源管理;四大組件;
18、Android中級:文件IO和SQLite;圖形、圖像與動畫;音頻、視頻的錄制與播放;感測器編程;GPS應用;
19、Android高級:網路編程與Web Service;OpenGL_ES 3D開發;整合Google服務;使用NDK開發;java和c相互調試;
八、輕量級Java EE
17、Struts2:MVC與struts體系;Action和Result;國際化和標簽庫;文件上傳、下載;類型轉換和輸入檢驗;攔截器與插件開發;
18、Hibernate:ORM與持久化映射;關系映射、繼承映射;延遲載入、性能調優;HQL查詢、條件查詢、SQL查詢;二級緩存和查詢緩存;
19、Spring:IoC與Bean配置、管理;Bean生命周期;SP、EL;AOP與事務許可權控制;S2SH整合開發;Spring整合Jpa;
九、經典Java EE
20、JSF<選學>:MVC與JSF設計理念;託管Bean與導航模型;JSF流程與事件機制;JSF標簽庫;類型轉換與輸入檢驗;
21、EJB及相關技術:JNPI與RMI;會話Bean及其生命周期;IoC與EJB攔截器;JMS與MDB;會話Bean與Web Service;
22、JPA:ORM框架與JPA規范;JPA註解與常用API;JTA事務與事務管理;JPQL查詢;EJB、JPA整合;
十、Java 拓展、進階:
23、Java EE實踐與架構:Ant+Ivy或Maven;SVN、CVS;深刻理解10種以上設計模式;掌握各種Java EE架構及各自優勢;
24、Workflow:Workflow規范及功能;JBPM等workflow框架;多次重構、反復思考;大型項目經驗;
25、Java EE進階:掌握各MVC框架運行原理、能開發類似框架;掌握Spring、HiveMind、AspectJ等框架原理、能開發類似工具;掌握Hibernate、iBatis等框架原理,能開發類似工具;深入研究EJB機制、大致了解應用伺服器的實現;
希望對您有所幫助!~
2. Android軟體安全與逆向分析的書名
本書由淺入深、循序漸進地講解了Android 系統的軟體安全、逆向分析與加密解密技術。包括Android軟體逆向分析和系統安全方面的必備知識及概念、如何靜態分析Android 軟體、如何動態調試Android 軟體、Android 軟體的破解與反破解技術的探討,以及對典型Android 病毒的全面剖析。
本書適合所有Android 應用開發者、Android 系統開發工程師、Android 系統安全工作者閱讀學習。 豐生強(網名非蟲)
Android軟體安全專家。看雪論壇Android安全版版主;安卓巴士開發交流版版主。
對Android軟體與系統安全有狂熱的愛好和獨到的見解,對Android系統的全部源代碼進行過深入地研究和分析。逆向分析實戰經驗豐富。
在國內信息安全雜志上發表過多篇有價值的軟體安全文章,目前就職於國內某Android開發企業,常年混跡於看雪論壇(ID非蟲)。
作者郵箱:[email protected]
願與國內安全愛好者共同交流與探討安全技術。 第1章 Android程序分析環境搭建11.1 Windows分析環境搭建11.1.1 安裝JDK11.1.2 安裝Android SDK31.1.3 安裝Android NDK51.1.4 Eclipse集成開發環境61.1.5 安裝CDT、ADT插件61.1.6 創建Android Virtual Device81.1.7 使用到的工具91.2 Linux分析環境搭建91.2.1 本書的Linux環境91.2.2 安裝JDK91.2.3 在Ubuntu上安裝Android SDK101.2.4 在Ubuntu上安裝Android NDK111.2.5 在Ubuntu上安裝Eclipse集成開發環境121.2.6 在Ubuntu上安裝CDT、ADT插件131.2.7 創建Android Virtual Device131.2.8 使用到的工具151.3 本章小結15第2章 如何分析Android程序162.1 編寫第一個Android程序162.1.1 使用Eclipse創建Android工程162.1.2 編譯生成APK文件192.2 破解第一個程序202.2.1 如何動手?202.2.2 反編譯APK文件202.2.3 分析APK文件212.2.4 修改Smali文件代碼262.2.5 重新編譯APK文件並簽名262.2.6 安裝測試272.3 本章小結28第3章 進入Android Dalvik虛擬機293.1 Dalvik虛擬機的特點——掌握Android程序的運行原理293.1.1 Dalvik虛擬機概述293.1.2 Dalvik虛擬機與Java虛擬機的區別293.1.3 Dalvik虛擬機是如何執行程序的343.1.4 關於Dalvik虛擬機JIT(即時編譯)363.2 Dalvik匯編語言基礎為分析Android程序做准備373.2.1 Dalvik指令格式373.2.2 DEX文件反匯編工具393.2.3 了解Dalvik寄存器403.2.4 兩種不同的寄存器表示方法——v命名法與p命名法423.2.5 Dalvik位元組碼的類型、方法與欄位表示方法433.3 Dalvik指令集443.3.1 指令特點453.3.2 空操作指令453.3.3 數據操作指令463.3.4 返回指令463.3.5 數據定義指令463.3.6 鎖指令473.3.7 實例操作指令473.3.8 數組操作指令483.3.9 異常指令483.3.10 跳轉指令483.3.11 比較指令493.3.12 欄位操作指令503.3.13 方法調用指令503.3.14 數據轉換指令513.3.15 數據運算指令513.4 Dalvik指令集練習——寫一個Dalvik版的Hello World523.4.1 編寫smali文件523.4.2 編譯smali文件543.4.3 測試運行543.5 本章小結55第4章 Android可執行文件564.1 Android程序的生成步驟564.2 Android程序的安裝流程594.3 dex文件格式664.3.1 dex文件中的數據結構664.3.2 dex文件整體結構684.3.3 dex文件結構分析714.4 odex文件格式804.4.1 如何生成odex文件804.4.2 odex文件整體結構814.4.3 odex文件結構分析834.5 dex文件的驗證與優化工具dexopt的工作過程884.6 Android應用程序另類破解方法914.7 本章小結93第5章 靜態分析Android程序945.1 什麼是靜態分析945.2 快速定位Android程序的關鍵代碼945.2.1 反編譯apk程序945.2.2 程序的主Activity955.2.3 需重點關注的Application類955.2.4 如何定位關鍵代碼——六種方法965.3 smali文件格式975.4 Android程序中的類1005.4.1 內部類1005.4.2 監聽器1025.4.3 註解類1055.4.4 自動生成的類1085.5 閱讀反編譯的smali代碼1105.5.1 循環語句1105.5.2 switch分支語句1155.5.3 try/catch語句1215.6 使用IDA Pro靜態分析Android程序1275.6.1 IDA Pro對Android的支持1275.6.2 如何操作1285.6.3 定位關鍵代碼——使用IDA Pro進行破解的實例1325.7 惡意軟體分析工具包——Androguard1355.7.1 Androguard的安裝與配置1355.7.2 Androguard的使用方法1375.7.3 使用Androguard配合Gephi進行靜態分析1445.7.4 使用androlyze.py進行靜態分析1485.8 其他靜態分析工具1525.9 閱讀反編譯的Java代碼1525.9.1 使用dex2jar生成jar文件1525.9.2 使用jd-gui查看jar文件的源碼1535.10 集成分析環境——santoku1545.11 本章小結156第6章 基於Android的ARM匯編語言基礎——逆向原生!1576.1 Android與ARM處理器1576.1.1 ARM處理器架構概述1576.1.2 ARM處理器家族1586.1.3 Android支持的處理器架構1596.2 原生程序與ARM匯編語言——逆向你的原生Hello ARM1606.2.1 原生程序逆向初步1606.2.2 原生程序的生成過程1626.2.3 必須了解的ARM知識1646.3 ARM匯編語言程序結構1666.3.1 完整的ARM匯編程序1666.3.2 處理器架構定義1676.3.3 段定義1686.3.4 注釋與標號1696.3.5 匯編器指令1696.3.6 子程序與參數傳遞1706.4 ARM處理器定址方式1706.4.1 立即定址1706.4.2 寄存器定址1716.4.3 寄存器移位定址1716.4.4 寄存器間接定址1716.4.5 基址定址1716.4.6 多寄存器定址1716.4.7 堆棧定址1726.4.8 塊拷貝定址1726.4.9 相對定址1726.5 ARM與Thumb指令集1736.5.1 指令格式1736.5.2 跳轉指令1746.5.3 存儲器訪問指令1756.5.4 數據處理指令1776.5.5 其他指令1846.6 用於多媒體編程與浮點計算的NEON與VFP指令集1856.7 本章小結186第7章 Android NDK程序逆向分析1877.1 Android中的原生程序1877.1.1 編寫一個例子程序1877.1.2 如何編譯原生程序1887.2 原生程序的啟動流程分析1947.2.1 原生程序的入口函數1947.2.2 main函數究竟何時被執行1987.3 原生文件格式1997.4 原生C程序逆向分析2007.4.1 原生程序的分析方法2007.4.2 for循環語句反匯編代碼的特點2047.4.3 if...else分支語句反匯編代碼的特點2087.4.4 while循環語句反匯編代碼的特點2117.4.5 switch分支語句反匯編代碼的特點2157.4.6 原生程序的編譯時優化2187.5 原生C++程序逆向分析2227.5.1 C++類的逆向2227.5.2 Android NDK對C++特性的支持2257.5.3 靜態鏈接STL與動態鏈接STL的代碼區別2277.6 Android NDK JNI API逆向分析2327.6.1 Android NDK提供了哪些函數2327.6.2 如何靜態分析Android NDK程序2337.7 本章小結235第8章 動態調試Android程序2368.1 Android動態調試支持2368.2 DDMS的使用2378.2.1 如何啟動DDMS2378.2.2 使用LogCat查看調試信息2388.3 定位關鍵代碼2408.3.1 代碼注入法——讓程序自己吐出注冊碼2408.3.2 棧跟蹤法2448.3.3 Method Profiling2478.4 使用AndBug調試Android程序2508.4.1 安裝AndBug2518.4.2 使用AndBug2518.5 使用IDA Pro調試Android原生程序2548.5.1 調試Android原生程序2558.5.2 調試Android原生動態鏈接庫2568.6 使用gdb調試Android原生程序2608.6.1 編譯gdb與gdbserver2608.6.2 如何調試2628.7 本章小結264第9章 Android軟體的破解技術2659.1 試用版軟體2659.1.1 試用版軟體的種類2659.1.2 實例破解——針對授權KEY方式的破解2659.2 序列號保護2719.3 網路驗證2729.3.1 網路驗證保護思路2729.3.2 實例破解——針對網路驗證方式的破解2739.4 In-app Billing(應用內付費)2779.4.1 In-app Billing原理2779.4.2 In-app Billing破解方法2809.5 Google Play License保護2819.5.1 Google Play License保護機制2819.5.2 實例破解——針對Google Play License方式的破解2839.6 重啟驗證2849.6.1 重啟驗證保護思路2859.6.2 實例破解——針對重啟驗證方式的破解2859.7 如何破解其他類型的Android程序2969.7.1 Mono for Android開發的程序及其破解方法2969.7.2 Qt for Android開發的程序及其破解方法3019.8 本章小結309第10章 Android程序的反破解技術31010.1 對抗反編譯31010.1.1 如何對抗反編譯工具31010.1.2 對抗dex2jar31110.2 對抗靜態分析31210.2.1 代碼混淆技術31210.2.2 NDK保護31510.2.3 外殼保護31610.3 對抗動態調試31610.3.1 檢測調試器31610.3.2 檢測模擬器31710.4 防止重編譯31810.4.1 檢查簽名31810.4.2 校驗保護31910.5 本章小結320第11章 Android系統攻擊與防範32111.1 Android系統安全概述32111.2 手機ROOT帶來的危害32111.2.1 為什麼要ROOT手機32111.2.2 手機ROOT後帶來的安全隱患32211.2.3 Android手機ROOT原理32211.3 Android許可權攻擊32911.3.1 Android許可權檢查機制32911.3.2 串謀許可權攻擊33311.3.3 許可權攻擊檢測33611.4 Android組件安全33911.4.1 Activity安全及Activity劫持演示34011.4.2 Broadcast Receiver 安全34311.4.3 Service安全34511.4.4 Content Provider安全34611.5 數據安全34711.5.1 外部存儲安全34711.5.2 內部存儲安全34811.5.3 數據通信安全35011.6 ROM安全35111.6.1 ROM的種類35211.6.2 ROM的定製過程35211.6.3 定製ROM的安全隱患35911.6.4 如何防範36011.7 本章小結361第12章 DroidKongFu變種病毒實例分析36212.1 DroidKongFu病毒介紹36212.2 配置病毒分析環境36312.3 病毒執行狀態分析36412.3.1 使用APIMonitor初步分析36512.3.2 使用DroidBox動態分析36912.3.3 其他動態分析工具37312.4 病毒代碼逆向分析37612.4.1 Java層啟動代碼分析37612.4.2 Native層啟動代碼分析38112.4.3 Native層病毒核心分析39312.5 DroidKongFu病毒框架總結40412.6 病毒防治40612.7 本章小結406
3. ANDROID程序編程初學者應該看那一些書
《Android編程入門教程andbook》
andbook是我看到的最簡單但最好的Android程序開發入門書籍,內容僅有60多頁,圖文並茂,如果你從來沒有接觸過Android開發,也完全可以通過閱讀此書了解程序開發過程,甚至對APK程序的基本原理和Android UI界面開發有個清晰的認識,相信你花上幾個小時讀過後,一定會躍躍欲試加入Android開發行列,心動吧,那就行動吧。
《Android應用開發詳解》
Android應用開發詳解是一本Android應用開發書籍,既適合Android初學者,也適合具備了一定Android開發經驗但需要開發案例的高級讀者。 該書分為三個部分,共18章,由淺入深地詳細介紹了Android的每個開發細節。 該書基礎翔實,實例豐富,案例真實。從基礎到案例覆蓋了Android應用開發的三大領域:基礎應用、網路應用和游戲應用。讀者所需要學習的,正是該書描述的。
《深入淺出Android–Google手持設備應用程序設計》
入門書籍,作者寫的很不錯,可以在閱讀SDK的同時閱讀這本書,中間的一些使用介紹的非常清楚,最重要的是中文版的。
《Google Android應用框架原理與程式設計36技》
最早介紹Android的中文書籍,台灣人寫的繁體版的,看得有些影響,不過還是值得耐心閱讀的。
《Android A Programmer』s Guide》
多個專家寫的介紹Android的書籍,內容寫的很不錯,Ask the Expert部分針對一些問題作了詳細的說明。
《Android Essentials》
對Android介紹的比較全面,從安裝到開發,應該有新版本了。
《Google Android SDK開發範例大全(第2版)》
以Android手機應用程序開發(採用Android SDK 2.1)為主題,通過160多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。
《Google Android開發入門與實戰》
內容上覆蓋了用Android開發的大部分場景,從Android基礎介紹、環境搭建、SDK介紹、Market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個Android平台下的完整綜合實例及源代碼分析,分別是RSS閱讀器、基於Google Map的個人GPS、豆瓣網(Web 2.0)客戶端、在線音樂播放器、手機信息助手,為初學者學習與實踐結合提供了很好的指導。
《Android平台開發之旅》
涵蓋了Android平台1.5到2.2版本的主要功能特性,立足實際的開發案例,介紹了Android手機平台開發的基礎概念、實用技術和應用模式。主要內容包括:平台基礎、開發環境搭建、程序框架、高級界面和底層界面設計、文件系統管理、網路通信、無線通信、多媒體編程、個人信息管理、電話系統、資料庫應用、XML應用和地圖應用。開發實例多達120例。
《如何成為Android高手》
成為一名真正的Android 高手必須掌握和遵循的一些准則:
1. 學會懶惰
2. 精通Android體系架構、MVC、常見的設計模式、控制反轉(IoC)
3. 編寫可重用、可擴展、可維護、靈活性高的代碼
4. 高效的編寫高效的代碼
5. 學會至少一門伺服器端開發技術
《Android開發指南中文版之應用程序框架》
Android SDK1.5版的英文開發資料Android Development Guide中應用程序框架部分的翻譯PDF文件。
4. 我想學習安卓軟體開發,用java做安卓手機界面,目前有c語言的基礎,自學了java,請問那些書比較好
首先,自學的話,書是必不可少的,我推薦幾本學習編程的書,作為過來人,這些書非常適合初學者。
關於java的學習,個人非常推薦《java編程藝術》和《thinking in java》。《java編程藝術》這本書好像有七百多頁肆型虧,我也不是很記得,這本書對很多細節都有詳細的敘述,thinking in java就不多說了,必讀之書。
關於android編程學習,個人推薦《深入淺出google android》和《android核心技術與實例詳解》,這兩本書真的很適合初學android的人。
想學好編程,除了練習代碼之外,看多一些書也是非常重要,我的學校圖書館有很多編程書,我都看了不知多少本,每看一本書都有很大收獲,多看書真的很重要。
第二,善於上網找資料也是很重要的,網上有各種原代碼,各種視頻,各種心得體會。還有很多實際運用,這是書沒的。
第三,編程需要耐心,忌浮誇,正所謂堅持就是勝利。尤其是編程,不要遇到難題就放棄,當你的水平到了一定水平之後就會發現以前的難題都不算什麼。
第四,拿來主義,我覺得在編程的學習上是比較重要。不是說抄別人的源碼,而是先理解後模仿,在理解的同時想下有沒有可以改進的地方。
第五,學android之前,必須有扎實的java基礎,這是必須的,不要只是半桶水就學習android,否則越學android會越困難。
第六,要是對編程不是有很大興趣,單純覺得會編程很牛,可以在小白面前說幾個專業術語裝大神,我建議不要浪費時間。正所謂言者不智,智者裂神不言,低調,再低調,真正的高租滾手很多都是比較低調(我言了,所以我不是高手。偶爾我虛榮心暴增,會裝一下B,大家多見諒),多去一下編程論壇學習。
5. 推薦幾本安卓開發的書籍,我學過一點點java,也算有點java基礎的
最好的java學習,最全的java學習
《瘋狂Java講義》---本書並不是一本簡單的Java入門教材,也不是一門「閉門造車」式的Java讀物。本書來自於筆者6年多的Java培訓經歷,凝結了筆者近6000個小時的授課經驗,總結了上千個Java學員學習過程中的典型錯誤。
《瘋狂Android講義》---本書全面地介紹了Android應用開發的相關知識。
《輕量級Java EE企業應用實戰--Struts 2+Spring+Hibernate整合開發》---本書是《輕量級Java EE企業應用實戰》的第3版,第3版保持了第2版內容全面、深入的特點,主要完成全部知識的升級。
《 瘋狂Java 突破程序員基本功16課》、《瘋狂XML講義》、《瘋狂Ajax講義Prototype/jQuery+DWR+Spring+Hibernate整合開發》、《Struts 2.1權威指南--基於WebWork核心的MVC開發》、《經典Java EE企業應用實戰》
《瘋狂HTML 5/CSS 3/JavaScript講義》 --- 本書是一本全面介紹HTML5、CSS 3和JavaScript前端開發技術的圖書,本書系統地介紹了HTML 5常用的元素和屬性,HTML 5的表單元素和屬性,HTML 5的繪圖支持,HTML 5的多媒體支持,CSS 3的功能和用法、包括最前沿的變形與動畫功能等。配合『瘋狂java』官網上的視頻學習。「李剛老師視頻」、「肖文吉老師視頻」「李韓飛老師視頻」