大神们求救呀,到是xposed不能用,还是088神器有问题

大神们求救呀,到是xposed不能用,还是088神器有问题,第1张

前提条件:One必须官解、ROOT。步骤一:依次安装XposedInstaller程序(附件1)和onebackbutton模块(附件2)步骤二:先打开XposedInstaller,在“核心框架”界面点击(安装/更新),系统会自动加载,有可能会重启。这一步很关键。HTCONE(M7)免刷去除海苔条通用教程,怎么去除海苔条?步骤三:再次进入XposedInstaller,点击“应用模块”界面,加载backbuttonoptionsenablerm模块HTCONE(M7)免刷去除海苔条通用教程,怎么去除海苔条步骤四:加载完毕后,在“核心框架”界面点击软重启。重启后,海苔条就消失了,在应用程序里长按返回键就可以调出菜单栏。想找回海苔条也很方便,进入设置——显示手势和按钮,会发现多了一个“返回按钮”选项,可以选择原来的设置。使用过程中,发现有时手机重启后,“返回按钮”的设置会消失,在XposedIntaller里再次点击“安装/更新”就行了

还是之前公司的那个需求,为满足客户需要,必须能够远程控制手下手机的相机和录音功能,之前能够使用设备管理器来禁用摄像头,但是毕竟需要手机使用者来手动点击确定激活的选项,这点就不是很美丽,虽然那个点击的 *** 作可以使用自动化服务来实现,但是有点大题小做并且效果还是不理想,所以我使用的禁用android底层相机和录音的api,通过修改android底层代码实现 功能失效,而通过反编译手机自带的相机录音的apk虽然也能够实现失效的效果,但是毕竟这只是一个apk,人家在下载个其他的照相或录音的app,你还是拿人家没有办法,所有相关的应用都会使用Camera、AudioRecord或是MediaRecorder类实现的照相 和 录制语音的功能,让我们查询相关底层代码,修改部分代码就能够一举多得的让所有调用这三个类的所有app都失效啦~

话不多说直接上代码~ 关于xposed模块配置方面我就不介绍了...不会的同学可以看我的其他帖子或是去google一下,关于那三个类可以在AS上引出这三个包,然后ctri + 左键 点击进去查看源码,里面API介绍的很全面,对于是英文看不懂的同学可以再AS里面装一个自动翻译的插件,我可以推荐一个AS翻译的插件你们可以试试~无网络无法使用哦~网址如下所示点击就能进入(安装教程也讲解的很详细):

点击打开链接

private void hookCamera(XC_LoadPackage.LoadPackageParam loadPackageParam) {

try {

XposedHelpers.findAndHookMethod("android.hardware.Camera", loadPackageParam.classLoader, "open", new XC_MethodHook() {

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param)

if (ModelHelper.getGZipModel("Audio.qwer.com","disable").equals("disable")){

param.setResult(null)

Log.e("pptppt", "试试吧")

}

}

})

XposedHelpers.findAndHookMethod("android.hardware.Camera", loadPackageParam.classLoader, "open",

int.class, new XC_MethodHook() {

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param)

if (ModelHelper.getGZipModel("Audio.qwer.com","disable").equals("disable")){

param.setResult(null)

Log.e("pptppt", "试试吧 啊哈哈")

}

}

})

} catch (Exception e) {

}

}

通过阅读Camera 的API 只要禁用掉open方法的返回值就能够实现无法开启摄像头 *** 作,接下来是禁用语音录音功能:

private void hookRecord(XC_LoadPackage.LoadPackageParam loadPackageParam) {

try {

Class<?>aClass = XposedHelpers.findClass("android.media.MediaRecorder", loadPackageParam.classLoader)

XposedBridge.hookAllMethods(aClass, "setOutputFile", new XC_MethodHook() {

@Override

protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

super.beforeHookedMethod(param)

if (ModelHelper.getGZipModel("Audio.qwer.com","disable").equals("disable")){

param.args[0] = null

Log.e("pptppt", "lalala1")

}

}

})

/*********************************************************************************/

XposedHelpers.findAndHookMethod("android.media.AudioRecord", loadPackageParam.classLoader, "getState", new XC_MethodHook() {

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param)

if (ModelHelper.getGZipModel("Audio.qwer.com","disable").equals("disable")){

param.setResult(0)

Log.e("pptppt", "getState")

}

}

})

}catch (Exception e){

}

}

