图书介绍
透视Java 反编译、修补和逆向工程技术PDF|Epub|txt|kindle电子书版本网盘下载
![透视Java 反编译、修补和逆向工程技术](https://www.shukui.net/cover/11/33120816.jpg)
- (乌克兰)Alex Kalinovsky著;刘凌,周哲海译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302114145
- 出版时间:2005
- 标注页数:262页
- 文件大小:20MB
- 文件页数:278页
- 主题词:Java
PDF下载
下载说明
透视Java 反编译、修补和逆向工程技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
第1章 入门指南1
1.1 技术综述——使用各种方法的时间和目的1
1.2 利用文件管理器提高程序开发效率3
1.2.1 FAR和Total Commander4
1.2.2 Java IDE6
1.3 示例应用程序的功能和结构7
1.4 快速测试9
1.5 小结9
第2章 反编译类11
2.1 确定何时进行反编译11
2.2 了解最佳的反编译器12
2.3 反编译类14
2.4 反编译可行的要素20
2.5 反编译代码的潜在问题21
2.6 快速测试24
2.7 小结24
第3章 混淆类25
3.1 保护代码背后的构思26
3.2 混淆——一种知识产权的保护措施27
3.3 由混淆程序执行的变换27
3.3.1 去除调试信息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 优化字节码32
3.4 了解最佳的混淆程序32
3.5 潜在问题和通用解决方案33
3.5.1 动态类加载33
3.5.2 反射34
3.5.3 串行化34
3.5.4 违反命名惯例35
3.5.5 维护的难题35
3.6 运用Zelix KlassMaster混淆一个Chat应用程序36
3.7 破解混淆的代码40
3.9 小结41
3.8 快速测试41
第4章 破译类的非公共方法和变量43
4.1 封装的问题43
4.2 访问包和保护类成员44
4.3 访问私有类成员47
4.4 快速测试49
4.5 小结49
第5章 替换和修补应用类51
5.1 当进行各种尝试都失败后应该做什么52
5.2 找到必须修补的类53
5.2.1 常用的方法53
5.2.2 搜寻文本串54
5.3 一个需要修补的示例55
5.2.3 已混淆的代码的处理55
5.3.2 搜寻文本串57
5.3.1 使用类名称57
5.3.3 运用调用堆栈搜寻程序逻辑59
5.4 修补类以提供新逻辑60
5.5 重构应用程序来加载和使用修补的类60
5.6 修补封装的包62
5.7 快速测试63
5.8 小结63
第6章 使用有效的跟踪技术65
6.1 跟踪技术简介65
6.2 跟踪技术是了解软件的有效方法67
6.4.1 有效使用跟踪技术的准则68
6.3 跟踪技术与日志工具和API68
6.4 跟踪技术的使用准则68
6.4.2 不要滥用跟踪技术的准则69
6.5 快速测试70
6.6 小结70
第7章 管理Java安全71
7.1 Java安全概述71
7.2 绕过安全核查73
7.2.1 未安装安全管理器74
7.2.2 安装默认政策的安全管理器74
7.2.3 安装定制政策的安全管理器75
7.4 小结76
7.3 快速测试76
第8章 窥探运行时环境77
8.1 了解运行时环境的价值77
8.2 系统属性78
8.3 系统信息79
8.4 内存信息80
8.5 网络信息81
8.6 访问环境变量82
8.7 快速测试82
8.8 小结83
第9章 用非正式调试程序破译编码85
9.1 了解未知应用程序的内幕85
9.2 传统调试程序及其局限性86
9.3 运用Omniscient调试程序破译87
9.3.1 记录Chat的执行87
9.3.2 浏览信息处理代码89
9.3.3 运用ODB破译混淆的Chat程序版本91
9.4 快速测试92
9.5 小结92
第10章 运用性能分析工具分析应用程序的运行时93
10.1 使用性能分析技术的时机和目的94
10.2 Java的最佳性能分析工具94
10.3 研究堆的使用和垃圾回收频率以提高性能95
10.4 浏览对象分配和引用以发现和修复内存泄漏97
10.5 研究线程的分配和同步101
10.6 识别开销大的方法以提高性能105
10.7 使用线程转储研究运行时的应用程序106
10.8 快速测试107
10.9 小结108
第11章 运用负载测试定位和修正可伸缩性问题109
11.1 负载测试的重要性109
11.2 用JUnit负载测试基于RMI的服务程序111
11.3 用JMeter负载测试115
11.3.1 JMeter概述116
11.3.2 WebCream概述117
11.3.3 创建一个Web测试方案118
11.4 快速测试125
11.5 小结125
12.1 用户界面元素和资源127
第12章 逆向工程的应用127
12.2 破译文本128
12.3 破译图片129
12.4 破译配置文件131
12.5 快速测试131
12.6 小结132
第13章 窃听技术133
13.1 窃听的定义133
13.2 在HTTP上窃听134
13.2.1 用Tunnel捕捉HTTP信息交换135
13.2.2 用网络嗅探器捕捉HTTP信息交换136
13.2.3 保护Web应用程序不被窃听138
13.3.1 RMI传输协议139
13.3 在RMI协议上窃听139
13.3.2 用网络嗅探器截取RMI消息140
13.3.3 保护RMI应用程序不被窃听141
13.4 在JDBC驱动程序和SQL语句上窃听142
13.5 快速测试144
13.6 小结144
第14章 控制类的加载147
14.1 从类加载的角度观察JVM的内部结构147
14.2 编写定制类加载程序151
14.3 快速测试156
14.4 小结156
15.1 为什么麻烦157
第15章 替代和修补核心Java类157
15.2 用启动类路径修补核心Java类158
15.3 修补java.lang.Integer的例子159
15.4 快速测试161
15.5 小结162
第16章 截取控制流163
16.1 控制流的定义164
16.2 截取系统出错信息164
16.3 截取系统流165
16.4 截取对System.exit的调用167
16.5 用hook对JVM的关闭作出反应169
16.6 用动态代理截取方法169
16.7 Java虚拟机性能测量工具接口172
16.9 小结173
16.8 快速测试173
第17章 理解和调整字节码175
17.1 字节码基础175
17.2 用jClassLib字节码查看器查看类文件176
17.3 JVM指令集177
17.4 类文件格式178
17.4.1 字段和方法描述符179
17.4.2 类文件结构180
17.4.3 属性183
17.4.4 字节码的验证183
17.5 操纵和生成字节码184
17.5.1 BCEL概述184
17.5.2 操纵方法185
17.5.3 生成类189
17.5.4 ASM库191
17.6 字节码调整与AOP和动态代理的比较192
17.7 快速测试193
17.8 小结193
第18章 运用本机代码修补法进行总控制195
18.1 何时以及为何要修补本机代码196
18.2 本机代码在Java虚拟机中的用法197
18.2.1 JNI概述197
18.2.2 JNI实现的示例198
18.3 修补本机方法的常用方法200
18.3.3 修补本机代码201
18.3.2 替换本机库文件201
18.3.1 修补Java方法的声明201
18.4 在Windows平台上修补本机代码202
18.4.1 可移植执行体格式202
18.4.2 用函数替代程序修补本机函数205
18.4.3 使用Microsoft Detour库手动修补207
18.5 在Unix平台上修补本机代码209
18.6 快速测试210
18.7 小结211
第19章 保护商用程序免于被破解213
19.1 为应用程序保护设定目标213
19.2 用Java密码体系保护数据215
19.2.1 Java密码体系概述216
19.2.2 用JCA保护Chat的消息217
19.3 保护发布的应用程序不被破译220
19.3.1 保护字节码不被反编译221
19.3.2 保护字节码不被破译221
19.3.3 保护应用程序内容不被破译224
19.4 通过许可证控制软件可用功能229
1 9.4.1 现代软件许可模式229
19.4.2 通过许可证控制商用功能230
19.4.3 Web激活和许可注册237
19.5 快速测试238
19.6 小结238
附录A 商用软件许可241
附录B 资源247
附录C 测试问题解答255