Giter VIP home page Giter VIP logo

xadb's Introduction

xadb

English README

Android逆向自动化操作脚本,一键开启调试(ida/gdb/lldb),一键查看app、设备信息,一键脱壳等等

安装

  • 建议使用git方式下载项目,直接下载zip包会导致不能更新

    git clone xadb_git_project

  • 切换到xadb项目目录:cd xadb

  • 运行里面的安装脚本,需指定sdk路径,若不指定,则选择AndroidStudio默认的sdk路径

    ./install.sh the_android_sdk_path 例如:./install.sh ~/xia0/android/sdk

  • 如果你是bash的终端环境则运行

    source ~/.bash_profile

  • 如果你是zsh的终端环境则运行

    source ~/.zshrc

注意事项

由于项目中提供了一些bin文件,导致文件有点大。不过仍然建议使用git的方式获取项目。

debug-server、frida以及其他目录文件,你可以根据你的环境自行替换。若已经push到远端设备,你可以在电脑替换目录以后,使用以下命令更新这些文件

adb agent reinstall // 删除Android设备上的所有xadb相关文件,并且从电脑端重新导入安装
adb agent clean // 删除Android设备上/data/local/tmp下的所有文件

重要更新

  • [2019/08/22] # xadb集成第一代壳的脱壳功能(power by hluwa)

  • [2019/09/03] # xadb增加了对Windows在MINGW64 shell执行环境的支持(若有bug,请issue)

支持的命令

说明:adb兼容内置的所有命令。在分别在pixel2 Android8 和pixel3 Android9上面测试通过。

在source目录下面提供了mprop的源码及build脚本

 device   
	 [imei]                              show connected android device basic info 
 serial   
	 [-s/-r]                             set/remove adb connect device serial such as emulator connecting 
 app      
	 [sign/so/pid/apk/debug/dump]        show current app, debug and dump dex  
 xlog     
	 [package]                           logcat just current app or special pid 
 debug    
	 [ida/ida64,lldb/lldb64, gdb/gdb64]  open debug and setup ida/lldb/gdb debug enviroment 
 frida/64 
	 start frida server on device        		 
 scp      
	 local/remote remote/local           copy device file to local or copy local file to device 
 pstree   
	 show the process tree of device     		 
 sign     
	 [local-apk-file]                    show sign of local apk file 
 agent    
	 [clean/reinstall]                   clean caches and reinstall agent 
 -h       
	 show this help usage               		 
 update   
	 update xadb for new version!
  • adb device

    获取一些设备的基本信息:品牌、imei、支持的架构、系统版本、sdk版本、wifi地址、是否开启调试?等

  • adb serial [set/remove]

    指定设备连接的序列号(通过adb devices获取),尤其在需要连接模拟器的时候。当设置以后,adb指定选择设置的序列号设备连接。默认为数据线连接的设备,恢复默认需要remove之前设置的序列号。

    示例用法

    xia0 ~ $ adb devices # 列举所有可连接的设备序列号
    List of devices attached
    88VX03A6L	device
    emulator-5554	device
    
    adb serial -s emulator-5554 #连接指定序列号的设备
    adb serial -r #移除设定的序列号
    
    adb device #默认数据线连接的设备
    
  • adb app [sign/so/pid/apk/debug/dump/screen]

    这个命令主要获取当前运行的app一些基本信息。当直接运行adb app时候会得到如下信息

    app=com.tencent.mm
    pid=11574 11607
    activity=com.tencent.mm/com.tencent.mm.plugin.account.ui.LoginPasswordUI
    appdir=/data/app/com.tencent.mm-2YcjHxlY7eF18ihMCYbVEw==
    datadir=/data/user/0/com.tencent.mm
    

    常见的包名、所有进程号、当前activity、app路径、沙盒路径

    这个命令还支持子命令,这些命令都是对当前app的操作。

    • adb app sign:获取当前app的签名信息
    • adb app so:获取当前app的so内存布局
    • adb app apk:获取当前app的apk文件到本地
    • adb app screen:获取当前屏幕截图
    • adb app debug:以后台启动模式开启当前app调试
    • adb app dump:针对当前app的dex脱壳。
  • adb xlog [package]

    获取当前app的日志,或后面可以加一个包名指定app的日志

  • adb debug [ida/ida64,lldb/lldb64, gdb/gdb64]

    开启Android的调试环境,自动打开全局调试选项以及启动对应的调试服务端。其中ida还可以指定端口调试:adb debug ida 23333。默认为23946端口

  • adb frida/frida64

    启动frida的服务端,暂时需要根据app来选择32位还是64的服务端。后面可以优化为自动选择

  • adb pcat [remote-file]

    获取一个手机端上任意路径的文件。

  • adb pstree

    显示手机端上的进程树情况,清晰发现进程以及其子进程关系

  • adb -h

    获取xadb的用法帮助信息

  • adb update

    从github更新xadb版本,获取最新的特性。

项目核心开发人员

更新

  • 2019-08-04/支持获取进程树的命令: adb pstree

    |\
    |  1 root init
    |  |\
    |  |  567 root init subcontext u:r:vendor_init:s0 9
    |  |\
    |  |  568 root init subcontext u:r:vendor_init:s0 10
    |  |\
    |  |  569 root ueventd
    |  |\
    |  |  582 logd logd
    |  |\
    |  |  583 system qseecomd
    |  |   \
    |  |    606 system qseecomd
    |  |\
    |  |  585 system [email protected]
    |  |\
    |  |  586 system vndservicemanager /dev/vndbinder
    |  |\
    |  |  587 hsm citadeld
    ...
    
  • 2019-08-05/添加对ida调试自定义端口的支持

    用法:

    • adb debug ida 23333 设置调试端口为23333

    • adb debug ida 默认以23946位调试端口

截图

adb-device

adb-app

adb-app-so

adb-app-sign

adb-app-apk

adb-debug-ida

adb-debug-gdb

adb-debug-lldb

adb-frida

adb-xlog

xadb's People

Contributors

4ch12dy avatar hluwa avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.