androidstudio动态调试apk最详细教程

NarClo NarClo     2023-04-12     799

关键词:

前提条件

  1. 首先要懂的smali得语法,知道在哪里下断点,代码逻辑,调试的位置定位很重要,不用太精通,但是最起码的知识点要知道
  2. 你所调试的apk是否可以支持反编译后二次签名,有一些apk包是做了签名效验的,需要破解之后才能打包,有些是加了壳的,根据实际情况去处理你所调试的apk包,这里不仔细说明怎么破解签名效验和脱壳操作。
  3. 需要准备安卓模拟器或者手机(无需ROOT),adb能够正常链接手机
  4. 需要android studio (建议下载最新版本)

开始配置环境

  1. android studio需要安装插件:1,Smalidea 2,Smali Support

1,Smalidea安装,网上很多都是v0.05版本的,由于我的android studio比较新,所以v0.5版本会导致无法正常下断点。所以建议安装v0.06版本

下载地址:smalidea-0.06
安装步骤:
打开setting>Plugins

右上角的齿轮 选择 Install Plugin from Disk
然后选择下载好的smalidea-0.06安装即可
2,Smali Support安装
可以直接在Plugins的Marketplace搜索Smali Support就可以直接安装

至此安装的东西已经就绪完毕了。

3,通过android studio 打开apk包

android studio 起始页面打开 profile or Debug APK
选择你要调试apk包

把Android改为Project

养成好习惯,把反编译出来的smali改为源码文件目录
smali文件右键>Make Directory as > Sources Root


4,Smali下断点
选择你要在smali源码里面下载断点了 根据自身情况下载断点

5,修改反编译的apk包改为调试模式

反编译工具很多,可以通过android killer或者apktool2.6都可以,根据自己习惯
(安装android killer需要配置java环境变量,这里不说明,网上大把资料自己可以搜索下 java安装环境配置 就行了)
这里我用android killer。
1,使用android killer打开apk包

2,反编译成功之后修改 AndroidManifest.xml文件 在Application 中添加

android:debuggable=“true”


点击保存后从新编译apk包 安装到手机或者模拟器上

到这里需要调试的apk包已经准备好了,下面就是准备调试

6,配置android studio调试器

打开Edit Configurations

点击左上角加号>选择Remote JVM Debug


Name:自己随便写
port:这个可以选择默认的 可以根据自己选择端口号
其他的不用修改 然后点击apply再点OK
然后选择刚刚创建的调试器

再打开Terminal

然后在手机上打开你刚刚编译修改的apk包运行起来,
通过shell查看包的pid进程

adb shell ps | grep 包名

包名在android killer可以查看

我这里包名:com.leeyou.td16489493

adb shell ps | grep com.leeyou.td16489493

会显示一下信息

记住这个pid 7751 等会儿要用到
然后输入

adb forward tcp:5005 jdwp:7751
tcp:端口是在第六步设置调试器设置端口 默认5005
jdwp:换成你apk包的pid


然后选择Attach Debugger to Android Process

然后选择apk包名 点击OK

如果出现Connected to the tarfet VM…说明已经连接成功了!

剩下的就是在代码段下断点进行调试了


运行手机的apk或者模拟器的apk调试器会自动在你下的断点停留然后出现参数值

教程到此结束。供大家参考。

(最详细)小米mix的usb调试模式在哪里打开的教程

...销团队当使用的应用引号精灵,以前老版本就需要开启Usb调试模式下使用,现当新版本不需要了,如果手机没有开启Usb调试模式,pc则没法成功识别我们的手机,部分应用也没法正常使用,这个时候我们需要想方设法将手机的Usb... 查看详情

Android:如何禁用调试以上传 apk

...试才能在GooglePlay中发布。详细了解可调试的APK。我使用AndroidStudio0.4.0编译我的应用 查看详情

androidstudio调试smali代码(代码片段)

...章是使用Eclipse调试smali代码的,因此上网找了下使用AndroidStudio调试smali代码的相关资料下载AS插件首先由于AndroidStudio是不支持smali的,因此我们需要下载相关插件来语法高亮以及设置断点我们可以下载smalidea插件来安装... 查看详情

linux安装androidstudio详细教程

安装AndroidStudio详细教程libc6-i386lib32stdc++6lib32gcc1lib32ncurses5lib32z1jdk1.8.0_25android-studio-ide-141.2456560-linux.zipandroid-sdk_r24.4.1-linux.tgz AndroidSDK中的adb程序是32位的,Ubuntux64系统需要安装32位库文件 查看详情

androidstudio安装教程及调试(对新手友好简单实用)

