动态调试某个apk的smali代码,微信举例
本地环境:
PC:windows 10,Intellij IDEA (android studio应该一样的)
手机:nexus5 8.1系统,
其他依赖:smalidea插件,xposed
插件 https://github.com/JesusFreke/smali
我使用的版本的下载链接,也是官方的:https://bitbucket.org/JesusFreke/smali/downloads/smalidea-0.05.zip
这个插件不能在线安装,需要下载后通过Install plugin from desk来安装
apktool 反编译出smali,多dex的apk会反编译出很多个smali文件夹,我们把它们复制到同一个文件夹内
然后在命令行启动ddms,命令是monitor,如果没配置环境变量可以去Sdk\tools里运行,启动后应该是这个样子的
但是此时应该看不到应用列表,需要安装一个xposed模块来把微信变成debuggable的,我用的是BDOpener,地址在:https://github.com/riusksk/BDOpener
模块生效后应该和上图就差不多了,但是只能看到debug列表,不能通过正常的点小虫子的方式debug,这时去手机端设置。
在开发者选项中找到 选择调试应用,选上微信,然后打开等待调试程序的开关。
这时运行微信就会变成这样
是不是熟悉多了?
然后回到IDEA,来配置我们的调试器。
先把刚才反编译出来的smali整理一下,放到一个src文件夹,比如wechat/src
然后用IDEA打开项目,Android Studio可以用Open an existing Android Studio Project
然后需要右键点击src,选择Mark Directory As > Sources Root
然后给项目设置一个jdk,我的是1.8
然后配置run config
取个名字,配好端口号就行。
让手机端打开微信,运行我们的调试器吧,当然手机要usb连接电脑。
出现下图就是成功连接上了,
然后就可以愉快的下断点了
最新文章
- 玩QQ游戏,见到好几个图像是美女的QQ,就不始玩
- HttpModule的一些初步认识
- [moka同学笔记]一、Yii2.0课程笔记(魏曦老师教程)
- 20145236 《Java程序设计》实验三实验报告
- WPF控件数据单项绑定
- 如何搭建MVC3与配置models层
- hdu 5094 Maze(水搜索)
- ABP学习笔记
- Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)
- IDEA- idea代码调试debug
- C++雾中风景2:struct还是class?
- WEB开发-动态验证码
- 传统方式和插件方式 分别实现 分页 功能 pageHelper 插件
- seajs的原理以及基本使用
- ZooKeeper学习总结 第二篇:ZooKeeper深入探讨
- [性能调优]在PeopleSoft中使用函数索引
- Project facet jst.web.jstl has not been defined.
- django 生成复杂的 PDF 文件(数据较多时)
- NOIP考前复习-数制转换,数论模板与文件读写
- Android Studio怎样加入工程(project)为library(针对非gradle)
热门文章
- ScoutSuite:一款针对云集群环境的安全审计工具
- php跨域的几种方式
- Ubuntu12.04安装MariaDB并修改字符集为UTF-8
- HDFS-NameNode和SeconddaryNode
- day04 列表增删改查、元祖以及range
- linux shell 管道命令(pipe)使用及与shell重定向区别
- java泛型通配符详解
- ltp-ddt realtime_cpuload_10p 涉及的cpuloadgen交叉编译及安装
- 190行代码实现mvvm模式
- mysql中的key primary key 和unique key