android dump内存,android dump内存办法大全
1.ida运行脚本
autoi,fp,begin,end;
fp=fopen("D:\\xx.so","wb");
begin=0xAC338000;
end=0xAC393000;
for(i=begin;i
{
fputs(Byte(i),fp);
}
2.gdb dump
dump binary memoryC:\Users\DW\Desktop\baidu_jiagu\so\baidu 0xa8878000 0xA8B9C000
3.dd命令
dd if=/proc/1214/mem of=mmm skip=a8878000 ibs=1 count=324000这个不行,网上误传
4.修改内核
dalvik/vm/oo/Class.cpp此文件的
initclass在加载cinit类的时候加入下面的代码
我们将so dump
5自己写工具dump内存
#include
#include
#include
#include
#include
#include
#include
//#define LOG_TAG"snow"
//#defineLOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,__VA_ARGS__)
//使用办法
//xx pid beginaddrendaddr
int main(intargc,char *argv[]) {
char filename[256] = {0};
if(4!=argc)
{
printf("please input xx pid beginaddr endaddr\n");
exit(1);
}
printf("argv[2]=%s-->argv[3]=%s-\n",argv[2],argv[3]);
long long beginaddr = strtoll(argv[2],NULL,16);
long long endaddr=strtoll(argv[3],NULL,16);
long long length=endaddr-beginaddr;
//printf("-fuck-length=%x---\n",length);
//printf("beginaddr=%x,endaddr=%x-\n",beginaddr,endaddr);
sprintf(filename,"/proc/%s/mem",argv[1]);
printf("will open filepath=%s\n",filename);
FILE* fpsrc=fopen(filename,"r");
FILE* fpdest=fopen("dumpMemory","wb");
if(NULL==fpsrc||NULL==fpdest)
{
printf("open file error!!!\n");
exit(1);
}
int c;
fseek(fpsrc,beginaddr,SEEK_SET)
while((c=fgetc(fpsrc))!=EOF&&length-->0)
{
fputc(c, fpdest);
}
fclose(fpsrc);
fclose(fpdest);
return 0;
}
LOCAL_PATH :=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
#LOCAL_ARM_MODE := arm
LOCAL_MODULE := dump
LOCAL_SRC_FILES := dump.c
include $(BUILD_EXECUTABLE)
注意以上五种办法,目前的加壳都有反调试模块,会对mem文件进行检测,比如360会检测/proc/pid/mem文件,和监控maps文件故此上面读mem文件会导致闪退,,总的来说第四种办法最管用!!!!!
原文链接:http://blog.csdn.net/kingdiggrave/article/details/53993315
android dump内存,android dump内存办法大全相关推荐
- android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法
android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法 原方法: public static Bitmap getSmallBitmap(Strin ...
- Android之内存泄漏以及解决办法(持更)
Android之内存泄漏以及解决办法 文章链接:http://blog.csdn.net/qq_16628781/article/details/67761590 知识点: 单例造成的内存泄漏原因和解 ...
- Android内存泄漏以及解决办法
Android程序开发中,如果一个对象已经不需要被使用了,本该被回收时,而这时另一个对象还在持有对该对象的引用,这样就会导致无法被GC回收,就会出现内存泄漏的情况. 内存泄漏时Android程序中出现 ...
- Android性能优化之利用强大的LeakCanary检测内存泄漏及解决办法
本篇文章主要介绍了Android性能优化之利用LeakCanary检测内存泄漏及解决办法,有兴趣的同学可以了解一下. 目录 前言 什么是内存泄漏? 内存泄漏造成什么影响? 什么是LeakCanary? ...
- 线下场景-内存(Android profiler + MAT + adb)
如果说前两节对应用性能优化幅度有限的话,那么本篇内存则直接关系到应用的生死存亡. 好的优化可以让死亡边缘的应用起死回生,避免内存泄漏及OOM. 内存泄漏一般是长生命周期的对象持有短生命周期对象的引用, ...
- Android 性能优化 - 彻底解决内存泄漏
起源 有趣的灵魂千奇百怪,内存泄漏的也是各式各样 我在15年写过一遍 文章 < android中常见的内存泄漏和解决办法>http://blog.csdn.net/wanghao20090 ...
- 【Android 内存优化】内存抖动 ( 垃圾回收算法总结 | 分代收集算法补充 | 内存抖动排查 | 内存抖动操作 | 集合选择 )
文章目录 一. 垃圾回收算法总结 二. 分代收集算法补充 三. 查看 Java 虚拟机 四. 获取 Android 应用可使用最大内存 五. 内存抖动标志 六. 排查内存抖动 七. 常见的造成内存抖动 ...
- Android 如何做一次内存泄漏大排查
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/112335970 本文出自[赵彦军的博客] 文章目录 前言 把内存泄漏的地方找出来 ...
- android oom工具,Android OOM-Heap,MAT工具检测内存泄露
概述 在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在 ...
- Android平台上的Native内存分析
文章目录 背景 UE4的内存统计 memreport MemoryProfiler2 LLM Android进程内存 DDMSMemoryAnalyzer 背景 UE4游戏在Android上的进程内存 ...
最新文章
- Springboot+JPA 对应关系查询时导致的堆栈溢出 :java.lang.StackOverflowError:
- jQeury的日期时分秒生成器插件,使用jQuery的匿名函数,静态方法的使用
- Bootstrap 3 与 Foundation 5 的区别
- 【华为云技术分享】使用keil5打开GD32F450i的MDK项目出现的问题以及J-Link无法烧录程序对应的解决方案
- Atom飞行手册翻译: 4.1 配置API
- vmware.fusion虚拟机下的CentOS使用
- ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps 线段树
- python selenium框架_python+selenium之框架设计
- 厨师刀行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 在MyEclipse中如何查看Spring/Hibernate/Struts/JDK等源码的方法
- DAC、ADC、FFT使用总结
- 作业6 陪集 拉格朗日定理
- 项目管理(PMP)整体介绍
- URAL 1069 Prufer Code 优先队列
- 哔哩哔哩mac电脑版上线,来聊聊B站Mac版客户端初体验
- mysql 历史数据迁移,MySQL 历史数据表迁移方法
- cad 中的计算机在哪里打开,CAD计算器如何使用?
- (详解)opencv里的cv2.resize改变图片大小Python
- 在线提取网页视频的网站
- Python爬虫:和我一起学习scrapy(三)
热门文章
- dms mysql 工具_数据库管理工具DMS
- 追赶法 matlab编程,科学网—数值分析----三对角方程组的追赶法matlab程序 - 殷春武的博文...
- 《OpenCV3编程入门》毛星云编著
- 21接力题典1800 数一 重积分 P46 T18
- 基于电商中台架构-商品系统设计(二):类目设计
- 微信砍价小程序活动软件制作功能包含哪些方面?
- 多路IO转接服务器——epoll模型
- 手工笔筒制作教程(附彩色贴图分享)
- SVN下载安装、SVN使用详细教程(Window+Linux)
- 安川机器人如何注释化指令_关于安川机器人I/O注释导入的报告