Android解析编译之后的所有文件(so,dex,xml,arsc)格式
我们在之前一篇一篇介绍了如何解析Android中编译之后的所有文件格式,所有的工作都完成了,这里我们就来做个总结,我们为什么要做这些工作:
第一篇:解析so文件格式
这里我们解析so文件,主要是为了修改so中内容,在so文件中添加字符串内容,同时我们可以做到对so的加密工作,从而达到apk的底层加固策略。同时我们了解了so文件的格式之后,对反编译底层的代码也是很有帮助的。
第二篇:解析AndroidManifest.xml文件格式
这里我们解析AndroidManifest.xml文件,主要是为了修复我们在使用apktool进行反编译的时候出现的一些错误信息,同时也了解到apktool反编译的工作原理,当然这里还可以解析Android中的其他资源文件xml。这里我们还可以对apk进行加固,就是通过修改AndroidManifest.xml文件内容,防止apktool这样的工具进行反编译。
注意:这里我们可以使用aapt命令更为方便,具体看文章内容的总结部分。这里就不在赘述了。
第三篇:解析resource.arsc文件格式
这里我们解析resource.arsc文件,主要是为了修复我们在使用apktool进行反编译的时候出现的一些错误信息,同时也了解到apktool反编译的工作原理,同时我们可以减小apk包的大小,主要是通过对resource.arsc中资源文件名进行混淆,减小命名的大小。因为本身Android中是不对资源文件进行混淆工作的。同时我们可以修改resource.arsc文件内容,防止apktool这样的工具进行反编译。
注意:这里我们可以使用aapt命令更为方便,具体看文章内容的总结部分。这里就不在赘述了。
第四篇:解析dex文件格式
这里我们解析dex文件,主要是为了更好的了解Android中的代码结构,同时我们解析完dex之后,就知道代码的结构,调用哪些api,从而判断执行了某些功能,比如判断apk是否调用了系统的api,是否包含广告sdk的api等信息,同时我们知道dex的结构之后,我们就可以对dex进行加密工作,从而做到上层对apk进行加固的工作。
注意:这里可以使用dexdump命令更为方便,具体看文章内容的总结部分,这里就不在赘述了。
总结
所以关于Android中的编译之后的文件解析工作就算告一段落,这些知识也是我们后面的逆向基础,特别是在遇到逆向失败的时候,我们能够通过具体的错误信息来定位问题,当然这些文件格式的了解也对让我们对Android中apk包生成的流程有个大体的了解。
更多内容:点击这里
关注微信公众号,最新Android技术实时推送
Android解析编译之后的所有文件(so,dex,xml,arsc)格式的更多相关文章
- (网络数据交互)Android解析Internet的Json资源文件
常用的Internet数据解析格式和工具: 网页显示的json数据如下: {"type":"FeatureCollection","metadata& ...
- Android逆向之旅---解析编译之后的AndroidManifest文件格式
一.前言 今天又是周六了,闲来无事,只能写文章了呀,今天我们继续来看逆向的相关知识,我们今天来介绍一下Android中的AndroidManifest文件格式的内容,有的同学可能好奇了,Android ...
- 【Android Studio安装部署系列】二十五、Android studio使用NDK生成so文件和arr文件
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.and ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...
- Android逆向之旅---解析编译之后的Dex文件格式
一.前言 新的一年又开始了,大家是否还记得去年年末的时候,我们还有一件事没有做,那就是解析Android中编译之后的classes.dex文件格式,我们在去年的时候已经介绍了: 如何解析编译之后的xm ...
- Android逆向之旅---解析编译之后的Resource.arsc文件格式
一.前言 快过年了,先提前祝贺大家新年快乐,这篇文章也是今年最后一篇了.今天我们继续来看逆向的相关知识,前篇文章中我们介绍了如何解析Android中编译之后的AndroidManifest.xml文件 ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...
随机推荐
- 关于服务器无法在已发送http表头之后设置状态问题
Response.ClearHeaders()方法 ClearHeaders方法只删除头信息,而不删除Response显示输出信息. this.Response.BufferOutput = true ...
- ubuntu 上用virtualenv安装python不同版本的开发环境。
1.用pip安装virtualenv apt-get install python-virtualenv 2.创建python2的虚拟环境,进入要创建虚拟环境的目录下,我是放在/home/pyenv/ ...
- python基础-6.2正则表达式,计算器练习
content = "1-2*((60-30+(1-40/5*5+3-2*5/3)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))&q ...
- SSI框架【Struts、Spring、iBatis、Hibernate】
1.B/S架构的JavaEE开发设计模式,JavaEE架构分成三个层次即表现层.业务逻辑层.数据持久层:而这三层分别通过Struts.Spring.iBatis开源的框架紧密组合在一起的. Strut ...
- 【mysql】select子句顺序
sleect…from (1)where (2)group by (3)having (4)order by (5)limit
- Mybatis-学习笔记(1)SqlSessionFactory、SqlSession、Mybatis配置文件configuration的属性标签
1.mybatis引入项目,只需要引入mybatis-x.x.x.jar包即可. (当然数据库驱动的引入必不可少) 2.SqlSessionFactory 由SqlSessionFactoryBuil ...
- 剑指Offer编程题(Java实现)——二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- Yarn 工作机制
1.工作机制详述 (1)MR程序提交到客户端所在的节点. (2)YarnRunner向ResourceManager申请一个Application. (3)RM将该应用程序的资源路径返回给YarnRu ...
- package.json说明
package.json是什么? 直接的说:就是管理你本地安装的npm包 一个package.json文件可以做如下事情: 展示项目所依赖的npm包 允许你指定一个包的版本[范围] 让你建立起稳定,意 ...
- [2019杭电多校第三场][hdu6609]Find the answer(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6609 大致题意是求出每个位置i最小需要将几个位置j变为0(j<i),使得$\sum_{j=1}^ ...