IDA远程调试真机app

news2024/9/21 13:19:43

IDA远程调试真机app

第一步:启动 android_server,并修改端口

# 启动android_server
./android_server -p31928

在这里插入图片描述
第二步:端口转发、挂起程序

 # 端口转发
 adb forward tcp:31928 tcp:31928
# 挂起程序
adb shell am start -D -n com.qianyu.antidebug/com.qianyu.antidebug.MainActivity

在这里插入图片描述
第三步:打开Monitor.bat文件(该文件位置:SDK\android-sdk\tools)
在这里插入图片描述
看到我们要调试的程序,其中 8636 是调试端口,8700 是映射端口。
第四步:IDA附加程序、设置Debugger Options参数、程序首次运行
在这里插入图片描述
注意,这里要调试的ip选择127.0.0.1
在这里插入图片描述
选择要调试的程序
在这里插入图片描述
等待附加成功,看到 PC 指令指向 libc.so 即代表附加成功
在这里插入图片描述
下面设置 Debugger Options 参数
在这里插入图片描述
在这里插入图片描述
运行,点击IDA左上角的三角符号,运行程序,这里并不一定能够一次运行到我们要调试的程序,但是不要着急,在这里我们只点击一次运行。
在这里插入图片描述当看到IDA上方显示running,即代表运行成功
第五步:通过 JDB(Java Debugger)与远程 Java 虚拟机(JVM)建立调试连接的命令

# port端口是上面Monitor显示的程序调试端口
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8636

在这里插入图片描述
此时,看到IDA的LR指令和PC指令指向一处,同时你手机上的程序界面也发生了变化
在这里插入图片描述
查看 IDA 输出的 日志,发现加载了我们要调试的 odex 文件
在这里插入图片描述
第六步:多次运行 IDA
注意:如果找不到我们调试的so文件,一定要多次运行指导加载出so文件
多次运行 IDA 左上角的符号,直到日志中显示加载了要调试的 so 文件
在这里插入图片描述
多次点击运行后,终于加载到要调试的so文件了
在这里插入图片描述
在Modules模块中检索我们要调试的 so 文件,并点击进入
在这里插入图片描述
在 libantidebug.so 文件中检索 JNI_Onload 函数,并进入
在这里插入图片描述
下面就可以调试so文件了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/891668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell和Python 两种方法分别画 iostat的监控图

在服务器存储的测试中,经常需要看performance的性能曲线,这样最能直接观察HDD或者SSD的性能曲线。 如下这是一个针对HDD跑Fio读写的iostat监控log,下面介绍一下分别用shell 和Python3 写画iostat图的方法 1 shell脚本 环境:linux OS gnuplot工具 第一步 :解析iosta…

Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间

场景 SpringBootMybatis定时任务实现大数据量数据分表记录和查询: SpringBootMybatis定时任务实现大数据量数据分表记录和查询_mybatis 定时任务创建日表_霸道流氓气质的博客-CSDN博客 通过以上分表实现的同结构不同表名之间的表,如何将一个表中的数据…

Flink学习笔记(一)

流处理 批处理应用于有界数据流的处理,流处理则应用于无界数据流的处理。 有界数据流:输入数据有明确的开始和结束。 无界数据流:输入数据没有明确的开始和结束,或者说数据是无限的,数据通常会随着时间变化而更新。 在…

python模块中的_all__属性的作用

文章目录 前言 一、python模块中的_all__属性的作用 总结 前言 python模块中的特殊变量_all__的用法总结。 一、python模块中的_all__属性的作用 顾名思义:我们如果导一个包里面的函数或者变量,会把暴露在外部的变量和函数导出。那么有些变量或者函…

如何做好小程序的运营,有哪些运营策略?

小程序用完即走的特性,使得小程序留存用户比较困难。任何一个产品的出现,绕不过推广运营这个话题,小程序也是一样。抓住用户,培养用户的忠诚度是所有产品的根本,我们该怎样从零开始运营好小程序? 一、人群…

免费批量ppt转pdf?一个方法教你完美转换

随着科技的不断发展,电子文档的使用越来越普遍。在商业、教育和个人领域,我们经常需要将PPT文件转换为PDF格式,以便更方便地共享和存档。幸运的是,现在有许多在线工具和软件可以帮助我们轻松地完成免费批量ppt转pdf。下面将介绍一…

LabVIEW开发设计热稳定器

LabVIEW开发设计热稳定器 使用与PC控制单元接口的电子设备进行数据采集和控制已广泛用于不同的工业应用。精确的温度控制是一个巨大的挑战,这就是为什么一些工业应用需要使用适当的材料和设备比更好的温度精度。 ​ 为了追踪[-50至250C]之间的温度变化&#xff0c…

【LeetCode】205. 同构字符串

