IDA7.5安卓10动态调试

el/2024/4/19 23:18:33

一、调式环境

1、IDA Pro 7.5

2、Pixel 2 XL 安卓10

二、环境准备

找到 IDA目录下的文件夹dbgsrv中的android_server,然后推到手机 /data/local/tmp目录

PS D:\IDA\dbgsrv> adb push .\android_server  /data/local/tmp
.\android_server: 1 file pushed, 0 skipped. 32.6 MB/s (786868 bytes in 0.023s)

然后切换到对应目录,给予777权限并启动,android_server默认端口23946

PS C:\Users\Admin> adb shell
taimen:/ $ sutaimen:/ # cd /data/local/tmp/127|taimen:/data/local/tmp # chmod 777 android_server//重要:安卓10 IDA Pro 7.5 要用这种方式启动android_server 
taimen:/data/local/tmp # IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so     /data/local/tmp/android_server
IDA Android 32-bit remote debug server(ST) v7.5.26. Hex-Rays (c) 2004-2020
Listening on 0.0.0.0:23946...

特别注意:安卓10 IDA Pro 7.5 要用这种方式启动android_server

IDA_LIBC_PATH=/apex/com.android.runtime/lib/bionic/libc.so /data/local/tmp/android_server

转发端口

PS C:\Users\Admin> adb forward tcp:23946 tcp:23946

三、动态调试

1、调试模式挂起app

adb shell am start -D -n  com.example.javandk1/.MainActivity

2、Ida选择Linux/Android debugger

在这里插入图片描述

3、填入Host和Port

在这里插入图片描述

4、选择调试的APP

在这里插入图片描述

5 、加载完毕后,设置ida三钩、

在这里插入图片描述在这里插入图片描述

6、DDMS查看挂机的端口

在这里插入图片描述

7、jdb放开调试

jdb -connect  com.sun.jdi.SocketAttach:hostname=localhost,port=8600

在这里插入图片描述
在这里插入图片描述
接下来就可以动态调试了

console.log("wx:spiderskill")
欢迎大家前来交流

http://www.ngui.cc/el/3376912.html

相关文章

Android root环境下设置全局可调试(ro.debuggable = 1)

1、Magisk安装MagiskHide Props Config 2、adb shell执行命令 PS C:\Users\Admin\Desktop\apkHome> adb shell taimen:/ $ su 切换至root模式 taimen:/ # magisk resetprop ro.debuggable 1 修改为全局可调式 taimen:/ # stop;start; 重启这样手机就设置成全局调试了

xpath 骚操作清单

一、xpath不匹配含有指定子节点或属性的节点 1. 不匹配含有指定子节点的节点 如,不匹配子节点含有 ‘i’ 节点的 ‘p’ 节点 xpath(//p[not(i)])2. 不匹配含有指定属性的节点 如,不匹配子节点含有 ‘class’ 属性的 ‘p’ 节点 xpath(//p[not(class…

实战分析自毁程序Crackme IDA动态调试

一、目标 Crackme:https://github.com/404nofoundx/Cloud/blob/main/AliCrackme.zip 二、查看java代码 二话不说上jadx,通过AndroidManifest.xml文件确定入口。 三、IDA静态分析 四、IDA动态分析 打上断点 还没等到断点的时候,程序就崩溃…

安卓逆向:Crakeme01实战分析 IDA动态静态分析

一、APK下载 Crakeme01:https://github.com/404nofoundx/Cloud/blob/main/Crakeme01.apk 二、jadx分析java代码 根据AndroidManifest.xml找到程序入口 第一眼看到的System.loadLibrary(),就知道有NDK开发SO了,首先判断输入是否是空,非空的…

某西某瓜signature分析探秘

1、搜索signature 打断点,断到此处 此处为对应生成逻辑,进去看看 return window.byted_acrawler.sign(i)进到 补环境就ok了 window.document {referrer: "https://www.ixigua.com/"} window.location {hash: "",host: "w…

【leetcode】206. 反转链表

地址:https://leetcode-cn.com/problems/reverse-linked-list/ 1、循环法 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def reverseList(self, h…

ERROR: Could not find a version that satisfies the requirement nodejs

言简意赅 pip install nodejs -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

JNI规范文档

JNI规范文档 #ifndef JNI_H_ #define JNI_H_#include <sys/cdefs.h> #include <stdarg.h>#ifdef HAVE_INTTYPES_H # include <inttypes.h> /* C99 *///这个是JNI规范中定义的基本数据类型//typedef 关键字&#xff0c;可以使用它来为类型取一个新的名字…

某豆*DATA数据加密

一、确定逻辑 获取的数据复制给 window.__DATA__ 全局搜索&#xff0c;确定位置 跟进去发现&#xff0c;在这个位置生成数据 验证一下 二、调试 巴拉巴拉 三、搭建解密服务 var r "WKVZcEaRd7/………………";var i 16 var Q 4096 var p {start: 2,end: 7 } v…

Python调用原生javascript两种方式

一、接口调用 node_server.js var express require(express); var douban require(./test); var app express(); const multipart require(connect-multiparty) const multipartyMiddleware multipart()app.post(/test, multipartyMiddleware, (req, res) > {var res…