吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2894|回复: 26
收起左侧

[Android 原创] 使用脚本来简化ida附加app的操作

  [复制链接]
Slimu 发表于 2023-12-3 20:10
本帖最后由 Slimu 于 2023-12-3 20:10 编辑

自动化脚本

#!/bin/zsh

# 启动AndroidServer
function startAndroidServer() {
    local port=$1
    echo "启动 AndroidServer, 端口: $port"
    adb shell /data/local/tmp/android_server64 -p$port &
}

# 启动Jdb
function startJdb() {
    local port=$1
    echo "启动Jdb, 端口: $port"
    #jdb -connect com.sun.jdi.SocketAttach:127.0.0.1,port=$port
    #不要使用上面的命令, 会出现错误: java.lang.IllegalArgumentException: 非法连接器参数: 127.0.0.1,port
    #卡我半天, 我还以为是版本的问题
    jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=$port
}

# 转发IDA端口
function forwardIDAPort() {
    local port=$1
    echo "转发 IDA 端口, 端口: $port"
    adb forward tcp:$port tcp:$port &
}

# 转发Jdb端口
function forwardJdbPort() {
    local port=$1
    local pid=$2
    echo "转发 Jdb 端口, 端口: $port, PID: $pid"
    adb forward tcp:$port jdwp:$pid &
}

# 一键启动IDA调试
function idaAttach() {
    # 判断是否传入包名
    if [ -z "$1" ]; then
        echo "请提供目标应用的包名"
        return 1
    fi

    # 目标应用包名
    local package_name=$1
    # 目标应用pid
    local pid=$(adb shell pidof -s "$package_name")
    # ida端口
    local idaPort=2345
    # Jdb端口
    local jdbPort=6789

    # 使用"&"使任务在后台运行

    # 启动AndroidServer, 默认x64
    startAndroidServer $idaPort
    # 等待一会确保 AndroidServer 已经启动
    sleep 2
    # ida端口转发
    forwardIDAPort $idaPort
    # 延时一会等待IDA附加
    echo "等待IDA附加"
    sleep 30
    # 需要注意的是, 只有当点击IDA的运行的时候才会运行jdb
    # jdb端口转发
    forwardJdbPort $jdbPort $pid
    # 启动jdb
    startJdb $jdbPort
}

使用方法

将上面的内容放置到~/.zshrc中即可
执行命令:idaAttach 包名
当出现等待IDA附加的时候可以打开IDA选择目标应用了

需要注意的是, 只有当点击IDA的运行的时候才会运行jdb

错误修复1

执行命令:jdb -connect com.sun.jdi.SocketAttach:127.0.0.1,port=1234
提示错误:

内部异常错误:
java.lang.IllegalArgumentException: 非法连接器参数: 127.0.0.1,port=1234,
        at com.sun.tools.example.debug.tty.VMConnection.parseConnectorArgs(VMConnection.java:107)
        at com.sun.tools.example.debug.tty.VMConnection.<init>(VMConnection.java:320)
        at com.sun.tools.example.debug.tty.Env.init(Env.java:61)
        at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1083)

这是因为少了hostname=,网上的大部分文章都少了这个,导致我一直卡在这里
解决办法:jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=$port

错误修复2

java.net.SocketException: Connection reset 
at java.net.SocketInputStream.read(SocketInputStream.java:210<span><span>) 
at java.net.SocketInputStream.read(SocketInputStream.java:141<span>) 
at com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:130<span>) 
at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232<span>) 
at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116<span>) 
at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90<span>) 
at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519<span>) 
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328<span>) 
at com.sun.tools.example.debug.tty.Env.init(Env.java:63<span>) 
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1082) 

这是AndroidStudio占用了jdb,解决办法:关闭Android Studio

免费评分

参与人数 15吾爱币 +21 热心值 +14 收起 理由
imumu1239 + 1 + 1 谢谢@Thanks!
yjycyan56 + 1 谢谢@Thanks!
风子09 + 1 + 1 我很赞同!
abadc_666 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
luoziyi + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
debug_cat + 2 + 1 用心讨论,共获提升!
Fuzz + 1 + 1 我很赞同!
matrixzpc + 1 + 1 谢谢@Thanks!
heikis + 1 + 1 我很赞同!
cajs0001 + 1 谢谢@Thanks!
hnulyt + 1 + 1 谢谢@Thanks!
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
w1258008521 + 1 + 1 谢谢@Thanks!
ytfh1131 + 1 + 1 谢谢@Thanks!
dhh051230 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dhh051230 发表于 2023-12-3 20:51
来看看呢。。
wasm2023 发表于 2023-12-3 21:04
leijun666 发表于 2023-12-3 21:34
isolands 发表于 2023-12-3 22:22
感谢分享
Tcming 发表于 2023-12-3 22:39
学习一下
lhfcsm 发表于 2023-12-3 22:47
呵呵,正在学习中
s1332177151 发表于 2023-12-4 09:47
感谢楼主分享
cajs0001 发表于 2023-12-4 09:56
感谢分享!学习一下~~
ms520 发表于 2023-12-4 10:33
牛,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-1 01:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表