以上是实现禁用录音功能的代码,通过禁用AudioRecord 和 MediaRecorder 类来实现禁用效果。

不知道你们观察出来了没有,在修改参数或返回值的时候,我在外侧都会加一个if判断,读取一个压缩文件中的string字符串,不满足条件的时候在禁止,这样做是为了能够更灵活的实现禁用效果,当不需要禁用的时候就重新写入压缩文件中的内容就可以了~~ 如下是ModelHelper类的代码:

import android.util.Log

import java.io.BufferedReader

import java.io.BufferedWriter

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream

import java.io.InputStreamReader

import java.io.OutputStreamWriter

import java.io.Reader

import java.util.zip.GZIPInputStream

import java.util.zip.GZIPOutputStream

public final class ModelHelper {

public static final String DIR = "/sdcard/"

/**

* by kevin 07-03

* 解压文件 获得string数据

* @param modelName 文件名

* @param value 取不到或解压出错时 用来替代的默认数据

* @return 返回数据 成功为modelName文件的内容 失败为value默认内容

*/

public static String getGZipModel(String modelName, String value) {

try {

File file = new File(DIR + modelName)

if (!file.isFile() || !file.exists()) {

return value

}

byte [] buffer = new byte[10240]

GZIPInputStream gis = new GZIPInputStream(new FileInputStream(file))

int cnt = gis.read(buffer)

gis.close()

return new String(buffer, 0, cnt, "utf-8")

} catch (Exception e) {

e.printStackTrace()

return value

}

}

/**

* by kevin 07-03

* set cloud.sv 设置数据内容

* @param fileName 压缩文件名字

* @param value 写入的内容

*/

public static void setGZipModel(String fileName,String value){

try {

FileOutputStream fos = new FileOutputStream(DIR + fileName)

GZIPOutputStream gos = new GZIPOutputStream(fos)

gos.write(value.getBytes())

gos.flush()

gos.finish()

}catch (Exception e){

Log.e("qswx", "写入文件内容出错或不存在")

}

}

/**

* by kevin 06-20

* 读文件的方法

* @param modelName 文件名

* @param value 没有这个文件或这不是文件的时候 返回的String类型信息

* @return 返回的是文件中的数据信息 为String类型

*/

public static String getModel(String modelName, String value) {

try {

File file = new File(DIR + modelName)

if (!file.isFile() || !file.exists()) {

return value

}

Reader inputStreamReader = new InputStreamReader(new FileInputStream(file), "UTF-8")

String str3 = new BufferedReader(inputStreamReader).readLine()

inputStreamReader.close()

return str3

} catch (Exception e) {

e.printStackTrace()

return value

}

}

/**

* by kevin 06-20

* 写入String字符串 写入到指定文件中

* @param modelName 指定文件的文件名字

* @param value 写入到文件的String字符串

*

* BufferedWriter 写入到缓存区

* .flush()清空提交 不要忘记写

*/

public static void setModel(String modelName, String value) {

BufferedWriter bufferedWriter = null

try {

bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(DIR + modelName), false), "UTF-8"))

bufferedWriter.write(value)

bufferedWriter.flush()

bufferedWriter.close()

} catch (Exception e3) {

e3.printStackTrace()

try {

if(bufferedWriter != null) {

bufferedWriter.close()

}

} catch (Exception e5) {

}

}

}

}

比普通的写入文件内容的方式,这种通过加

右滑只适用部门App。

手机自带并没有全局返回(也就是右滑退出)功能,如果手机有安装Xposed框架倒是有相应的模块支持,但是部分手机应用支持全局返回,如QQ。

滑动返回设置:1、首先在手机上滑动屏幕,找到华为手机自带的“设置”的图标。

2、在打开的华为手机设置页面中,我们点击“系统”菜单项。

3、在打开的华为手机系统设置页面中,我们点击“系统导航”菜单项。

4、这时就会d出系统导航的设置页面,在页面中点击“导航栏”后面的设置按钮。

5、这时会打开导航栏的设置页面,在页面中可以看到“请选择虚拟 导航栏组合”设置项。

6、我们点击下面的返回按键在最右侧的菜单项就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11318403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存