某apk通过混淆资源防止反编译总结
来源:互联网 发布:ubuntu python 路径 编辑:程序博客网 时间:2024/05/20 18:46
Android资源文件编译并打包apk的流程:
Android资源文件分为assets(原始数据放在apk中)和res(需要编译)
Android的res资源文件会编译成二进制格式,因为二进制格式解析速度快,占用空间小。
在编译的过程中,Res的每个资源文件会被赋予一个资源ID,存放在R.java当中,最后胜出一个Resources.arsc文件,该文件包含具有ID的资源的配置信息,作为一个索引表使用。
在编译xml的时候,从根节点遍历整个树,给每个属性都分配一个资源ID,并写入R.java,以后需要用到资源时直接通过资源ID查找。
在resourcesTable中,包含一个package对象,一个package包含多个type对象,而每个type对象包含多个configList,每个configList包含多个entry,entry包含一个key-value,其中key是属性名,value是值。由于系统在查找资源的时候是根据资源ID来查找,所以key的属性其实可以为空或0。
在某apk的混淆处理中,它把大部分entry的key设为0,这样在apktool反编译的时候,由于属性名为空,无法反编译通过,报错为读取资源表时异常。
处理方式是修改一下apktool对key为0的entry抛出异常的方式,把key=0修改为相应的名字或编号即可。
0 0
- 某apk通过混淆资源防止反编译总结
- android apk防止反编译混淆
- 防止 apk反编译 jocky-- java混淆代码
- ProGuard混淆编译--防止apk被反编译
- ProGuard混淆编译--防止apk被反编译
- android APK反编译及混淆学习总结
- Android代码混淆防止反编译APK获取源码
- 如何使用 proguard.jar代码混淆,防止apk被反编译
- Android APK安全: 代码混淆且加壳防止反编译
- 反编译Android APK 源代码和资源文件防止反编译详解
- apk反编译 混淆
- apk防止反编译
- apk文件防止反编译
- apk防止反编译
- 反编译apk和防止反编译apk
- Android 代码混淆防止反编译
- java防止反编译代码混淆
- Android 代码混淆 防止反编译
- linux试玩
- Socket套接字编程
- Indri和Terrier搜索引擎的使用
- jbpm4.4开发环境配置+请假实例
- Android开发系列(二十三):实现带图片提示的Toast提示信息框
- 某apk通过混淆资源防止反编译总结
- aptitude apt-get yum
- static用法
- Linux exec命令
- 设计模式---------简单工厂
- ios UITextView bug 输入文字跳动bug问题 (・ˍ・*)
- mysql-创建存储函数,存储过程,trigger
- String解析
- 2014-10-27Android学习------布局处理(八)------自定义吐司(Toast)-----城市列表应用程序