IDA动态调试两种方式
第一种
安卓自带模拟器(必须要是arm的模拟器,市面上的第三方模拟器都是x86的)运行程序,可在sdk安装目录下创建arm模拟器以及启动,方式自行百度即可:
启动后的模拟器是这样的:
将android_server文件放到创建的arm模拟器下,该文件在IDA安装目录下:
方式:打开cmd.exe,输入adb push android_server文件路径 /data/local/tmp,如图:
然后依次执行图中的命令:
再启动一个cmd.exe进行端口转发到(23946,此端口上图中可看到),执行:
模拟器启动程序,启动IDA工具,点击:
然后:
接下来会看到:
我们选择对应的进程,Name就启动的程序的包名,双击它,然后会卡一会,静静等待一会儿:
按几次f9直到按钮变这样:
登录我们的程序点击这个:
然后:
双击我们的so文件,如图:
合适的地方下断点(f2),接下来就可以愉快的调试了,f7单步步入,f8单步步过。
第二种
- 启动ddms。
- 启动自带的模拟器(arm),使用adb命令以debug模式启动程序,步骤:命令窗口执行 adb shell am start -D -n 包名/.主窗口名:
IDA动态调试两种方式相关推荐
- 详解SpringCloud-gateway动态路由两种方式,以及路由加载过程
gateway配置路由主要有两种方式,一种是用yml配置文件,一种是写代码里,这两种方式都是不支持动态配置的.如: 下面就来看看gateway是如何加载这些配置信息的. 1 路由初始化 无论是yml还 ...
- Mybatis打印调试sql的两种方式
问题描述 在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql ...
- 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...
- android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...
本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...
- VS Code - Debugger for Chrome调试JavaScript的两种方式
VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故,博客写的不是很多,一直想写一篇VS Code - Debugger for Chrom ...
- spring中AOP动态代理的两种方式
AOP动态代理的两种方式 Spring AOP动态代理的方式(spring的AOP默认是JDK Proxy) 浅谈这两种动态代理 JDK的动态代理,需要有实现接口 动态代理--JDK Proxy ⚫ ...
- 动态连接库的两种方式
动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样.这需 ...
- 【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式
有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化.在这些情况下,只能缓存页的一部分.顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态 ...
- android动态居中布局,Android动态添加布局的两种方式
释放双眼,带上耳机,听听看~! 前言 大多数时候我们布局都是用xml来布局的,但有些时候也是会用到动态布局的,尤其是在一些大项目中,动态布局更是体现的淋漓尽致. 所以今天我们就来学习一些动态加添布局的 ...
最新文章
- 初具雏形的UL标准侧重于自主车辆的安全性
- Leetcode 之Binary Tree Postorder Traversal(44)
- 进入docker容器之后,找不到rosbag命令(ros已经安装)
- Faster R-CNN 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文笔记
- 创建数据库指定编码集
- 内部类、包、修饰符、代码块
- 使用cglib创建代理对象
- hp-socket 文本跟图片同时发送_文本、截图和应用,这样「包装」一秒变美观
- Ubuntu18.04下安装OpenCV依赖包出现ibjasper-dev无法安装的问题
- Windows Server 2008远程桌面多用户登陆的配置方法
- UVA10943 How do you add【递推打表】
- List中根据某个实体的属性去重
- Jsoup 爬虫之百度贴吧
- 谷歌如何捕获街景中的门牌号码
- 【雕爷学编程】Arduino动手做(100)---MAX30102手腕心率
- STM32/GD32 IAP/Bootloader升级APP研究以及编程实现、hex文件格式
- ATTCK v10版本战术介绍—侦察
- java-php-python-ssm“花花世界”网站计算机毕业设计
- 505 新国王游戏 思维 [代码源][namomo spring camp]每日一题div2
- 逆水寒服务器维护中7月4日,【图片】《逆水寒》2019年7月4日更新公告【逆水寒ol吧】_百度贴吧...
热门文章
- 股市基础知识、内盘和外盘与股票走势
- 【转载】Python遍历pandas数据方法总结
- c语言实现1024点fft程序,数字信号处理的步骤与注意事项,并编写1024个采样点的FFT C语言程序...
- 单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?
- *5-2 CCF 2014-12-3 集合竞价
- myeclipse添加oracle,向MyEclipse添加Oracle数据库
- 【机器学习】机器学习在爱奇艺视频分析理解中的实践
- 那么厉害的个人所得税计算器代码你竟然不点开看看,你膨胀了!
- 高科技恢复展示模式-VR安全教育|广州华锐互动
- vue css过渡及过渡钩子函数介绍