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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8827|回复: 10
收起左侧

[Android 原创] android so动态加载遇到的坑

[复制链接]
华仔在吗 发表于 2016-9-22 16:21

这样的帖子很多,这里我总结了一些出错的问题,希望对大家有所帮助
手机准备工作

一.在 IDA 目录下的 /dbgsrv/android_server 文件,push进android机,启动 android_server :

adb push android_server /data/local/tmp/adb shellsucd data/local/tmpchmod 777 android_server./android_server

出现:

1|root@hwG610-T11:/data/local/tmp/ # ./android_server
./android_serverIDA Android 32-bit remote debug server(ST) v1.17. Hex-Rays (c) 2004-2013Listening on port #23946...

[Attention]
  • 此android_server必须和ida是配套的
  • 手机你有root权限,不是你adb push 到任何目录都是可以的,还是指定到/data/local/tmp/ 是比较OK的,你非要zuo,那么也可以,先adb push到任何目录,再adb shell ,用mv 或者 copy 过去呗
  • 出现
    root@hwG610-T11:/data/data # ./android_server
    ./android_server

    IDA Android 32-bit remote debug server(ST) v1.19. Hex-Rays (c) 2004-2015bind: Address already in use
1|root@hwG610-T11:/data/data # ps | grep android_serverps | grep android_serverroot      27118 26474 9992   9404  c00a7fbc 40180e20 S ./android_server1|root@hwG610-T11:/data/data # kill -s 9  27118  (将进程杀死,就OK了)kill -s 9  27118

二.端口转发  adb forward tcp:23946 tcp:23946

三. 打开应用等待调试
    adb shell am start -D -n com.xxxx.xxxx/.MainActivity

四. IDA 附加

开一个ida,菜单栏设置 Debugger -> Attach -> Remote ARMLinux/Android debugger 如下:

点击ok,弹出进程列表,例如:



jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

正常情况会出现:

设置未捕获的java.lang.Throwable设置延迟的未捕获的java.lang.Throwable正在初始化jdb...>


错误:

D:\crack>jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700java.net.SocketException: Software caused connection abort: recv failed        at java.net.SocketInputStream.socketRead0(Native Method)        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)        at java.net.SocketInputStream.read(SocketInputStream.java:170)        at java.net.SocketInputStream.read(SocketInputStream.java:141)        at com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:130)        at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232)        at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)        at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90)        at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)        at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)        at com.sun.tools.example.debug.tty.Env.init(Env.java:63)        at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)致命错误:无法附加到目标 VM。

  • 检查调试的app配置文件中是否有 android:debuggable="true" ,导致不能调试。 可以通过
      aapt list -v -a myfile.apk       来查看是否设置OK
    这个命令将会打印和apk相关的所有详细信息,找到“android:debuggable",它的值分为:
                    0x0: debuggable false
                   0xffffffff: debugabble true
  • 若无则在清单文件的application中加上,重新打包即可.


    最后记住F9运行,不要在那里傻等着

免费评分

参与人数 4热心值 +4 收起 理由
不伦不类 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
469164323 + 1 前天已经解决这些坑,你上面还少了附加不了的情况
qtfreet00 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
enzo + 1 没看懂,感觉很厉害的样子,赞一个!

查看全部评分

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

BY丶显示 发表于 2016-9-22 17:29
模拟器不用设置这个哦。真机才要添加debug。
 楼主| 华仔在吗 发表于 2016-9-22 21:07 来自手机
嗯嗯,我是真机,模拟器调试会有莫名的问题,所以没用
Gordon0918 发表于 2016-9-23 09:35
自己编译debug镜像刷到手机上,所有应用可调{:1_912:}
无名侠 发表于 2016-9-24 12:40
用mprop 所有应用可调式
 楼主| 华仔在吗 发表于 2016-9-26 09:57
无名侠 发表于 2016-9-24 12:40
用mprop 所有应用可调式

666,查了一下不错,
DNTTM 发表于 2016-9-26 10:10
遇到过其中几个坑,汇总的挺好的
siuhoapdou 发表于 2016-9-26 13:55
長了點知識了~~還是用模擬器試一下先
freebuf 发表于 2016-10-15 19:07
总结的很好 ,谢谢楼主
啊诺 发表于 2016-11-20 12:01
赞个。。。
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-5-1 09:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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