Xposed插件开发(一)简单demo
来源:互联网 发布:淘宝刷几单封号 编辑:程序博客网 时间:2024/06/01 10:35
Xposed插件开发(一)简单demo
xposed下载地址:http://repo.xposed.info/module/de.robv.android.xposed.installer
xposed开发包源码:https://github.com/rovo89/XposedBridge.git
xposed简易demo:https://github.com/rovo89/XposedExamples.git
准备阶段
新建android工程,只需要修改三个地方,就可以开发xposed插件了:
导入XposedBridgeApi.jar
我这边图省事直接将demo中lib文件拷贝到当前工程中了
Androidmanifest.xml 没有activity也不要紧。
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!-- 增加三个meata-data --> <meta-data android:name="xposedmodule" android:value="true" /> <meta-data android:name="xposeddescription" android:value="make a Simcard id" /> <meta-data android:name="xposedminversion" android:value="30" /> </application>
在assets中添加xposed_init文件
xposed_init文件记录xposed插件处理类,文件写入格式为:包名+类名
简单demo
由于某app需要获取sim卡才能运行,这边准备利用xposed伪造一份simcard id绕过去。
代码放在gihub:https://github.com/saidyou/com.saidyou.xposed.simcard.git
package com.saiyou.xposed.simcard;import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;import android.telephony.TelephonyManager;import de.robv.android.xposed.IXposedHookLoadPackage;import de.robv.android.xposed.XC_MethodHook;import de.robv.android.xposed.XposedBridge;import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;public class Simcard implements IXposedHookLoadPackage { public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable { // TODO Auto-generated method stub XposedBridge.log(lpparam.packageName + " [Simcard]"); // sim is usefully findAndHookMethod(TelephonyManager.class.getName(),lpparam.classLoader,"getSimState",new XC_MethodHook(){ @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { // TODO Auto-generated method stub super.beforeHookedMethod(param); } @Override protected void afterHookedMethod(MethodHookParam param) throws Throwable { // TODO Auto-generated method stub super.afterHookedMethod(param); //TelephonyManager.SIM_STATE_READY 5 param.setResult(TelephonyManager.SIM_STATE_READY); } }); // get sim id findAndHookMethod("android.telephony.TelephonyManager",lpparam.classLoader,"getSubscriberId",new XC_MethodHook(){ @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { // TODO Auto-generated method stub //super.beforeHookedMethod(param); param.setResult("11111111111111111111111111"); } }); }}
阅读全文
0 0
- Xposed插件开发(一)简单demo
- Xposed Xposed插件开发
- Xposed插件的使用(一)进行简单的Hook
- jenkins 插件开发-简单demo
- Xposed插件开发基础篇
- Xposed插件开发进阶篇
- Hook框架xposed的简单demo
- Hook框架xposed的简单demo
- [Android开发] Xposed 插件开发之一: Xposed入门
- [Android开发] Xposed 插件开发之二: Xposed一些知识
- Xposed笔记(一)Xposed初识
- Xposed笔记(一)Xposed初识.续
- Xposed框架初次见面-开发自己的Xposed插件
- 简单开发一个java 插件式demo
- 【插件开发一】开发简单OpenFire插件
- 【插件开发一】开发简单OpenFire插件
- 【插件开发一】开发简单OpenFire插件
- Xposed模块开发教程(一) 了解并使用Xposed
- 八幅漫画理解使用 JSON Web Token 设计单点登录系统
- ARP
- mysql 性能分析及explain用法——数据库优化
- 一篇就够了系列之Service全解析
- QT5的软键盘输入法实现
- Xposed插件开发(一)简单demo
- git clone 指定分支操作
- 结构体的构造、拷贝、赋值、析构和字符串的拷贝、构造、赋值和析构函数的比较
- PHP实现定时任务的五种方法
- 006
- 自己做了个网站 网址:http://www.sunshinelin.club
- 适配器模式与外观模式
- Maven 学习资料整理
- Apache Hive