注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計匯編語言/編譯原理透視JAVA:反編譯修補和逆向工程技術(shù)

透視JAVA:反編譯修補和逆向工程技術(shù)

透視JAVA:反編譯修補和逆向工程技術(shù)

定 價:¥36.00

作 者: (烏克蘭)卡里諾維斯蓋;劉凌譯
出版社: 清華大學(xué)出版社
叢編項: 反編譯、修補和逆向工程技術(shù)
標 簽: Java

ISBN: 9787302114147 出版時間: 2005-10-01 包裝: 平裝
開本: 16開 頁數(shù): 262 字數(shù):  

內(nèi)容簡介

  反編譯、修補和逆向工程技術(shù).您是否是到過所有常規(guī)方法都失效的窘境?您是否知道有一種產(chǎn)品能夠準確地解決您所面對的問題,但并沒有文獻來記載其實現(xiàn)方法?您是否正在使用某一第三方庫文件,需要改動其中一些邏輯,卻苦于沒有源代碼?..本書給出了一些如何攻克上述難題的實用方法:反編譯和混淆類;破譯私有變量和方法;替代和修補應(yīng)用類;運用竊聽技術(shù)簡化故障排除和性能調(diào)整;截取控制流并控制類加載;理解和調(diào)整字節(jié)碼;更改第三方應(yīng)用邏輯;破譯JVM的行為;保護商用軟件免于破譯。...本書中提及的一些竅門能夠幫您節(jié)省時間,提高效率。每一章都集中講解一種技術(shù),解決一類問題概述問題所在、給出問題的解決方案,然后給出測試該方案的其他構(gòu)思。

作者簡介

  Alex Kalinovsky是WebCream的一位頂級開發(fā)人員,同時還是一位經(jīng)驗豐富的講師,為不同企業(yè)和組織講授各種有關(guān)企業(yè)級JAVA技術(shù)的課程。作為一名資深的企業(yè)級JAVA架構(gòu)師,Alex經(jīng)常為眾多公司提供JAVA和J2EE技術(shù)方面的專業(yè)咨詢服務(wù),并為JavaWorld Information Week Washington Post以及其他雜志社撰稿,深受廣大JAVA開發(fā)人員的喜愛。 Alex認為本書中所提及的技術(shù)是有爭議的,但正如他在前言中所說:“……任何信息或發(fā)現(xiàn)都是雙刃劍,既可以用來做好事,也可能用來做壞事,本書是為孩子編寫的,如果您是個壞孩子的話,現(xiàn)在就請停止閱讀本書,在測試組找份新工作。”

圖書目錄