对新手超级友好的AndroidStudio安装配置教程及调试安装需要工具​JDK1.8​下载地址:https://pan.baidu.com/s/187cXQ1hLbrBai0TBIeyeaA提取码:7ya9​androidStudio3.5.2​下载地址:https://dl.google.com/dl/android/studio/install/3.5.2.0/android-studio- 查看详情

(最详细)小米手机5c的usb调试模式在哪里开启的经验

...团队经常使用的app引号精灵,以前的老版本就需要开启USB调试模式下使用,现经常新版本不需要了,如果手机没有开启USB调试模式,PC则不能够成功识别我们的手机,部分app也不能够正常使用,此情况我们需要找解决方法将手机... 查看详情

android在同一个手机上安装多个同样的apk,便于调试

Androidstudio在同一个手机上安装多个同样的apk原文地址:http://yj.itrydo.com/posts/iKJryXL9zkfSGRTZk先看效果:1.在我使用ecslipse的时候我一直在研究“Androidstudio在同一个手机上安装多个同样的apk”这个问题,但是每次都不能如自己所愿。... 查看详情

最全最详细使用publiccms实现动态可维护的首页轮播(代码片段)

大家好,我是雄雄,欢迎关注微信公众号:👉雄雄的小课堂👈。💁‍♂️前言前几天,分享了一篇关于publiccms的教程,在这里:【最全最详细】publiccms使用教程,不过这篇只是笼统的介绍... 查看详情

android开发-android开发环境搭建(androidstudio详细安装教程,适合新手)

01Android开发工具AndroidStudioAndroidStudio是谷歌推出的一个Android集成开发工具,基于IntelliJIDEA.类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试架构组成。基于Gradle的构建支持。Android专属的重构和快速修复。提示工... 查看详情

androidstudio项目提交(更新)到github最详细步骤

在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。因为自己也没有做很深的研... 查看详情

5.0androidstudio调试你的应用

AndroidStudio包含了一个调试器,允许你调试运行在Android虚拟机或连接的Android设备的应用。通过AndroidStudio的调试器,你可以:1、选择你调试设备的app2、为你的代码设置断点3、在运行时检测变量和表达式4、截图和录像... 查看详情

androidstudio非命令行git版本控制超详细讲解教程

转载请标明出处(请勿转载删除底部微博、微信等信息):http://blog.csdn.net/y1258429182/article/details/64444851本文出自:杨哲丶的博客工欲善其事,必先利其器。---论语人如果不会偷懒,那与咸鱼有什么区别。---杨哲网上... 查看详情

ida动态调试破解exe文件与分析apk流程(代码片段)

...APK2.1IDA调试步骤2.2Apk调试实例IDA调试EXE3.1IDA静态分析3.2IDA动态调试总结前言在前一篇文章:JEB动态调试与篡改攻防世界Ph0en1x-100中介绍了如何借助JEB调试工具对APK的smali源码进行调试分析,本文主要来看如何使用IDA来调试A... 查看详情

全网最实用的ideadebug调试技巧(超详细案例)(代码片段)

...件(Condition)强制返回(ForceReturn)Stream调试(TraceCurrentStreamChain)执行表达式(EvaluateExpression)远程调试(Remote JVMDebug)远程调试使用教程多线程调试(Suspend)Thread模式执行All模式... 查看详情

全网最实用的ideadebug调试技巧(超详细案例)(代码片段)

...件(Condition)强制返回(ForceReturn)Stream调试(TraceCurrentStreamChain)执行表达式(EvaluateExpression)远程调试(Remote JVMDebug)远程调试使用教程多线程调试(Suspend)Thread模式执行All模式... 查看详情

androidstudio怎么打开apk

进入AndroidStudio,开始界面和Xcode有点类似,点击Newproject新建一个工程,新建过程和在Eclipse上差不多,新建一个androidproject,之后的界面一直点击“next”,最后点击“finish”即可。AndroidStudio是一个Android开发环境,基于IntelliJIDEA.... 查看详情

ida动态调试破解exe文件与分析apk流程(代码片段)

...APK2.1IDA调试步骤2.2Apk调试实例IDA调试EXE3.1IDA静态分析3.2IDA动态调试总结前言在前一篇文章:JEB动态调试与篡改攻防世界Ph0en1x-100中介绍了如何借助JEB调试工具对APK的smali源码进行调试分析,本文主要来看如何使用IDA来调试A... 查看详情

android11使用androidstudio调试系统应用:依赖分析android.bp静态依赖动态依赖

文章目录1.篇头语2.系列文章3.本文关联Git3.1目录说明3.2下载地址3.3缩写约定4.分析:source_org/Settings/AndroidMenifest.xml5.分析:source_org/Settings/Android.bp5.1完整源码解析:Android.bp5.2划重点:分析结果6.分析:source_org/SettingsLib/AndroidMenifest.x 查看详情