android热修复与钢桥 加固 修复冲突吗

专栏:Android 热修复 - 博客频道 - CSDN.NET
> & & > &Android 热修复
Android在不发版的情况下,fix bug.
前面几篇博文已经介绍了2种热修复框架的使用及源码分析,AndFix兼容性比较好,而Dexposed Art处于Beta版。AndFix和Dexposed都是阿里的开源项目。
今天主要介绍的框架是根...
Alibaba的AndFix热修复:
Alibaba-AndFix Bug热修复框架的使用
Alibaba-AndFix Bug热修复框架原理及源码解析上一篇中已经介绍了Alibaba-Dex...
前两篇已经介绍了alibaba的AndFix热修复:
Alibaba-AndFix Bug热修复框架的使用
Alibaba-AndFix Bug热修复框架原理及源码解析
DexPosed是Ali...
小憩之后,继续为你解读AndFix热修复框架,呵呵。上一篇Alibaba-AndFix Bug热修复框架的使用已经介绍了AndFix的使用,这篇主要介绍AndFix原理以及源码解析。AndFix原理A...
AndFix这篇主要介绍alibaba的AndFix项目的使用,下一篇介绍 AndFix原理及源码解析。Github:/alibaba/AndFixAndFix介绍...
1889415290& 最近使用到Android热修复相关的技术,然后查看了很多博客,源码,大概了解了Android实现热修复的原理,如有错误,还请大家留言指正
& 首先来了解一下为什么要使用热修复技术。 当一个应用发布到各个应用市场之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各部门就都会忙得焦头烂额:包括重新打包App、测试、然后再向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本去进行换包和重新发布。 这么复杂的步骤,肯定不是我们开发者想要看到的。 所以这时候就会用到我们今天要提的热修复技术。
& 简单的概括一下热修复的原理,就是把多个dex文件塞入到app的classloader之中,这里的classloader的功能主要是对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。 但是android dex拆包方案中的类是没有重复的,如果新的classes1.dex和旧的classes.dex中有重复的类,当用到这个重复的类的时候,系统会选择哪个类进行加载呢?&&
看一下代码:
& 一个classloader中包含多个dex文件,多个dex文件排列成一个有序的数组dexElements,当找类的时候,会按顺序遍历dex文件,然后从当前遍历的dex文件中找类,如果找到目标类则返回,如果找不到就从下一个dex文件继续去查找。
并且理论上,如果在不同的dex中有相同的类存在,那么会优先选择排在前面的dex文件中的那个类,通过这里我们就能够想到Android热修复的原理,就是将改正问题后的类打包成一个patch.dex文件,然后让这个patch.dex拍到dexElements的前边,这样,在遇到相同类时,就会去加载我们修复好的那个类文件。
&&&& 但是当你修改后的这个类,包含其他类的引用,但是你修改的这个类,以及被引用者并不在同一个dex中时,即两个相关联的类在不同dex时,就会产生错误,原因就是,引用者(被修改的类)被打上了CLASS_ISPREVERIFIED标志,那么就会进行dex的校验。&
&&& 如果想要实现补丁方案,就要从这个方面入手,防止类被打上CLASS_ISPREVERIFIED标识,可以使用以下解决方法:
在每个类的构造方法中添加这句代码:
if (ClassVerifier.PREVENT_VERIFY) {
//在这里获取到其他类的引用对象
这句代码是为了实现被打包成单独的hack.dex,这样当安装apk的时候,classes.dex内的类都会引用一个在不相同dex中的
引用类,这样就防止了类被打上CLASS_ISPREVERIFIED的标志了,只要没被打上这个标志的类都可以进行打补丁操作。
然后在应用启动的时候加载进来.AntilazyLoad类所在的dex包必须被先加载进来,不然AntilazyLoad类会被标记为不存在,即使后续加载了hack.dex包,那么他也是不存在的,这样屏幕就会出现茫茫多的类AntilazyLoad找不到的log。
所以Application作为应用的入口不能插入这段代码。(因为载入hack.dex的代码是在Application中onCreate中执行的,如果在Application的构造函数里面插入了这段代码,那么就是在hack.dex加载之前就使用该类,该类一次找不到,会被永远的打上找不到的标志)其中:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2522次
排名:千里之外
(1)(2)(2)(3)解决的问题:通过修改替换内存中存在安全漏洞的可执;热补丁方案作为辅助方案,是通过替换掉已经加载到内;图2.热补丁修复过程示意图;热补丁修复是在系统内存中直接对存在安全漏洞的可执;危险应用隔离方案;解决的问题:在假想系统加固与热补丁均已失效的情况;危险应用隔离方案采用虚拟隔离(或称为逻辑隔离)的;图3.危险应用隔离示意图;“非白即黑”策略方案(可选);解决的问
解决的问题:通过修改替换内存中存在安全漏洞的可执行代码,清除存在漏洞的代码,在不修改二进制代码文件的情况下,实现对漏洞的热修复
热补丁方案作为辅助方案,是通过替换掉已经加载到内存中存在安全漏洞逻辑的代码完成对系统漏洞、应用漏洞的修复,其设计逻辑如下示意图:
图2. 热补丁修复过程示意图
热补丁修复是在系统内存中直接对存在安全漏洞的可执行代码进行精确的“外科手术”,替换过程与系统运行同时进行,涉及到操作同步、代码空间适配等多项复杂工作,因此精确定位存在安全漏洞代码的位置,并进行小心替换是热补丁修复成功的关键,如果替换失败,将直接导致系统崩溃或应用崩溃,因此热补丁修复技术需要有丰富的包括Windows XP在内的微软操作系统底层开发经验积累,同时也需要长时间Windows系统热补丁修复的丰富实践,在提供本方法之前,我们已经19次先于微软正式补丁发布向全国超过4亿网民提供了微软漏洞的热补丁,经过长时间的积累与实践,我们已经完全有经验、有能力在Windows XP上继续向系统运行稳定性要求极高的各大政府、金融、能源、企业、军队提供可修复微软Windows XP漏洞的热补丁
危险应用隔离方案
解决的问题:在假想系统加固与热补丁均已失效的情况下,解决危险应用(如:PDF阅读器、Office软件、IE浏览器等)被漏洞利用攻击时候对Windows XP系统与系统敏感数据造成的威胁
危险应用隔离方案采用虚拟隔离(或称为逻辑隔离)的思想,利用沙箱(Sandbox)技术将危险应用置于沙箱中隔离运行,实现这些危险应用对于系统调用、注册表访问、文件访问、网络IO等涉及到安全问题的敏感操作的虚拟隔离,以此保障在这些危险应用遭受到漏洞利用攻击的情况下,也不会对其所宿主的Windows XP系统及其系统资源、数据资源造成安全威胁。危险应用隔离的防护逻辑如下图所示:
图3. 危险应用隔离示意图
“非白即黑”策略方案(可选)
解决的问题:在假想系统加固方案、热补丁修复方案、危险应用隔离方案均失效的情况下,可以通过非白即黑的策略保证系统免受各种二进制恶意代码的攻击 “非白即黑”的安全策略采用PE文件白名单的机制,依托于高纯度的PE文件白名单库,仅允许白名单库中的文件在系统中运行(文件确认采用MD5的方式),而所有未在白名单库中的PE文件均被禁止在Windows XP系统上加载、运行,这就能在理论上保证所有通过Windows XP系统漏洞渗透进来的恶意代码均无法在Windows XP系统上实现攻击,其工作过程如下图所示:
图4. “非白即黑”策略示意图
“非白即黑”的白名单策略是美国军方、高级别政府所采用的安全防护方案,因有效防御了“火焰病毒”而受到美国政府、军队的高度重视并从此广泛部署,正因如此,为美国政府、军方提供“非白即黑”白名单策略的公司Bit9的产品对华禁售,因此该策略是一种已经被美国证明了行之有效的高级安全防护策略,但实施该策略需要非常高的门槛,即要对世界上出现的主要应用程序能够做到快速、全面的获取,如Windows XP各个版本上的所有PE文件,主要应用系统(如:数据库、办公软件等)各个版本的所有文件,这是一项庞大的工程,不但要求有对这些文件的快速、全面获取能力,还需要有高纯度的鉴别能力,在制定本方案之前,我们已经建立了国内最大、最快的PE文件获取平台,并积累了国内最大、最全、纯净度最高的PE文件白名单库,现在,我们的PE文件白名单库的规模已经接近1亿的白名单规模,可以保障本方案的落地
稳定性方案
由于大型政府、军队、能源、金融、企业对线上业务的高可靠性要求,无比保证系统再实施本方案之后能够持续、稳定运行。因此在提出Windows XP
方案的同时,需要高度关注本方案在实施、运行过程中的稳定性,在本方案的设计中,我们通过线下测试、线上回滚的方式,保障将出现问题的概率降至最低,在一旦发生故障的情况下能快速回滚到本方案实施之前的状态。
? 充分测试
我们的方案在发布之前,经过长期、严格的系统测试,保证能够在数亿终端上持续稳定运行一个月的前提下才会正式发布给各大企业、政府、军队等重要用户使用
? 故障回滚
虽然本方案在正式实施之前会经过严格、苛刻的系统测试、Beta测试,但是并不能从理论上100%保证不会出现故障,在此,我们采用了故障回滚的技术,在一旦发生故障的情况下能够回滚到本方案实施之前的状态,保证业务系统继续持续、稳定运行
通过本方案的全面设计,证明了采用本方案的防护手段,可以从根本上有效解决微软停止Windows XP服务之后带来的安全问题,并可以将由此带来的系统稳定性风险降至最低
包含各类专业文献、幼儿教育、小学教育、行业资料、各类资格考试、中学教育、专业论文、外语学习资料、应用写作文书、Windows XP系统加固与热修复方案37等内容。 
 加固系统Windows XP应用优... 3页 5财富值喜欢此文档的还喜欢 Windows主机操作...注意:网站遇到问题时,试图给与 Users 完全控制权限看是否能修复。 IIS(Internet ...  构架修复加固 施工组织设计 一、编制依据 1、 《涂装前钢材表面锈蚀等级和除锈...三、施工方案 1、概述 “渗漏滴冒”一直是供电系统经常遇到的问题,停电堵漏势...  服务器安全加固步骤:步骤安装和配置 Windows Server ...服务器中自动应用 Service Pack 和热修补程序,则...读出操作系统管理员的密码 来,如下: Xp_regadd...  砖混结构加固方案_建筑/土木_工程科技_专业资料。砖混结构修复加固 施 工 方 ...6、 施工用水及排水,本工程为房屋加固项目,原有生产、消 防系统齐全。为保证...  测试确认加固步骤的正确性和操作 结果对系统的影响,...配置的加固操作,采用恢复配置文件的回退方案 针对...tar Cxpvf openssh-5.5p1.tar.gz ./configure...  2 既有建筑框架结构加固修复方法 在建筑工程中,钢筋...方 法虽然已形成了比较系统的、配套的施工工艺和...999感冒灵市场营销方案 汽车品牌的足球世界杯营销 网络...  20 Windows 2003 系统加固 Windows 2003 操作系统的...● 调用 Windows XP 风格界面 安装完 Windows 2003...非常方便地还原到以前的某一个还原点, 快速恢复系 ...  Helifix 系统的产品已成功应用 在房屋、塔楼、教堂...加固修复和新旧墙体的 连接提供经济和无破损的方案。...含热交换站、消防、空调设备,中高档卫生洁 具, ...  可靠的系统安全性、良好的可移植性 Windows 2008 的...(3)Linux 系统管理的方法及安全加固策略 安全加固...建议关闭 XP 系统盘以外的分区磁盘的系统还原功能,...

我要回帖

更多关于 土墙老房子修复加固 的文章

 

随机推荐