内容简介:Hello同志们,大家开学好啊!转眼间已经到3月份了,29、30、31号放完假之后开学又要好好学习啦!新学期新气象,今天小安就来给大家带来一本新书《Android软件安全与逆向分析》,本书适合Android开发人员、安全研究人员及对Android系统安全感兴趣的读者阅读。 答应我,2019也要继续好好学习鸭~(
Hello同志们,大家开学好啊!转眼间已经到3月份了,29、30、31号放完假之后开学又要好好学习啦!新学期新气象,今天小安就来给大家带来一本新书《Android软件安全与逆向分析》,本书适合Android开发人员、安全研究人员及对Android系统安全感兴趣的读者阅读。 答应我,2019也要继续好好学习鸭~( 福利见文末 ,别怪我没提前告诉你哦)
作者简介
内容简介
本书从平台搭建和语言基础开始,循序渐进地讲解了Android平台上的软件安全技术,提供了对Windows、 Linux 、macOS三个平台的支持,涉及与Android软件安全相关的环境搭建、文件格式、静态分析、动态调试、Hook与注入、软件保护技术、软件壳等主题,涵盖OAT、ELF等新的文件格式。本书将 Java 层与Native层的软件安全技术分开讲解,加入了与软件壳相关的章节,内容安排细致、合理。本书的每一章都以实例讲解的方式展开内容,实践性较强。
本书适合Android开发人员、安全研究人员及对Android系统安全感兴趣的读者阅读。
序
自2013年《Android软件安全与逆向分析》出版至今,已经过去了五年。目前,移动平台已经成为人们上网的主要方式,手机操作系统只剩下了Android和iOS。Android也从手机平台渗透到智能电视、智能家居甚至智能交通、智慧物流领域。可以说,Android已经融入了我们的生活。五年前,Android才刚刚开始普及;五年后,Android已经“雄霸天下”了。同时,随着Android被广泛地应用到我们生活的各个领域,如何保护自己公司或者甲方的软件,甚至如何有效地进行高强度的保护性开发,都已经成为安全技术人员必须直面的需求。
在这五年中,软件保护技术从第一代壳——DEX加密、字符串加密、资源加密、反调试及自定义DexClassLoader,进化到第二代壳——DEX抽取与so加固、DEX Method代码抽取、DEX动态加载及so加固,再进化到第三代壳——DEX动态解密与so混淆、DEX Method代码动态解密及so代码膨胀混淆,直至现在最流行的第四代壳——代码虚拟化保护,也就是本书主要与大家分享的基于LLVM编译器实现的Obfuscator-LLVM技术。
初入Android安全圈的读者不必担心读不懂这本书。这本书完全从基础讲起,覆盖Android软件安全领域的大部分知识点,是一本内容循序渐进、可以帮助您拾级而上的好书。在跟随非虫畅游Android安全世界的旅途中,您还可以来看雪论坛( www.kanxue.com )寻找志同道合的良师益友,分享学习中的见解和经验,相信这些都会对您开阔视野、提高技术水平有很大的帮助。
看雪学院创始人段钢
2018年11月21日
前言
笔者在2013年曾出版过一本Android安全图书——《Android软件安全与逆向分析》。当时,Android软件安全问题刚刚凸显出来。经历了数年的快速发展,Android平台上的安全技术与行业趋势发生了很大的变化,本书会集中讨论这些内容。
首先是Android系统自身的安全性。从笔者开始关注Android领域时的2.2版本至今,Android已经发生了脱胎换骨的变化。应用的权限细粒度管理,系统强制启用SELinux、内核KASLR,以及设备存储的强制全盘加密等多种安全手段的实施,都使得Android系统正在向更安全、更稳定的方向发展。
从Android 4.4开始引入的ART虚拟机到后来不断进行的优化过程中可以看出,APK无论是在安装速度还是在运行时的流畅度上都节节攀升!这是一个好消息。但同时,坏消息也不断传出。Android平台上的软件,经历了数年井喷式的发展,质量难免参差不齐,而恶意软件的横行,也给Android系统的名声带来了不好的影响。幸运的是,这些不好的影响正在远离我们——Android官方对待安全的态度是安全从业人员有目共睹的。
本书包括但不限于以下内容。
全平台覆盖讲解,包括Windows、Linux、macOS三大平台上的Android软件开发、逆向分析、动态调试、软件壳等内容。
文件格式讲解,包括DEX、ODEX、AXML、ARSC、OAT、SO等。
Java层与Native层的软件逆向分析讲解。
ARM汇编内幕,包括对Thumb指令、ARM指令、AArch64指令格式的讲解。
Hook与注入方案讲解。
软件保护技术讲解。
内容特色
本书的内容特色如下。
循序渐进的学习路线。本书对知识与技术要点的讲解是由浅入深逐步展开的,对 工具 的使用及原理的讲解符合国人的学习思路。读者可以按照本书的目录顺序阅读和学习。
大量的实例分析。为了让读者充分感受技术涉及的应用场景,本书在讲解不同的技术要点时,会辅以大量的实例。书中的所有实例均由笔者精心编写并反复调试,所有代码都遵循AGPLv3协议在GitHub上进行了开源。读者可以通过阅读这些实例的源码来加深对技术的理解。
实用工具的讲解。本书提倡多动手、多实践,而实践的内容之一就是掌握书中介绍的第三方工具。除了系统地介绍一些命令,本书在讲解过程中还使用了大量的第三方工具。这些工具大都是跨平台且免费开源的。掌握这些工具的使用方法,阅读并理解这些工具所产生的代码,了解这些工具的工作原理,有助于将实践与理论结合起来。
如何学习本书内容
本书共12章,系统地讲解了与Android软件安全相关的环境搭建、文件格式、静态分析、动态调试、Hook与注入、软件保护技术、软件壳等主题。环境搭建是学习本书内容的门槛,这部分内容主要针对没有Android开发基础的读者,之后的每一个技术点都是既独立又相辅相成的。虽然有一定基础的读者可以跳过一些自己已经掌握的章节,直接阅读后续内容,但笔者并不鼓励大家这么做。
在本书中,对命令行工具会以直接展示终端命令和输出结果的形式讲解,对GUI工具会以截图展示操作步骤及操作结果的形式讲解。读者可以按照书中的指引一步步地进行操作。
读者定位
本书主要讲解与Android平台软件安全相关的技术,因此在读者的定位上自然离不开“软件”与“安全”这两个领域。
在“软件”领域,适合阅读本书的读者包括:
高校软件开发相关专业的学生;
Android软件开发工程师;
系统底层开发人员。
在“安全”领域,适合阅读本书的读者包括:
高校信息安全相关专业的学生;
软件安全研究员;
逆向工程师;
病毒分析师。
阅读须知
本书是笔者无数个日夜辛苦调试与写作的成果。写作本书花费了笔者大量的时间与精力。因此,笔者不欢迎阅读盗版书的读者。无论通过什么渠道、出于什么目的,阅读盗版书的行为都对笔者造成了极大的伤害。
任何技术都有自己的应用场景,任何知识都有更新与迭代的周期。写作本书时,恰遇Android系统升级到Android O,Android软件的开发语言正式由Java变为Kotlin,因此,书中讲解的工具与技术都是基于这个时期的系统版本的。本书不对后续系统版本中工具与技术的可行性提供任何担保,也不欢迎好事之徒对书中内容的可行性进行无端的猜测。
本书是一本工具实践书,讲解了工具的使用与原理,以及在实际分析过程中可能遇到的大部分问题。但是,这既不代表本书能够帮助读者解决所有的问题,也不代表读者仅通过阅读本书就可以完整地理解系统的安全机制及所有的软件攻防手法——单纯通过阅读一本书无法完全了解逆向工程这门深奥的学问。
逆向工程是一种特殊的技术,它就像一把利刃,使用得当可以保护自己,使用不当就会伤害别人。本书内容只用于探讨技术,不得用于任何非法目的。任何企图通过本书介绍的技术从恶的读者,都请好自为之。笔者不承担由于滥用本书技术造成的任何后果。
实例代码与勘误
关注微信公众号“ 软件安全与逆向分析 ”(feicong_sec),输入关键字“ 安卓源码 ”,即可获取本书实例代码的下载链接。
注册成为博文视点社区( www.broadview.com.cn )用户,访问本书页面 http://www.broadview.com.cn/book/5097 ,即可在“资源下载”处获取本书实例代码,在“提交勘误”处提交对本书内容的修改意见(如果您的意见被采纳,您将获赠博文视点社区积分,积分可用来抵扣购买电子书的相应金额)。
致谢
感谢父母的养育之恩,是他们给予我生命。他们是最可爱的人!
感谢老婆对我工作的理解。写作是一件非常辛苦的事情,感谢她在我写作的过程中悉心照顾宝宝,让我能全身心地投入写作。虽然娃儿现在还不太懂得什么叫感谢,不过我还是要感谢他,是他让我的人生变得完整。
好书总能给人带来心灵上的震撼。感谢美女作家李沉嫣,是她那扣人心弦的文字感染了我,给了我踏入写作大门的最初动力。
感谢电子工业出版社对本书内容的肯定,以及编辑潘昕对本书质量的严格把控。
很荣幸本书能以看雪软件安全系列图书的形式出版,感谢看雪论坛对本书的支持。看雪论坛是国内最专业的软件安全交流社区,欢迎大家一起到看雪论坛进行技术交流。
感谢爱加密对本书的支持。爱加密是全国领先的移动信息安全服务提供商,其独创的App虚拟机保护等多项技术,为全国的企业和政府机构提供了安全保护。
感谢软件安全专家熊猫正正在技术上的悉心指导。
感谢老友听鬼哥讲故事在写作过程中给予的帮助。他“安利”的八段锦拳法,适合每一个IT从业者练习。每天适当运动,能换来一天的好精神。
感谢黄药师多年来对我写作的支持。虽然没有跟他学过太极拳,但他独到的见解,总能让人开阔视野。
感谢bingghost多年来对我写作的支持。尽管饿了么的伙食很好,但这个IT男通过锻炼,完全变成了型男。
感谢roysue-陈佳林。他用年轻化的视角,让我学到了很多。
感谢Google持续开发与更新Android操作系统。Android是目前最具探索价值的开源操作系统,它不仅能让人们的生活更加丰富多彩,更能优化整个移动互联网的生态、创造良好的就业环境。
感谢ChelpuS开发了Android破解工具Lucky Patcher。在Android 2.0时代,笔者就是通过逆向分析这款工具的实现原理,进入了Android软件加密与解密的奇妙世界。这款工具现在已经开源了,大家可以访问 https://github.com/AndroidAppz/LuckyPatcher 下载它。
感谢rovo89开发了Xposed框架,这个框架创造了Android平台加密与解密的新玩法。
感谢oleavr开发了Frida框架。虽然我平时不怎么写JavaScript代码,但不得不承认,Frida是非常厉害的框架,它让Android平台加密与解密的玩法上了一个新台阶。
还要感谢很多朋友,他们都在我的技术研究和工作中给予了很多的帮助。他们是:邢俊杰、Luffy-高磊、陈萌萌、OWASP-子明智者、刘杨、画家、周群、f8left、戴帽子的鼠Zz、泉哥、脱壳白、大脸猫、刘庆海、浩克、林浩然、李佳、聂君、葫芦娃、潘博文、郭邵洋、debugee、谢鹏、ilanyu、wing、Invincible、LL、NWMonster、途夫、ZeNix、Kido、夜华、卢树文。
感谢购买本书的读者朋友们,你们的支持是我最大的动力。
丰生强(非虫)
2018年12月
文末福利
这次“开学”安全客免费为大家提供了 9 本 《Android软件安全权威指南 》 !有以下两种获取方式,大家自便喽~
获奖方式1 : 直接在本文留言处评论 ,我们将抽取点赞数最高的 6名 用户每人赠送一本《Android软件安全权威指南 》
获奖方式2 : 关注安全客官方微博 ,在下方微博关注、转发、点赞、并留言,我们会随机抽取3名用户,赠送 《Android软件安全权威指南 》 !
关注转发点赞留言一个都不能少哦~赶紧去微博看看吧~
注意:本次活动是在安全客官网和微博同步进行,两边都参与,提高中奖率!
开奖时间:2019年3月6日18:00
以上所述就是小编给大家介绍的《新书推荐 | Android软件安全权威指南》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 新书推荐 | 网络攻防实战研究:漏洞利用与提权
- 告别调参,AutoML新书发布
- 言有三新书预售,不贵,有料
- 新书《Go 语言编程之旅》出版啦!
- 新书《Go 语言编程之旅》出版啦!
- 新书上市 -《Elasticsearch 源码解析与优化实战》
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。