大概在2015年10月底,QQ空间发了一篇叫《安卓App热补丁动态修复技术介绍》的文章,文章中提到为了能让Class进行热修复,其中一个条件就是防止类被打上CLASS_ISPREVERIFIED标记,具体的做法便是让一个Dex引用另一个Dex(hack.apk)中的空类(为了让业务无感知,需要在编译时动态注入字节码),并且在应用程序Application类起来的时候要加载这个hack.apk。也就是...
分类:
移动开发 时间:
2016-07-22 19:30:08
阅读次数:
302
工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baidu.com/s/1jIwb3MY) 0x01:用压缩软件解压apk 0x02:dex2jar把*.d ...
分类:
移动开发 时间:
2016-07-21 12:21:18
阅读次数:
143
好久没写博客了,因为一时的懒惰又忘了更新,今天就来说说安卓的apk的编译和打包的过程 第一步apk的打包是先将资源文件和清单文件编译 第二步是将src中的.java和gen中的.java编译成多个.class文件,再将所有的.class文件编译打包成dvm可以运行的.dex文件 虽然在各位大神面前看 ...
分类:
移动开发 时间:
2016-07-20 21:29:40
阅读次数:
166
1、安卓app逆向与安全防护: 预先了解一些关于密码学、硬件结构、侧信道和故障注入攻击的基本知识 主要侧重协议逆向与安全市场状况(列举wooyun或者一些比较大的安全事件简介,说明协议安全重要性)逆向分析工具与使用(逆向工具的使用、逆向开发环境搭建)协议分析技术(dex、so逆向技巧、网络协议分析技 ...
分类:
其他好文 时间:
2016-07-19 09:40:52
阅读次数:
139
整个文件的布局
文件头
索引区
string_ids
type_ids
proto_ids
field_ids
method_ids
数据区
class_def
class_data_item
code_item
data
附录
测试用的Dex的java代码
参考资料
整个文件的布局整个Dex文件可以分成三部分,文件头、索引区、数据区,如下图所示。 文件头
记录Dex文件的概览、包含文件大小、校验...
分类:
其他好文 时间:
2016-07-17 00:04:40
阅读次数:
297
http://pan.baidu.com/s/1hs2kHbm
AndFix热补丁原理就是在 native 动态替换方法 java 层的代码,通过 native 层hook java 层的代码。
优点
1. 因为是动态的,所以不需要重启应用就可以生效
2. 支持ART与Dalvik
3. 与multidex方案相比,性能会有所提升(Multi Dex需要修改所有cl...
分类:
移动开发 时间:
2016-07-13 16:16:12
阅读次数:
493
参考:Error converting bytecode to dex: Cause: java.lang.RuntimeException: Exception parsing classes - Android studio 2.0 beta 6问题:在调试程序的时候,出现这个错误:
Error:Error converting bytecode to dex:
Cause: java...
分类:
编程语言 时间:
2016-07-10 19:19:14
阅读次数:
454
运行时报错: [2016-07-07 16:26:57 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/alibaba/fastjson/JSONStreamAware;[2016-07-07 16:26:57 ...
分类:
其他好文 时间:
2016-07-07 19:47:09
阅读次数:
970
# 本demo实现原理来自 https://github.com/dodola/HotFix https://zhuanlan.zhihu.com/p/20308548 # Anti类功能,及其原理 如上图,A,B,C是三个class,它们在生成apk文件时,被打包入同一个dex文件中,当apk发布 ...
分类:
移动开发 时间:
2016-07-06 17:52:19
阅读次数:
303
得益于Cydia Substrate框架,HOOK Native函数变得简单,也给脱壳带来方便。 像ijiami免费版,360,classes.dex被加密到so文件并运行时释放到内存,因此针对相关函数的HOOK脱壳就比较简单了。 但也有一些容易被针对的缺点:1、代码可以在类加载时被修改。hook ...
分类:
其他好文 时间:
2016-07-04 18:22:59
阅读次数:
165