吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4991|回复: 6
收起左侧

[Android 原创] android调试相关插件

[复制链接]
lichao890427 发表于 2017-1-7 21:06
git目录在https://github.com/lichao890427/AndroidDebug.git
包括的项目如下:

# AndroidNdkDebugPlugin

    本插件为AndroidStudio插件
    背景:ADT已经开始支持jni模块源码调试,然而有一些未实现的部分。AndroidStudio自身支持启动方式调试jni,底层原理还是jdb+lldb方式;然而并未实现附加调试so源码。这样对于动态下发的so的源码级调试无能为力。本插件正是通过逆向并重新实现android-ndk.jar来实现调试动态下发so的源码的

    原始android-ndk.jar启动式调试jni得而实现步骤如下:
      adb push 1.apk /data/local/tmp/1.apk
      am start -D -n com.example.test/.MainActivity
      等待app启动开启java调试线程
      连接jdwp调试模块,下初始java断点
      adb push lldb_server
      ./lldb_server ..............建立lldbserver用于调试jni层
      lldbfrontend.exe ........... 建立client连接lldbserver
      发送命令使lldb附加进程
      设置jni初始断点
      恢复java层和jni层执行,等待中断
    本插件正是对原始逻辑进行逆向,跳过之前的步骤从而直接连接到进程

    使用方式:
    1.编译android-ndk.jar,替换android studio自身的插件,重启as
    2.打开任意包含jni源码的app源码,在Run/Debug Configurations选项可以看到远程android进程列表,选择需要attach的进程
    3.运行进程即可,此时插件逻辑从启动进程改为附加进程,最终附加到app实现c++源码调试
  
# AndBugForWin
    AndBug是java层调试工具,封装了jdb利用python实现用户交互。因为jdb本身接口实在难用所以出现该工具。然而它不支持Windows甚至CygWin,因为AndBug中使用了*nix系统支持的localfilesystem监听方式而不是用socket端口监听方式,因此稍作修改即可实现win-cygwin上的同等功能

# superddms
    本插件用于修复ddms不识别本地android虚拟机的bug,android自带虚拟机的端口5037,而不同厂家的虚拟机采用不同端口
   
# superjdb
    关于jdwp的解析如我的这篇帖子:http://blog.csdn.net/lichao890427/article/details/51924451
    对于高版本的jdwp服务器端(如android5.0),支持新的底层命令对字节码进行逐行调试;由于apk中一般去除了行号信息,因此jdb没有字节码的调试功能就像windbg没有反汇编单步步过一样扯淡,本插件实现了java字节码和dalvik字节码逐行调试,使用了java源码自带的jdb-gui

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

qtfreet00 发表于 2017-1-9 13:31
有点高端
JadeSnow 发表于 2017-1-10 13:34
mj3399 发表于 2017-1-16 09:34
15835482567 发表于 2017-1-31 08:50 来自手机
不会玩,学习学习!!!
xman200379 发表于 2017-2-6 09:56
多谢分享
寒。雨 发表于 2017-2-7 13:49

感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 00:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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