付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android安全讲座第九层(二)内存dump
近来android上越来越多的应用对自身的保护机制加强了重视,主要表现在几个方面。
1dex加壳
2so加壳
3dex藏在so中,在适当的时候释放。
这是技术上一个进步,并且还有一些专业的公司提供了整个安全的解决方法,比如防ptrace,或者加密dex文件等。但是不管如何,在技术层面,cpu要运行的指令还必须是cpu能够支持的,除非不考虑效率利用复杂的动态内存机制来保护代码,一般情况下,加载内存的so或者dex等文件还都是原生态的cpu可以执行的指令集。
因为有时候骇客要破解你精心涉及的算法是一件很麻烦的事情,他要求一条一条的看枯燥的汇编代码,不是达不到,而是效率特别低。所以这个时候内存dump却是骇客们经常采用的一种手段了。
linux下的内存dump离不开ptrace,所以有些安全方案直接防止别的进程对其ptrace,主要手段就是ptrace住自己。即便如此,依然有孜孜不倦的骇客成功绕开了防止ptrace的保护机制,关于这方面的事情,我以后有时间在专门写一篇文章分享。今天只讲如何内存dump,内存dump需要的ptrace目标进程。
为了方便我个人的使用,我编写了一个memdump工具,这是一个elf的可执行文件,在android系统下adbshell进去以后直接可以执行。首先说一下这个工具的用法。shell@android:/#memdump
usage:memdumppidstart_addrend_addrfilaname
255|shell@android:/#用法十分简单,将memdump通过adbpush拷贝到你的手机里面,我是放在了/system/bin下面了,这样我不用每次找路径,直接运行命令即可。然后后面需要有4个参数pid要dump目标进程的进程号
start_addr要dump目标进程数据的虚拟起始地址
end_addr要dump目标进程数据的虚拟结束地址
filenamedump出来的数据要保存的文件名称(要求有路径)ok介绍完了命令使用方法,下一步就具体操作一下如何使用的。如图一上图中我自己编写了一个包名为com.example.socketcomm的apk应用,里面加载了一个libsocketback.so的库,打开以后其进程号为11164,通过查看其maps信息,发现其可执行的代码段在56d34000-56d37000r-xp00000000103:04579426
/data/data/com.example.socketcomm/lib/libsocketback.so这三个物理页面上由于物理页面是以0x1000对其,我不知道这个so具体的大小,但是没有关系,先将其全部dump出来再做处理。如上图,memdump111640x56d340000x56d37000/sdcard/dump.so通过这个命令将libsocketback.so
dump到了/sdcard/dump.so然后退出adbcmdline以后,通过adbpull将/sdcard/dump.so拉到linuxhost机器上再使用readelf-hdump.so查看elf文件头部,果然是Type:
DYN(Sharedobjectfile)这个共享对象。仔细的同学会看到readelf:Error:Unabletoreadin0x370bytesofsectionheaders这条错误,产生的原因是linux在加载so的时候是按照程序视图的方式加载的,主要关心的是Startofprogramheaders:
52(bytesintofile)这个开始的头部信息,对于链接方式的视图的段名等数据并不敏感,所以直接从内存dump出来的数据,是没有.symstrtab
.symtab
.strtab这些段的,所以解析错误也很正常。一般常用的修补so的方法是拿到原来的so,这个你只要有这个应用就应该能拿到,然后根据elf文件头部,找到Startofsectionheaders:
12600(bytesintofile)段表在文件中的偏移地址,拼接一下文件即可,这个程序的编写需要对elf文件有一定的了解,回头我会根据自己的研究和学习补充一些elf格式相关的博文。从本质来看,基本上这个时候的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融衍生品创新服务构建研究及市场风险防控规划材料
- 中国环氧树脂活性增韧剂行业市场发展趋势与前景展望战略研究报告
- 关于2026年供应商年度评估工作的回复函5篇范文
- 关于调整会议时间的函件(8篇)
- 火锅底料项目可行性研究报告
- 讲述百年历史回声:小学主题班会课件里的文化传承
- 医疗AR导航精度测试标准及市场接受度研究
- 快乐时光总动员:小学生活的故事小学主题班会课件
- 结果共建生命健康堡垒小学主题班会课件
- 动物解剖生理 课件 项目4 消化系统
- 部编版五年级语文下册课内阅读及答案
- 医疗废物分类收集与转运
- 自然资源综合调查技术导则编制说明
- 个体工商户店铺投资合伙协议
- 北京师范大学第三附属中学新初一均衡分班语文试卷
- 仁爱版初中初三英语上册《AmazingSc…》评课稿
- LMI领导力教练技术
- YC/T 397-2011烟草商业企业卷烟物流定额技术规范
- 部编版道德与法治五年级下册知识点(全册)
- 全封闭式组合电器(GIS)演示文稿
- 四位一体多功能传热培训装置操作规范
评论
0/150
提交评论