对Xposed的认识和思考

Xposed是什么

Xposed 是一款可以在不修改 APK 的情况下影响程序运行的框架服务,基于 Xposed 能够制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。 Xposed 通过替换 /system/bin/app_process 程序控制 zygote 进程,使得 app_process 在启动过程中会加载 XposedBridge.jar 这个 jar 包,从而完成对系统应用的劫持。 Xposed 不仅仅是一个插件加载功能,而是它从根上 Hook 了 Android Java虚拟机,所以它需要 root,所以每次为它启用新插件APP 都需要重新启动。

Xposed能做什么?

能够修改微信运动的步数,我修改了微信小号走路的步数,其实只是 hook 了传感器的 api 而已。

hook了传感器API.JPG

能够修改手机当前位置。我们知道手机的定位一般是混合定位,借助wifi、gps、基站等等来获取定位数据,如果能 hook 基站、wifi、gps等api,那么就能实现修改手机的当前位置。

修改手机的定位.JPG

用这个思路,做个 AR 抢红包的外挂也是未尝不可。

能够 hook 住 android 任意 api 的 Xposed 能做的远不止于此,还能够做很多非常有想象力的事情。

Xpose开发遇到的坑

首先,root 是安装 Xposed 的前提。有时,即使 root 了也不行,我遇到过一台三星 s6,已经 root 了仍然无法安装Xposed :(

每调试一次,都需要重启手机,经过一天的调试会有一种手机都快被玩坏的错觉。

最后,曾经被一个配置困扰了一个下午。Xposed 的 jar 包不能使用 compile,而是应该使用provided,就是因为这个配置错了,我一个下午拿不到结果:(

对于开发 Xposed 模块,必须要有足够的耐心。当然,所有的开发都是如此。

对利用Xposed的思考

在移动互联网时代,某些数据可能只存在于app之中,非常封闭。如果 app 有对应的网站,还能通过爬虫抓取内容,如果没有对应的网站,抓取就会有困难。如果 app 跟后端的通信协议是 protobuf、thrift 之类,那抓取数据包都会比较麻烦。

这几天一直在玩 Xposed ,所以我想写一个抓取 app 内容的爬虫,当然首先需要逆向 app 查找到内容所在的地方,才能借助 Xposed 进行hook。

Xposed 也能帮助测试,既然能修改手机的location,那么对地理位置要求高的lbs应用做一些测试就不在话下了,不再需要人工跑过去。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Mix 08到来之前的Monolight Update

在Mix08到来之前Mono团队老大Miguel de Icaza's在blog上发布了Pre-Mix 08: Moonlight Updates。根据这篇bl...

1969
来自专栏张善友的专栏

来腾讯云开发者实验室学习.NET

腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验...

4259
来自专栏大神带我来搬砖

站在道德的制高点来写程序——免费获取IntelliJ IDEA license

2854
来自专栏施炯的IoT开发专栏

How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器

引言         目前,对于我们国内大多数的Windows Phone 7开发者来说,模拟器是调试程序的唯一选择。因此,和硬件相关的一些功能就没有办法进行...

2005
来自专栏deed博客

Windows XP生日快乐

1804
来自专栏我和未来有约会

Silverlight初级教程-概述

Silverlight初级教程 概述 Silverlight 是微软的一项新技术,正如之前的asp一样,微软为了保持其竞争力重新设计了他的框架推...

1916
来自专栏极客生活

mac 批量导入 iPhone和Android照片

首先是Android手机,从App Store下载handshaker,锤子科技出品的,非常良心好用。

1104
来自专栏张善友的专栏

.NET StockTrader 2.0 新版本

为了扩大高性能.NET应用程序在多种层次和平台上的应用范围以及促进Windows通讯基础(WCF)的应用,微软2008年10月7日发布了一个样本应用程序、应用指...

2247
来自专栏张善友的专栏

来腾讯云开发者实验室 学习.NET

腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验...

2295
来自专栏我有一个梦想

Windows 常用运行库下载 (DirectX、VC++、.Net Framework等)

经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll、msvcr71.dll又或者是 .Net Fra...

1.7K6

扫码关注云+社区

领取腾讯云代金券