栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AndroidStudio 动态调试apk(release版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AndroidStudio 动态调试apk(release版)

        今天教大家如何用AndroidStudio去动态调试已经上线的apk文件(类似我们开发的时候去debug调试代码块效果),这就是逆向的时候用的比较平凡的一种手段,而要更好的了解怎么去动态调试apk这里就得先了解一下这个过程的一些基础知识。

        动态调试无非就是把ap提取出来dex,然后再由dex转换成smali文件,然后通过AndroidStudio去动态调试smail文件罢了,不了解smali的可以看看这位大佬的讲解(Smali基础知识)。

那接下来我就亲自带大家走一遍

1.先准备一个apk包(先用一个没有加固过的apk,因为加固过的apk去脱壳也是比较费劲的暂时先不细说,脱壳教程晚点更新),这次我用的是我自己最近开发的一个项目,方便大家理解

2.准备反编译的工具:java环境,apktool,AndroidStudio,smalidea(as里的插件 下载连接JesusFreke / smali / Downloads — Bitbucket) 

3.为自己加加油 打打气

解析apk

        正式的apkgoogle官方都是不允许apk进行调试的,所以我们先设置apk允许调试

用apktool工具把apk先转成smail

1.把目标apk放到apktool的目录下,点击cmd执行命令 apktool.bat d test.apk

 

 

当出现这个test文件夹的时候说明已经成功了

设置apk允许调试 

打开test文件夹,找到AndroidManifest文件,在application节点加上:android:debuggable='true'

 然后保存文件,进行下一步操作

保存完时候咱们进行回编apk进行签名安装到测试机,等待接下来的工作

通过命令 apktool.bat b test  进行回编apk test是咱们的文件夹如果和我的命名不一样可以替换成自己的(尽量别用中文)

 

 回编译完成会在test文件夹生成一个dist文件夹和一个build文件夹,dist文件夹里面存放的就是回编译后不带有签名的apk文件,build文件夹里面还有一个apk文件夹,里面存放的是回编译后没有打包成apk的文件。但是设备上安装得有签名才能安装 目前我没有深究用的mt管理器 进行重新签名,然后安装到设备上

导入smali源码打AS(smalidea插件必须安装好否则无法debug)

将刚才生成的test文件导入到AndroidStudio中

 配置sdk

 添加remote类型的调试,port为5005(DDMS共用端口)

 adb查看手机进程 adb shell ps 找到你要调试的apk所用的端口 进行转发

 

使用 jdwp 转发端口:

adb forward tcp:调试端口号 jdwp:进程号
例如:
adb forward tcp:5005 jdwp:8308

 然后选择设备 进行调试即可

一直处于发现不了设备

无论是重启AndroidStudio  还是adb shell  kill-server 等都一直是Loading Devices的话 试着改一下sdk 

 

 就可以了

开始调试

 自此完结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号