Cemiuiler icon indicating copy to clipboard operation
Cemiuiler copied to clipboard

💡 [需求] <彻底禁止“应用包管理组件”联网>

Open weixiansen574 opened this issue 2 years ago • 4 comments

需求内容

禁止它联网上传用户安装的安装包信息,因为他们会用来做一些细思极恐的事情😰

实现思路&截图

hook java.net.Socket类,在获取流的时候抛异常(注:可能对部分不使用java socket联网的应用无效,包管理组件测试有效)

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getInputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getOutputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

简单例子

给个开关“禁止联网”,虽然系统支持禁用网络,但是仅限流量。

weixiansen574 avatar Aug 02 '23 01:08 weixiansen574

需求内容

禁止它联网上传用户安装的安装包信息,因为他们会用来做一些细思极恐的事情😰

实现思路&截图

hook java.net.Socket类,在获取流的时候抛异常(注:可能对部分不使用java socket联网的应用无效,包管理组件测试有效)

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getInputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getOutputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

简单例子

给个开关“禁止联网”,虽然系统支持禁用网络,但是仅限流量。

https://github.com/Cemiuiler-Development-Team/Cemiuiler/issues/212 我之前问过,在这里可以开启禁用wlan联网,当时也是为了这个“应用安装组件”,但是后来发现禁用网络后,安装完应用没有“打开”按钮,只有“完成”按钮。而且如果不禁用联网吧,开VPN要安装软件时它会等好长时间。真的烦得要死这玩意。

Mrqqeat avatar Aug 02 '23 02:08 Mrqqeat

打开按钮再让作者hook回来😁

weixiansen574 avatar Aug 02 '23 02:08 weixiansen574

可以打开cemiuiler打开手机管家->全限制,然后进到MIUI的应用设置里面把 应用包管理组件 的两个联网全禁了。 这个管用么🤔

yqs112358 avatar Sep 13 '23 09:09 yqs112358

需求内容

禁止它联网上传用户安装的安装包信息,因为他们会用来做一些细思极恐的事情😰

实现思路&截图

hook java.net.Socket类,在获取流的时候抛异常(注:可能对部分不使用java socket联网的应用无效,包管理组件测试有效)

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getInputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

XposedHelpers.findAndHookMethod("java.net.Socket", loadPackageParam.classLoader, "getOutputStream", new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    param.setThrowable(new IOException("连你妈网!"));
                }
            });

简单例子

给个开关“禁止联网”,虽然系统支持禁用网络,但是仅限流量。

#212 我之前问过,在这里可以开启禁用wlan联网,当时也是为了这个“应用安装组件”,但是后来发现禁用网络后,安装完应用没有“打开”按钮,只有“完成”按钮。而且如果不禁用联网吧,开VPN要安装软件时它会等好长时间。真的烦得要死这玩意。

换第三方安装器(比如安装狮/installerx/R安装组件),别用官方的,最大程度保证安全。 第三方可以走shizuku/dhizuku/root权限安装

yqs112358 avatar Sep 13 '23 09:09 yqs112358