
微X模块需要Xposed框架的支持,安装Xposed才是最麻烦的事情。普通手机可以尝试以下方法:
1、获取完全root权限。
2、到酷安市场下载Xposed框架并安装。
3、在Xposed里安装更新符合自己手机的框架。
4、下载安装微X模块,百度应该能找到。
5、重新勾选Xposed模块里的微X,重启手机。
6、完成。
对于已经安装第三方rec的手机,可以采用卡刷的方式安装xposed。
微X模块是一款非常强大的用于微信安卓版本的辅助插件,我们这里就是集合他之前的3个模块(微信转发模块,微信防撤回模块,微信通讯录管理模块)重新发布的作品,之前的模块因为遭到盗版已经永久停更,这款依然免费并且当时开源过很长时间,现在因某些原因据说不再开源。
该软件主要就是针对我们微信平台使用,并且还提供了各种实用的自动任务的项目,这样就可以让微信使用更加的轻松。它还可以帮助您秒抢红包、防止微信消息撤回、一键转发添加好友以及清理僵尸粉等,可以说是非常的适合微商来进行使用。
微X模块app的功能也是十分的强大,用户们想要的功能在这里这都有,其中我们还内置了十分详细的使用说明。
软件功能
1、防止微信撤回消息。
2、转发微信聊天里的和小视频到朋友圈。
3、转发聊天里的多张(最多9张)到朋友圈。
4、转发语音给朋友。
5、转发收藏内容。
6、转发朋友圈里的内容到自己的朋友圈。
7、分享和小视频。
8、屏蔽群聊成员。
9、自动添加“附近的人”界面的陌生人为好友。
10、自动添加“雷达加朋友”界面的陌生人为好友。
11、自动查找僵尸粉。
12、批量删除好友。
13、批量删除僵尸粉。
14、自动回复。
15、自定义表情最高限额。
16、自动领取红包、转账。
安装
xposed需要手机先获取ROOT权限,
然后安装27直装版,授予ROOT安装更新就可以了,不过有变假砖的风险,就是开不了机,所以要慎重,不过很简单就可以解决
闪飞网络加速为你解答,请采纳或追问
在OPPO手机系统版本上安装xposed框架,安装之前手机需要获取root权限,root权限是指获取手机系统的最高管理员权限,可删减系统文件、卸载系统应用,可能会导致手机死机、重启,甚至变砖,同时也会影响正常的三包服务。
不建议您root手机。
通常玩机root需要先解锁手机的BL(BootLoader)。
OPPO手机目前不支持root。
root可能会导致手机死机、重启,甚至变砖,同时也会影响正常的三包服务,因此不建议您root手机。
如果您要root的话,建议您去申请深度测试,深度测试是官方提供的解锁途径,参与深度测试后,您可以解锁手机的BL,进而修改手机系统,实现刷机、root等各种深度玩机 *** 作。
但是加入深度测试之后同样可能会对手机造成不可预估的影响,建议您谨慎选择是否要加入深度测试。
本回答适用于OPPO全系机型。
在我们的生活中微信是必不可少的一款软件,平时我们可以在微信中聊天交友,分享自己的生活等等,还能使用微信进行支付,微信的出现极大方便了我们的生活。为了帮助大家更好的使用微信,今天小编为的大家带来了一款增强微信功能的xposed模块——微X模块(WeXposed),软件内为用户提供多种功能,包括防止微信撤回消息、转发语音给朋友、转发朋友圈里的内容到自己的朋友圈、分享和小视频等功能,非常方便。还可以进行、文字的一键转发,自定义功能等等,是当前十分受欢迎的一款微信辅助软件。最重要的是这款神器免root不收费自由使用,全部功能任你探索,对于微信用户来说一定要下载试一试。
微X模块
软件特色
1、具有自动抢红包,一键转发朋友圈小视频、、文字,转发语音
2、可自定义微信通知,文字转语音,转码器等功能
3、转mp3为语音,防止别人撤回,防止别人删除朋友圈
4、非群主@所有人,防止被别人@,朋友圈过滤,朋友圈屏蔽
5、能够设置群管理员,自动领取转账,一键集赞,管理微信群
6、小视频录制时间自定义,自动加好友,自动加附近的人
7、自动踢人,自动回复,关键词自动回复,假报语音秒数
8、微X模块清理僵尸粉,一键自动同意好友请求,防止别人炸群
微X模块怎么使用?
当前主流为安卓50以上所使用的框架版本,安卓50以下请获取ROOT权限和完整安装BusyBox后使用旧版安装程序(27及以下非30)直接安装。(文末XP框架大合集里有自寻下载)
今天我和大家分享的是安卓60以上的所使用的XP框架哦~
适用于已解BL锁或无BL锁,已获取ROOT权限,已刷入第三方Recovery的MIUI8的ROM包。首先要安装基于官方版修改的MD设计版XP安装器(文末附件下载MIUI8专用XP框架安装器)
安装后打开,本安装器会自动根据系统和CPU来预选相应可以使用的框架版本,只要点击“安装/更新”,等待下载完成并选择内置存储路径的XposedInstaller文件夹内的框架卡刷包文件即可自动进入第三方Recovery模式进行卡刷框架的 *** 作,之后重启开机等待优化完成即可。
接下来随心DIY的时刻到来了~
XP框架安装完后,这时候我们就可以安装一些你想要玩的插件啦(好激动表情)~
好多最新模块可以在框架搜索~搜索到后点击下载~点击安装~安装后到模块设置里打勾(注意打勾后一定要重启手机哦)一气呵成~你看小编手机上截图的插件是不是爽翻天了?!
软件功能
1、微X模块防止微信撤回消息
2、转发微信聊天里的和小视频到朋友圈
3、转发聊天里的多张(最多9张)到朋友圈
4、转发语音给朋友
5、转发收藏内容
6、转发朋友圈里的内容到自己的朋友圈
7、分享和小视频
8、屏蔽群聊成员
9、自动添加“附近的人”界面的陌生人为好友
10、自动添加“雷达加朋友”界面的陌生人为好友
11、自动查找僵尸粉
12、批量删除好友
13、批量删除僵尸粉
14、自动回复
15、自定义表情最高限额
16、自动领取红包、转账
因为 dexposed 其实是用了dvm和art调用class的方式来做的, 而dvm和art的头文件什么的在android源码中, 所以下一份源码, 具体办法见上一个博文:准备android源码库
最简单的hook
MainActivity中有个test函数, 原来返回11111, 在调用hook之前正常返回的; 调用hook之后, 调用 同一个函数 , 但是却返回22222
public class MainActivity extends Activity
{
static {
SystemloadLibrary("hookdemo");
}
public static final String TAG = "===[hookdemo]===";
@Override
protected void onCreate(Bundle savedInstanceState)
{
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
String param1 = "param1";
Logd(TAG, "===========before hook test:" + thistest(param1));
hook(MainActivityclass, "test", "(Ljava/lang/String;)Ljava/lang/String;");
Logd(TAG, "===========after hook test:" + thistest(param1));
Logd(TAG, "===========before hook staticTest:" + thisstaticTest(param1));
hook(MainActivityclass, "staticTest", "(Ljava/lang/String;)Ljava/lang/String;");
Logd(TAG, "===========after hook staticTest:" + thisstaticTest(param1));
}
public static String staticTest(String param1)
{
return "staticTest";
}
public String test(String param1)
{
return "11111";
}
public native void hook(Class<> clazzToHook, String methodName, String methodSig);
}
ndk 中的部分
#include <jnih>
#include "logh"
#include "Dalvikh"
void showMethodInfo(const Method method)
{
//看看method的各个属性都是啥:
LOGD("accessFlags:%d",method->accessFlags);
LOGD("clazz->descriptor:%s",method->clazz->descriptor);
LOGD("clazz->sourceFile:%s",method->clazz->sourceFile);
LOGD("methodIndex:%d",method->methodIndex);
LOGD("name:%s",method->name);
LOGD("shorty:%s",method->shorty);
}
/
替换原来java类中test方法的 本地c 函数
args : 原来函数的参数数组
pResult: 返回值
/
static void newTestMethod(const u4 args, JValue pResult,
const Method method, struct Thread self) {
showMethodInfo(method);
// args 是原来函数的参数数组, 原来test函数只有一个String型参数
// 并且要注意, 如果是不是static函数, 下标0 是函数所在类的实例obj
// 在dvm中Object, jni 中的jobject 和 java 中的 Object类 都不是同一个东西
// String类对应StringObject
// 取出参数打印出来看看
StringObject param1 = NULL;
if(dvmIsStaticMethod(method))
param1 = (StringObject)args[0];
else
param1 = (StringObject)args[1];
LOGD("param1:%s",dvmCreateCstrFromString(param1));
//JValue 是个union ,要返回int 就 pResult->i=1; 返回Object对象就 pResult->l = ojb;
// 但是, 在dvm中的Object, jni 中的jobject 和 java 中的 Object类 都不是同一个东西
// 所以, 我们这里使用dvm的函数来创建一个StringObject
pResult->l = dvmCreateStringFromCstr("newTestMethod");
// 一般情况应该使用宏 : RETURN_XXX(result);
return;
}
/
hook 的jni 函数
/
extern "C" JNIEXPORT void JNICALL
Java_com_zhaoxiaodan_hookdemo_MainActivity_hook(JNIEnv env, jobject instance, jobject clazzToHook,
jstring methodName_, jstring methodSig_) {
const char methodName = env->GetStringUTFChars(methodName_, 0);
const char methodSig = env->GetStringUTFChars(methodSig_, 0);
jmethodID methodIDToHook = env->GetMethodID((jclass) clazzToHook,methodName,methodSig);
// 找不到有可能是个static
if(nullptr == methodIDToHook){
env->ExceptionClear();
methodIDToHook = env->GetStaticMethodID((jclass) clazzToHook,methodName,methodSig);
}
if(methodIDToHook != nullptr)
{
//主要在这里替换
//jmethodID 在dvm里实际上就是个Method 结构体
Method method = (Method) methodIDToHook;
//看看method的各个属性都是啥:
showMethodInfo(method);
//设置Method 的 accessFlags 为 枚举型
// ACC_NATIVE 表示 这个method 切换成了一个native 方法
// 这个枚举 在 dalvik/libdex/DexFileh
// 类似:
// ACC_PUBLIC = 0x00000001, // class, field, method, ic
// ACC_PRIVATE = 0x00000002, // field, method, ic
// ACC_PROTECTED = 0x00000004, // field, method, ic
SET_METHOD_FLAG(method, ACC_NATIVE);
//既然是一个native方法, 那就把 nativeFunc 指针指向我们的hook, 用来替换test的新方法
method->nativeFunc = &newTestMethod;
// registersSize是函数栈大小, insSize是参数占用大小
// 如果是native方法, 就没有额外开销了
// 所有开销就是参数占用, 所以把它设置成跟参数占用空间
method->registersSize=method->insSize;
//未知
method->outsSize=0;
}
env->ReleaseStringUTFChars(methodName_, methodName);
env->ReleaseStringUTFChars(methodSig_, methodSig);
}
extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM vm, void reserved)
{
JNIEnv env = nullptr;
if (vm->GetEnv((void) &env, JNI_VERSION_1_6) != JNI_OK) {
return -1;
}
return JNI_VERSION_1_6;
}
运行之后得到:
===[hookdemo]===﹕ ===========before hook:11111
[---hookdemo---]﹕ 1
[---hookdemo---]﹕ Lcom/zhaoxiaodan/hookdemo/MainActivity;
[---hookdemo---]﹕ MainActivityjava
[---hookdemo---]﹕ 334
[---hookdemo---]﹕ test
[---hookdemo---]﹕ LL
[---hookdemo---]﹕ param1:
===[hookdemo]===﹕ ===========after hook:22222
以上就是关于如何用xposed调用别的界面的方法全部的内容,包括:如何用xposed调用别的界面的方法、oppopclm10安装xposed框架、红米7安装XP框架等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)