205. 同构字符串(简单) 方法:哈希映射 思路 判断两个字符串是不是同构字符串,只需要判断对应的字符是不是存在映射关系,我们可以使用 map 来保存字符间的映射关系。由于 “不同字符不能映射到同一个字符上&#xff0…

babylonjs基于自定义网格生成围栏动画

效果: import { Vector3, Mesh, MeshBuilder, StandardMaterial, Texture, Animation, Color3 } from "babylonjs/core"; import imgUrl from "./image/headerwangge2.png" // 创建模型护栏特效 export default class CreateRail {constructor…

Flutter实战·第二版-第三章 基础组件笔记

第三章:基础组件 3.1文本及样式 3.1.1 Text Text("Hello world",textAlign: TextAlign.left, );Text("Hello world! Im Jack. "*4,maxLines: 1,overflow: TextOverflow.ellipsis, );Text("Hello world",textScaleFactor: 1.5, );3.1…

重塑DTC规则:元气森林的全渠道转型

元气森林作为迄今为止用5-6年时间最快达到70亿年销售额的饮料品牌(统一、可口可乐、东鹏特饮都花了15年左右,康师傅花了10年)。元气森林于2016年在北京创立,凭借健康产品理念和新潮营销方式,一款主打“0糖0卡0脂”概念…

javaScript:模板字符串让你忘记字符串拼接

目录 一.前言 二.模板字符串的使用 1.介绍 2.模板字符串 支持换行 模板字符串更适合元素写入 innerHTML模板字符串写法 3.模板字符串中,可以运行表达式 4.模板字符串中可以运行函数 三.总结 语法: 多行字符串: 变量插值: …

【嵌入式学习笔记】嵌入式入门8——SPI总线协议

1.SPI介绍 SPI:串行外设设备接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线。主要应用在存储芯片、AD转换器以及LCD中。 【注:IIC是电平协议,SPI是边沿协议…

WX1860- ngbe-1.2.5 xdp程序在路由模式下,使用iperf工具测试数据包不转发,用jmeter可以

本地验证时重定向iperf包有出现calltrace错误&#xff0c;经推断&#xff0c;系统PAGE_SIZE<8k时可能出现&#xff08;getconf PAGE_SIZE指令可查看&#xff09;&#xff0c;按下图将ngbe_main.c的2350行ngbe_rx_bufsz改为ngbe_rx_pg_size可修复。其次&#xff0c;需要将加载…

AE-卡通人物解说动画视频的制作

目录 1.导入卡通人物图片和音频文件 2.新建合成 3.在卡通人物图片上添加效果和表达式 4.在音频文件上添加效果和表达式 5.将卡通人物中的 CC Split2 中分割1 表达式链接到滑块中 6.卡通人物根据音频文件自动匹配口型。 AE制作卡通人物解说视频&#xff0c;卡通人物口型根据…

C++笔记之花括号和圆括号初始化区别,列表初始化和初始化列表区别

C笔记之花括号和圆括号初始化区别&#xff0c;列表初始化和初始化列表区别 code review! 文章目录 C笔记之花括号和圆括号初始化区别&#xff0c;列表初始化和初始化列表区别1.花括号{}进行初始化和圆括号()进行初始化2.列表初始化&#xff08;list initialization&#xff0…

idea插件推荐——mybatis log plugin快速查看运行SQL

我们在编写代码的时候一定会编写SQL&#xff0c;简单的SQL我们一般不会出错但是如果遇到了mybatis中的复杂动态SQL&#xff0c;我们可能就会出现一些问题&#xff0c;为了在开发自测阶段及时发现处理问题&#xff0c;我们需要快速查看编译得到的SQL&#xff0c; log4j 的打印的…

SpringBoot整合Druid、Mybatis、MybatisPlus以及MybatisPlus的使用

1.SpringBoot整合Druid 1&#xff09;引入jar包 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.3</version></dependency>2&#xff09;在application.yml中 …

C++新经典03--共用体、枚举类型与typedef

共用体 共用体&#xff0c;也叫联合&#xff0c;有时候需要把几种不同类型的变量存放到同一段内存单元&#xff0c;例如&#xff0c;把一个整型变量、一个字符型变量、一个字符数组放在同一个地址开始的内存单元中。这三个变量在内存中占的字节数不同&#xff0c;但它们都从同…

Java开源项目mall学习笔记(1)——项目初始化

一、学习声明与项目介绍 该笔记是记录学习开源项目mall过程的文档笔记&#xff0c;完全原创&#xff0c;转载请声明。同时也对开源项目的作者表示感谢&#xff01; mall: &#x1f525; mall项目是一套基于 SpringBoot Vue uni-app 实现的电商系统&#xff0c;包括前台商城项…