陇南市城乡建设局网站,网站备案管理系统登录不上去,网站加速服务,大型网站运营步骤本文作者#xff1a;i春秋作家HAI_ZHU000 前言市面上的资料大多都是基于Dalvik模式的dump#xff0c;所以这此准备搞一个ART模式下的dump。Dalvik模式是Android 4.4及其以下采用的模式#xff0c;之后到了Android 5.0 之后就是ART模式#xff0c;关于这两个模式的详细内容i春秋作家HAI_ZHU0×00 前言市面上的资料大多都是基于Dalvik模式的dump所以这此准备搞一个ART模式下的dump。Dalvik模式是Android 4.4及其以下采用的模式之后到了Android 5.0 之后就是ART模式关于这两个模式的详细内容请自行百度如果在文章看不来的地方可以翻翻之前的文章。如果有问题也可以私聊我。废话不多说直接上操作。内容demo 动态 dump 出 dex文件环境说明1.系统 小米 9.02.ida 7.00×01 demo 动态 dump 出 dex文件1.启动ida 端口监听1.1启动Android_server 服务1.2端口转发1.3软件进入调试模式2.ida 下断2.1 attach 附加进程2.2 断三项2.3 选择进程2.4 打开Modules搜索artPS小知识Android 4.4版本之前 系统函数在libdvm.soAndroid 5.0之后 系统函数在libart.so2.5 打开Openmemory()函数在libart.so中搜索Openmemory函数并且跟进去。PS小知识一般来说系统dex都会在这个函数中进行加载但是会出现一个问题后面说。2.6 下断点3.运行程序到下断处3.1 jdb转发运行程序3.2 查看IDA运行成功下断并且运行到我们下断的地方。3.3 查看 dex的位置打开寄存器窗口可以看到R1就是我们的dex然后在Hex窗口打开R1。很明显就看到了dex文件的二进制结构。如果不明白可以看看之前的dex文件分析。3.4 提取关键信息第一个关键信息地址偏移0xF35CA328第二个关键信息文件偏移70 35 01 00转换一下就是 0×00013570使用16进制加法器进行相加F35DD8984. dump4.1 使用脚本进行dumpstaticmain(void){ auto fp, begin, end, dexbyte; //打开或创建一个文件fp fopen(“d:\\dump.dex”, “wb”); //dex基址begin 0xF34C6320; //dex基址 dex文件大小end begin 0×00013570; for( dexbyte begin; dexbyte end; dexbyte ){//按字节将其dump到本地文件中fputc(Byte(dexbyte), fp); }}4.2 脚本dump run脚本填写好了之后点击run即可。4.3 成功dump0×02 后续这里dump出来的dex还是和原来的dex有一些区别的要进行一些修复才可以。关于修复的内容还在探讨中如果有大佬路过指教一二感激不尽。