第一种

  1. 安卓自带模拟器(必须要是arm的模拟器,市面上的第三方模拟器都是x86的)运行程序,可在sdk安装目录下创建arm模拟器以及启动,方式自行百度即可:

  2. 启动后的模拟器是这样的:

  1. 将android_server文件放到创建的arm模拟器下,该文件在IDA安装目录下:

    方式:打开cmd.exe,输入adb push android_server文件路径 /data/local/tmp,如图:

    然后依次执行图中的命令:

  2. 再启动一个cmd.exe进行端口转发到(23946,此端口上图中可看到),执行:

  3. 模拟器启动程序,启动IDA工具,点击:


然后:
接下来会看到:

我们选择对应的进程,Name就启动的程序的包名,双击它,然后会卡一会,静静等待一会儿:

按几次f9直到按钮变这样:

登录我们的程序点击这个:

然后:
双击我们的so文件,如图:

合适的地方下断点(f2),接下来就可以愉快的调试了,f7单步步入,f8单步步过。

第二种

  1. 启动ddms。
  2. 启动自带的模拟器(arm),使用adb命令以debug模式启动程序,步骤:命令窗口执行 adb shell am start -D -n 包名/.主窗口名:

IDA动态调试两种方式相关推荐

  1. 详解SpringCloud-gateway动态路由两种方式,以及路由加载过程

    gateway配置路由主要有两种方式,一种是用yml配置文件,一种是写代码里,这两种方式都是不支持动态配置的.如: 下面就来看看gateway是如何加载这些配置信息的. 1 路由初始化 无论是yml还 ...

  2. Mybatis打印调试sql的两种方式

    问题描述 在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql ...

  3. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  4. android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...

    本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...

  5. VS Code - Debugger for Chrome调试JavaScript的两种方式

    VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故,博客写的不是很多,一直想写一篇VS Code - Debugger for Chrom ...

  6. spring中AOP动态代理的两种方式

    AOP动态代理的两种方式 Spring AOP动态代理的方式(spring的AOP默认是JDK Proxy) 浅谈这两种动态代理 JDK的动态代理,需要有实现接口 动态代理--JDK Proxy ⚫ ...

  7. 动态连接库的两种方式

    动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样.这需 ...

  8. 【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式

    有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化.在这些情况下,只能缓存页的一部分.顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态 ...

  9. android动态居中布局,Android动态添加布局的两种方式

    释放双眼,带上耳机,听听看~! 前言 大多数时候我们布局都是用xml来布局的,但有些时候也是会用到动态布局的,尤其是在一些大项目中,动态布局更是体现的淋漓尽致. 所以今天我们就来学习一些动态加添布局的 ...

最新文章

  1. 初具雏形的UL标准侧重于自主车辆的安全性
  2. Leetcode 之Binary Tree Postorder Traversal(44)
  3. 进入docker容器之后,找不到rosbag命令(ros已经安装)
  4. Faster R-CNN 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文笔记
  5. 创建数据库指定编码集
  6. 内部类、包、修饰符、代码块
  7. 使用cglib创建代理对象
  8. hp-socket 文本跟图片同时发送_文本、截图和应用,这样「包装」一秒变美观
  9. Ubuntu18.04下安装OpenCV依赖包出现ibjasper-dev无法安装的问题
  10. Windows Server 2008远程桌面多用户登陆的配置方法
  11. UVA10943 How do you add【递推打表】
  12. List中根据某个实体的属性去重
  13. Jsoup 爬虫之百度贴吧
  14. 谷歌如何捕获街景中的门牌号码
  15. 【雕爷学编程】Arduino动手做(100)---MAX30102手腕心率
  16. STM32/GD32 IAP/Bootloader升级APP研究以及编程实现、hex文件格式
  17. ATTCK v10版本战术介绍—侦察
  18. java-php-python-ssm“花花世界”网站计算机毕业设计
  19. 505 新国王游戏 思维 [代码源][namomo spring camp]每日一题div2
  20. 逆水寒服务器维护中7月4日,【图片】《逆水寒》2019年7月4日更新公告【逆水寒ol吧】_百度贴吧...

热门文章

  1. 股市基础知识、内盘和外盘与股票走势
  2. 【转载】Python遍历pandas数据方法总结
  3. c语言实现1024点fft程序,数字信号处理的步骤与注意事项,并编写1024个采样点的FFT C语言程序...
  4. 单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?
  5. *5-2 CCF 2014-12-3 集合竞价
  6. myeclipse添加oracle,向MyEclipse添加Oracle数据库
  7. 【机器学习】机器学习在爱奇艺视频分析理解中的实践
  8. 那么厉害的个人所得税计算器代码你竟然不点开看看,你膨胀了!
  9. 高科技恢复展示模式-VR安全教育|广州华锐互动
  10. vue css过渡及过渡钩子函数介绍