动态调试某个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连接电脑。

出现下图就是成功连接上了,

然后就可以愉快的下断点了

动态调试某个apk的smali代码,微信举例的更多相关文章
- 安卓动态调试七种武器之长生剑 - Smali Instrumentation
安卓动态调试七种武器之长生剑 - Smali Instrumentation 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是 ...
- Android APK程序的smali动态调试
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/71250622 一.Apktool的下载和安装 Apktool是Android逆向分 ...
- 安卓动态调试七种武器之离别钩 – Hooking(下)
0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试 ...
- 安卓动态调试七种武器之孔雀翎 – Ida Pro
安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是 ...
- 安卓动态调试七种武器之离别钩 – Hooking(上)
安卓动态调试七种武器之离别钩 – Hooking(上) 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的 ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- 使用IDEA动态调试smali代码
原创,转载请注明出处. 一般java ide(如eclipse.idea)都可用来进行smali的动态调试,这里选择IDEA. 第1步:使用apktool反编译apk java -jar apktoo ...
- 动态调试smali代码学习记录
预备知识 DDMS Dalvik Debug Monitor Serivce,Dalvik调试监控服务,为Android SDK提供的一款拥有监控Dalvik虚拟机的调试软件,启动文件位于<An ...
- apk逆向 - smali动态调试
author: Dlive date: 2016/10/6 0x00 前言 之前有人问过smali的动态调试方法,其实网上已经有很多文章讲这些内容,但是为了方便大家学习,我还是写一下让大家少走点坑 ...
随机推荐
- PHPer面试指南-laravel 篇
简述 Laravel 的生命周期 Laravel 采用了单一入口模式,应用的所有请求入口都是 public/index.php 文件. 注册类文件自动加载器 : Laravel通过 composer ...
- [SHOI2012] 火柴游戏
[SHOI2012] 火柴游戏 [题目链接] 链接 [思路要点] 首先发现移动火柴操作可以放到最后做.每一次移动火柴一定可以看做是添加一根火柴再删除一根火柴,并且可以将任意一次添加和一次删除操作合并为 ...
- Android应用程序开发之图片操作(二)——工程图片资源的加载及OOM的处理
(一)工程图片资源的加载方法 在Android应用程序开发之图片操作(一)中,详细说明了如何操作各种资源图片,只是有的没有附上示例代码,在此,我将针对项目工程中的图片资源的显示加载进行说明.官方说明, ...
- Js数据去重复,时间更换格式,cookie,localStorage和sessionStorage的使用等通用方法
一,数组去重复 function unique(arr) { // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for (var i in arr ...
- python中单下划线(_)和双下划线(__)的特殊用法
单下划线开头(_) 在模块中使用单下划线开头 模块中使用单下划线(_)开头定义函数.全局变量和类不能被模块外部以: from module import *形式导入. 但可以用:from module ...
- HDU 5634 线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5634 题意:给定一个长度为n的序列,有m次操作.操作有3种: 1 l,r :区间[l,r]的值变成ph ...
- BZOJ 4034 树链剖分
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4034 题意:中文题面 思路:树链剖分入门题. 剖分后就是一个简单的区间更新和区间求和问题. ...
- python数字图像处理(五) 图像的退化和复原
import cv2 import numpy as np import matplotlib.pyplot as plt import scipy import scipy.stats %matpl ...
- 读取的CSV
- Jenkins ant打包部署
选择项目 自由风格