第1章  入門指南    1
1.1  技術(shù)綜述—— 使用各種方法的時間和目的    1
1.2  利用文件管理器提高程序開發(fā)效率    3
1.2.1  FAR和Total Commander    4
1.2.2  Java IDE    6
1.3  示例應(yīng)用程序的功能和結(jié)構(gòu)    7
1.4  快速測試    9
1.5  小結(jié)    9
第2章  反編譯類    11
2.1  確定何時進行反編譯    11
2.2  了解最佳的反編譯器    12
2.3  反編譯類    14
2.4  反編譯可行的要素    20
2.5  反編譯代碼的潛在問題    21
2.6  快速測試    24
2.7  小結(jié)    24
第3章  混淆類    25
3.1  保護代碼背后的構(gòu)思    26
3.2  混淆—— 一種知識產(chǎn)權(quán)的保護措施    27
3.3  由混淆程序執(zhí)行的變換    27
3.3.1  去除調(diào)試信息    28
3.3.2  名稱的處理    28
3.3.3  編碼Java字符串    29
3.3.4  改變控制流    30
3.3.5  插入訛用的代碼    31
3.3.6  刪除未使用的代碼(壓縮)    32
3.3.7  優(yōu)化字節(jié)碼    32
3.4  了解最佳的混淆程序    32
3.5  潛在問題和通用解決方案    33
3.5.1  動態(tài)類加載    33
3.5.2  反射    34
3.5.3  串行化    34
3.5.4  違反命名慣例    35
3.5.5  維護的難題    35
3.6  運用Zelix KlassMaster混淆一個Chat應(yīng)用程序    36
3.7  破解混淆的代碼    40
3.8  快速測試    41
3.9  小結(jié)    41
第4章  破譯類的非公共方法和變量    43
4.1  封裝的問題    43
4.2  訪問包和保護類成員    44
4.3  訪問私有類成員    47
4.4  快速測試    49
4.5  小結(jié)    49
第5章  替換和修補應(yīng)用類    51
5.1  當進行各種嘗試都失敗后應(yīng)該做什么    52
5.2  找到必須修補的類    53
5.2.1  常用的方法    53
5.2.2  搜尋文本串    54
5.2.3  已混淆的代碼的處理    55
5.3  一個需要修補的示例    55
5.3.1  使用類名稱    57
5.3.2  搜尋文本串    57
5.3.3  運用調(diào)用堆棧搜尋程序邏輯    59
5.4  修補類以提供新邏輯    60
5.5  重構(gòu)應(yīng)用程序來加載和使用修補的類    60
5.6  修補封裝的包    62
5.7  快速測試    63
5.8  小結(jié)    63
第6章  使用有效的跟蹤技術(shù)    65
6.1  跟蹤技術(shù)簡介    65
6.2  跟蹤技術(shù)是了解軟件的有效方法    67
6.3  跟蹤技術(shù)與日志工具和API    68
6.4  跟蹤技術(shù)的使用準則    68
6.4.1  有效使用跟蹤技術(shù)的準則    68
6.4.2  不要濫用跟蹤技術(shù)的準則    69
6.5  快速測試    70
6.6  小結(jié)    70
第7章  管理Java安全    71
7.1  Java安全概述    71
7.2  繞過安全核查    73
7.2.1  未安裝安全管理器    74
7.2.2  安裝默認政策的安全管理器    74
7.2.3  安裝定制政策的安全管理器    75
7.3  快速測試    76
7.4  小結(jié)    76
第8章  窺探運行時環(huán)境    77
8.1  了解運行時環(huán)境的價值    77
8.2  系統(tǒng)屬性    78
8.3  系統(tǒng)信息    79
8.4  內(nèi)存信息    80
8.5  網(wǎng)絡(luò)信息    81
8.6  訪問環(huán)境變量    82
8.7  快速測試    82
8.8  小結(jié)    83
第9章  用非正式調(diào)試程序破譯編碼    85
9.1  了解未知應(yīng)用程序的內(nèi)幕    85
9.2  傳統(tǒng)調(diào)試程序及其局限性    86
9.3  運用Omniscient調(diào)試程序破譯    87
9.3.1  記錄Chat的執(zhí)行    87
9.3.2  瀏覽信息處理代碼    89
9.3.3  運用ODB破譯混淆的Chat程序版本    91
9.4  快速測試    92
9.5  小結(jié)    92
第10章  運用性能分析工具分析應(yīng)用程序的運行時    93
10.1  使用性能分析技術(shù)的時機和目的    94
10.2  Java的最佳性能分析工具    94
10.3  研究堆的使用和垃圾回收頻率以提高性能    95
10.4  瀏覽對象分配和引用以發(fā)現(xiàn)和修復(fù)內(nèi)存泄漏    97
10.5  研究線程的分配和同步    101
10.6  識別開銷大的方法以提高性能    105
10.7  使用線程轉(zhuǎn)儲研究運行時的應(yīng)用程序    106
10.8  快速測試    107
10.9  小結(jié)    108
第11章  運用負載測試定位和修正可伸縮性問題    109
11.1  負載測試的重要性    109
11.2  用JUnit負載測試基于RMI的服務(wù)程序    111
11.3  用JMeter負載測試    115
11.3.1  JMeter概述    116
11.3.2  WebCream概述    117
11.3.3  創(chuàng)建一個Web測試方案    118
11.4  快速測試    125
11.5  小結(jié)    125
第12章  逆向工程的應(yīng)用    127
12.1  用戶界面元素和資源    127
12.2  破譯文本    128
12.3  破譯圖片    129
12.4  破譯配置文件    131
12.5  快速測試    131
12.6  小結(jié)    132
第13章  竊聽技術(shù)    133
13.1  竊聽的定義    133
13.2  在HTTP上竊聽    134
13.2.1  用Tunnel捕捉HTTP信息交換    135
13.2.2  用網(wǎng)絡(luò)嗅探器捕捉HTTP信息交換    136
13.2.3  保護Web應(yīng)用程序不被竊聽    138
13.3  在RMI協(xié)議上竊聽    139
13.3.1  RMI傳輸協(xié)議    139
13.3.2  用網(wǎng)絡(luò)嗅探器截取RMI消息    140
13.3.3  保護RMI應(yīng)用程序不被竊聽    141
13.4  在JDBC驅(qū)動程序和SQL語句上竊聽    142
13.5  快速測試    144
13.6  小結(jié)    144
第14章  控制類的加載    147
14.1  從類加載的角度觀察JVM的內(nèi)部結(jié)構(gòu)    147
14.2  編寫定制類加載程序    151
14.3  快速測試    156
14.4  小結(jié)    156
第15章  替代和修補核心Java類    157
15.1  為什么麻煩    157
15.2  用啟動類路徑修補核心Java類    158
15.3  修補java.lang.Integer的例子    159
15.4  快速測試    161
15.5  小結(jié)    162
第16章  截取控制流    163
16.1  控制流的定義    164
16.2  截取系統(tǒng)出錯信息    164
16.3  截取系統(tǒng)流    165
16.4  截取對System.exit的調(diào)用    167
16.5  用hook對JVM的關(guān)閉作出反應(yīng)    169
16.6  用動態(tài)代理截取方法    169
16.7  Java虛擬機性能測量工具接口    172
16.8  快速測試    173
16.9  小結(jié)    173
第17章  理解和調(diào)整字節(jié)碼    175
17.1  字節(jié)碼基礎(chǔ)    175
17.2  用jClassLib字節(jié)碼查看器查看類文件    176
17.3  JVM指令集    177
17.4  類文件格式    178
17.4.1  字段和方法描述符    179
17.4.2  類文件結(jié)構(gòu)    180
17.4.3  屬性    183
17.4.4  字節(jié)碼的驗證    183
17.5  操縱和生成字節(jié)碼    184
17.5.1  BCEL概述    184
17.5.2  操縱方法    185
17.5.3  生成類    189
17.5.4  ASM庫    191
17.6  字節(jié)碼調(diào)整與AOP和動態(tài)代理的比較    192
17.7  快速測試    193
17.8  小結(jié)    193
第18章  運用本機代碼修補法進行總控制    195
18.1  何時以及為何要修補本機代碼    196
18.2  本機代碼在Java虛擬機中的用法    197
18.2.1  JNI概述    197
18.2.2  JNI實現(xiàn)的示例    198
18.3  修補本機方法的常用方法    200
18.3.1  修補Java方法的聲明    201
18.3.2  替換本機庫文件    201
18.3.3  修補本機代碼    201
18.4  在Windows平臺上修補本機代碼    202
18.4.1  可移植執(zhí)行體格式    202
18.4.2  用函數(shù)替代程序修補本機函數(shù)    205
18.4.3  使用Microsoft Detour庫手動修補    207
18.5  在Unix平臺上修補本機代碼    209
18.6  快速測試    210
18.7  小結(jié)    211
第19章  保護商用程序免于被破解    213
19.1  為應(yīng)用程序保護設(shè)定目標    213
19.2  用Java密碼體系保護數(shù)據(jù)    215
19.2.1  Java密碼體系概述    216
19.2.2  用JCA保護Chat的消息    217
19.3  保護發(fā)布的應(yīng)用程序不被破譯    220
19.3.1  保護字節(jié)碼不被反編譯    221
19.3.2  保護字節(jié)碼不被破譯    221
19.3.3  保護應(yīng)用程序內(nèi)容不被破譯    224
19.4  通過許可證控制軟件可用功能    229
19.4.1  現(xiàn)代軟件許可模式    229
19.4.2  通過許可證控制商用功能    230
19.4.3  Web激活和許可注冊    237
19.5  快速測試    238
19.6  小結(jié)    238
附錄A  商用軟件許可    241
附錄B  資源    247
附錄C  測試問題解答    255

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號