有不少人来问我GDA(官网下载)如何脱壳的问题,这里做一个统一说明。首先需要声明的是GDA的Dumper工具是我在2015年做的,期间很少维护,当时主要用于dump加密的dex, 也用于dump一些固定的内存区域,实际上不适合用于脱壳,更好的自动化脱壳方法有很多,请自行搜索。早些的壳都把原始apk或者dex文件加密隐藏起来,等加固代码运行起来后再对其进行解密、加载、执行,这种壳只需要把内存中的dex dump出来就可以了。但是目前的许多加固方案会抽取代码或者将代码纳入到so中执行,对于这种情况直接dump出来是不完整的DEX,需要自己对DEX文件进行修复。此外,目前的越来越多的Android恶意代码开始使用一些定制化的打包技术躲避查杀,在很多情况下使用GDA Dumper抽取出来的恶意代码DEX是能够正常分析的。

使用GDA进行android内存dump实在太简单,大部分问我的人应该是初学者,Dump内存3步走:1.打开设备->2.选择并打开进程->3.选中要dump的内存段dump即可。

首先需要你将手机连接上电脑(模拟器不需要),点击GDA的dump按钮(1)或者菜单栏的Tools->Device dump,然后GDA就会连接手机把android系统中的进程列举出来。默认情况下,GDA只列举app进程,如果需要查看所有运行的进程可以通过右键菜单->所有进程来查看:

然后选中一个你感兴趣的进程(当前行出现淡蓝色背景为选中)双击或者右键菜单(2)->打开进程(3),GDA便会列出该进程的内存模块。默认情况下显示dex,你还可以选择odex、so、jar、apk等模块进行查看。下图是打开其中一个进程后过滤出来的dex模块。

接下来就可以dump你感兴趣的模块了,鼠标选中模块右键(1)->DUMP Module(2)。等候即可,如果模块是连续的多个内存段,可以鼠标拖拉选中多个模块进行DUMP。小等一会儿,便会弹出对话框提升dump成功还是失败,如果成功,GDA Dumper便会把dump出的dex文件存放在GDA工具的同目录下,最后点击OK按钮可以查看dump出来的dex文件(3)。

4.有部分手机或者模拟器会dump失败,原因是GDA没有成功的将Gdump程序推入到Android系统中,所有需要手动将这个工具push进去。Gdump工具存放在GDA的工作目录%APPDATA%GDA(C:UsersjonhAppDataRoamingGDA)下,有一个Gdump工具,你需要将这个工具push到Android系统的/data/local/tmp目录下,如图:

adb push %APPDATA%GDAGdump /data/local/tmp

然后修改Gdump的读写执行权限即可。

adb shell chmod 777 /data/local/tmp/Gdump

adb shell /data/local/tmp/

Gdump(测试是否可以执行)

那么现在你就可以是用GDA来dump指定模块了。

android studio运行模拟器报错请求超时_GDA关于android脱壳的问题说明相关推荐

  1. 解决Android Studio运行模拟器报:The emulator process for AVD Pixel_4a_Edited_API_28 has terminated.

    问题描述:Android Studio运行自带模拟器报"The emulator process for AVD Pixel_4a_Edited_API_28 has terminated. ...

  2. Android Studio 运行项目报错:org.objectweb.asm.tree.analysis.AnalyzerException: Execution can fall off

    Android Studio项目,公司主要的一个APP项目,还算庞大,有段时间没过问该项目,有需求要改,又来关注这项目代码,update代码到最新,android studio运行项目,就是run不起 ...

  3. Android studio 启动模拟器报错-Turn off Hyper-V

    启动模拟器时出现弹出窗口: Unfortunately, you cannot have Hyper-V running and use the emulator. Here is what you ...

  4. android studio 编译遇到报错 app:compileDebugJavaWithJavac 处理办法

    android studio编译遇到报错app:compileDebugJavaWithJavac处理办法 android studio 在编译时经常会遇到如下图片中这个错误,但是程序运行时可以正常运 ...

  5. android studio 自动引用,Android Studio三方引用报错但是项目可以运行的解决方案

    Android Studio第一次启动的Fetching android sdk component information的问题 1)进入刚安装的Android Studio目录下的bin目录.找到 ...

  6. 【错误记录】Android Studio 配置 AspectJ 报错 ( all buildscript {} blocks must appear before any plugins {} )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 配置 AspectJ 报错 : Build file 'D:\002_Project\002_Android_Le ...

  7. Android studio运行出现Unable to determine application id: com.android.tools.idea.run.ApkProvisionExcepti

    Android studio运行出现Unable to determine application id: com.android.tools.idea.run.ApkProvisionExcepti ...

  8. [Mac M1]Android Studio运行模拟器

    大多数模拟器都是基于x86芯片的,下载安装Android Studio之后带的模拟器在 M1 苹果笔记本启动时会报错,提示不支持,同时国内网易mumu等模拟器在M1上也没做适配,为了适配M1芯片笔记本 ...

  9. Android studio打包App报错:Error:(4) Error: app_name is not translated in ar (Arabic), cs (Czech)..

    最近更新Android studio的版本2.3.3 但是,接踵而来的也有很多问题,其中就有一个,运行项目到手机上时一点问题都没有,一但我导包Apk,问题就来了! 我上网查了很多资料,也有解决的方法, ...

最新文章

  1. 用友ERP供应链模块(一)----库存盘点
  2. php 微信开发 菜单,微信公众号中个性化菜单的开发实例
  3. java web核心知识_JAVA web 相关知识点
  4. mysql设置不区分大小写
  5. arcgis制作瓦片地图_挖掘Dark Sky Maps(热的要死后,疯传的一个气温地图网站)...
  6. Linux crontab 定时任务详解
  7. Hue使用之Inceptor篇
  8. getch函数的使用与说明
  9. 5种常见的网络欺骗方式
  10. 2021天梯决赛题目及题解(持续更新)
  11. 如何设置透明FLASH
  12. 可展开和收起的LinearLayout
  13. 非IE内核浏览器支持activex插件
  14. linux任务调度框架,任务调度框架Hangfire 简介
  15. android命令大全 pdf,android调试桥(adb)常用命令.pdf
  16. 【Codeforces Round #548(Div. 2)】Edgy Trees(数学+bfs求连通块)
  17. 李峋同款爱心代码(附源码,前端代码,python代码)
  18. 【C++】结构体嵌套结构体
  19. python语音处理_python处理语音
  20. idea出现Can not set int field xxx to java.lang.Long 错误

热门文章

  1. 【UOJ348】【WC2018】州区划分 状压DP FWT
  2. html5 自制播放器
  3. DataSet与DataReader的区别
  4. LLBL Gen 3.x 源代码追踪与解析 Type Converter 类型转换器
  5. 【堪萨斯州立大学】电子和计算机工程系智能能源研究室、硬件安全实验室招募博士,提供多个全额奖学金机会...
  6. LVIS挑战赛冠军总结 | 视觉任务中长尾分布问题研究进展与挑战
  7. 线性代数学习全攻略(内附机器学习路径图)
  8. CVPR 2019 | 腾讯AI Lab 6大前沿方向33篇入选论文解读
  9. 深度学习超分辨率最新综述:一文道尽技术分类与效果评测
  10. 快准狠!Intel论文揭示自家车牌识别算法:LPRNet