Skip to content

Commit

Permalink
🧨冰社2.0.2 2025新年快乐🧨
Browse files Browse the repository at this point in the history
  • Loading branch information
bingqiu456 committed Dec 31, 2024
1 parent f3ef87a commit 15dc41f
Show file tree
Hide file tree
Showing 16 changed files with 294 additions and 10 deletions.
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
<div align="center">
<img src="https://pic.imgdb.cn/item/671c8857d29ded1a8ce444d9.png" width="250" height="250" />
<img src="https://s21.ax1x.com/2024/12/31/pAzqOPg.png" width="250" height="250" />


# 冰社 / IceCore
[![LSPosed](https://img.shields.io/badge/LSPosed-Module-blue.svg)](https://github.com/bingqiu456/IceCore)
[![Github](https://img.shields.io/badge/Github-IceCore-black.svg)](https://github.com/bingqiu456/IceCore)
[![QQ_group](https://img.shields.io/badge/QQ%E7%BE%A4-855183768-orange?style=flat-square)](https://qm.qq.com/q/hnbnj43qwM)


✨一个集成了各种好玩功能的Xposed模块,支持获取vip,去除广告,等功能 ✨
**一个集成了各种好玩功能的Xposed模块,支持获取vip,去除广告,等功能**

</div>

**🌈冰社2.0 大版本更新来了,这次更新内容较多,大家可以下载体验一下🌈**

🎉**编写模块不易 有能力的大佬不如[捐赠](https://afdian.com/a/bingyueblog)一下**🎉

## ✨如何使用

点击[这里](https://github.com/Xposed-Modules-Repo/me.bingyue.IceCore/releases),下载**最新版本**
Expand Down Expand Up @@ -65,11 +68,14 @@
| 倒数日 | 🟢 | 破解了内购,点击购买后退出即可获得`vip` | 1.22.0\ |
| 小黑屋 | 🟢 | 破解了使用激活码激活,随便输入一个支付宝订单号即可 | 1.9.18c |
| fake_location | 🟢 | 解锁`vip` | 1.3.5 BETA |
| fake_location | 🟢 | 解锁vip,去除更新,去除云控 | 1.3.2.2 |
| 堆糖 | 🟢 | 可以自由使用vip功能 | 8.42.3 |
| vmos pro | 🟢 | 去登录 | 3.0.7 |
| 番茄小说 | 🟢 | 去除广告 | 6.4.5.32 |
| 小熊录屏 | 🟢 | 可以使用vip功能 | 2.4.4 |
| 不背单词 | 🟢 | 终生大会员 | 8.0 |
| 不背单词 | 🟢 | 终生大会员 | 5.0-5.5.6 |
| 潮汐 | 🟢 | 解锁`vip`功能,大部分功能有服务器校验 | 4.2.4 |
| 无痛单词 | 🟢 | 解锁终生vip | 1.18.0 |
| Autocmd | 🟢 | 解锁专业版 | 1.1.9 |
| 一木记账 | 🟢 | `vip`功能解锁 | 5.8.9 |
| nfc tool | 🟢 | 可以使用vip功能 | 2.6.5 |
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ android {
applicationId "me.bingyue.IceCore"
minSdkVersion 27
targetSdkVersion 33
versionCode 3
versionName "2.0.1"
versionCode 4
versionName "2.0.2"
// ndk {
// abiFilters "x86_64","x86","armeabi-v7a","arm64-v8a"
// }
Expand Down
Binary file modified app/release/app-release.apk
Binary file not shown.
4 changes: 2 additions & 2 deletions app/release/output-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 3,
"versionName": "2.0.1",
"versionCode": 4,
"versionName": "2.0.2",
"outputFile": "app-release.apk"
}
],
Expand Down
7 changes: 6 additions & 1 deletion app/src/main/java/me/bingyue/IceCore/MainHook.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
import java.util.Objects;

import de.robv.android.xposed.IXposedHookLoadPackage;
import me.bingyue.IceCore.hook_app.android;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XSharedPreferences;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;


public class MainHook implements IXposedHookLoadPackage {


Expand All @@ -38,10 +38,15 @@ public class MainHook implements IXposedHookLoadPackage {
hook_method_app.put("com.estrongs.android.pop", "a1");
hook_method_app.put("cn.com.langeasy.LangEasyLexis", "a2");
hook_method_app.put("com.lerist.autocmd", "b2");
hook_method_app.put("tech.xiangzi.painless", "c2");
hook_method_app.put("io.moreless.tide", "c3");
}

@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if(Objects.equals(lpparam.packageName, "android")){
android.hook_init();
}
if(Objects.equals(lpparam.packageName, "me.bingyue.IceCore")){
XposedHelpers.findAndHookMethod("me.bingyue.IceCore.activity.MainActivityKt", lpparam.classLoader, "isModuleActivated", XC_MethodReplacement.returnConstant(true));
}
Expand Down
13 changes: 12 additions & 1 deletion app/src/main/java/me/bingyue/IceCore/activity/Config.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ package me.bingyue.IceCore.activity

class Config {
val settingsMap = mapOf(
"Fake Location" to listOf(
"Fake Location New" to listOf(
listOf("启用本地VIP", "com_lerist_fakelocation__vip", "仅本地生效"),
listOf("去除APP黑名单", "com_lerist_fakelocation__black_app", "如上所述"),
listOf("去除服务器验证", "com_lerist_fakelocation__verify", "防止定位突然关闭")
),
"Fake Location 1.3.2.2" to listOf(
listOf("总开关", "com_lerist_fakelocation__oid_all", "如果想使用请手动勾选系统框架\n同时把new上面的关了"),
listOf("启用本地VIP", "com_lerist_fakelocation__vip_old", "仅本地生效"),
listOf("去除服务器验证", "com_lerist_fakelocation__verify", "防止定位突然关闭")
),
"Autocmd+" to listOf(
listOf("启用本地VIP", "com_lerist_autocmd__vip", "仅本地生效"),
),
Expand Down Expand Up @@ -51,6 +56,12 @@ class Config {
),
"不背单词" to listOf(
listOf("启用本地VIP", "cn_com_langeasy_LangEasyLexis__isvip", "仅本地生效")
),
"无痛单词" to listOf(
listOf("启用本地VIP", "tech_xiangzi_painless__isvip", "仅本地生效")
),
"潮汐" to listOf(
listOf("启用本地VIP", "io_moreless_tide__isvip", "仅本地生效")
)
)
}
5 changes: 5 additions & 0 deletions app/src/main/java/me/bingyue/IceCore/config/Config.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package me.bingyue.IceCore.config;

public class Config {
public static boolean com_lerist_fakelocation__oid_all = true;
public static boolean com_lerist_fakelocation__vip = true;
public static boolean com_lerist_fakelocation__black_app = true;
public static boolean com_lerist_fakelocation__verify = true;
public static boolean com_lerist_fakelocation__vip_old = true;
public static boolean com_lerist_fakelocation__verify_old = true;
public static boolean com_nowcasting_activity__isvip = true;
public static boolean cn_ticktick_task__isvip = true;
public static boolean com_clover_daysmatter__pay = true;
Expand All @@ -18,6 +21,8 @@ public class Config {
public static boolean com_dragon_read__isvip = true;
public static boolean me_mapleaf_calendar__isvip = true;
public static boolean com_mutangtech_qianji__isvip = true;
public static boolean tech_xiangzi_painless__isvip = true;
public static boolean io_moreless_tide__isvip = true;
public static boolean com_duapps_recorder__isvip = true;
public static boolean web1n_stopapp__vip = true;
}
51 changes: 51 additions & 0 deletions app/src/main/java/me/bingyue/IceCore/hook_app/android.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package me.bingyue.IceCore.hook_app;

import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;

public class android {
public static void hook_init(){
XposedHelpers.findAndHookMethod(ClassLoader.class, "loadClass", String.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
if (param.hasThrowable()) return;
Class<?> cls = (Class<?>) param.getResult();
if(cls.getClassLoader().toString().contains("/data/fakeloc/libfakeloc.so")) {
XposedBridge.log("hook libfakeloc.so");
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3500);
XposedBridge.log("start");
XposedHelpers.findAndHookMethod("com.lerist.inject.utils.ޏ", cls.getClassLoader(), "އ", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
}
});
XposedHelpers.findAndHookMethod("com.lerist.inject.utils.ބ", cls.getClassLoader(), "ރ", java.lang.String.class, int.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
param.args[0]="114.114.114.114";//把vef.api.fakeloc.cc改为114.114.114.114
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
}
});
}catch (Exception e){
e.printStackTrace();
}
}
}).start();
}
}
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
}
});
XposedHelpers.findAndHookMethod("\u0793.\u0221", classLoader, "\u0D08", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(1);
super.afterHookedMethod(param);
}
});
}
});
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
package me.bingyue.IceCore.hook_app;

import android.content.Context;

import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import me.bingyue.IceCore.config.Config;
import android.util.Base64;


import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

public class com_lerist_fakelocation_old {
public static void hook_init(XC_LoadPackage.LoadPackageParam lpparam){
XposedHelpers.findAndHookMethod("com.stub.StubApp", lpparam.classLoader, "attachBaseContext", Context.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
Context context = (Context) param.args[0];
ClassLoader classLoader = context.getClassLoader();
XposedHelpers.findAndHookMethod("ކ.ޖ$֏", classLoader, "ށ", java.lang.String.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
if(Config.com_lerist_fakelocation__verify_old){
param.args[0]="114.114.114.114";
}
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
}
});

Class<?> JSONClass =XposedHelpers.findClass("com.alibaba.fastjson.JSON",classLoader);

XposedHelpers.findAndHookMethod("ށ.ރ.ށ.ހ.ށ.ؠ", classLoader, "֏", java.lang.String.class, java.lang.Class.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
if(param.args[0]=="key_userinfo" && Config.com_lerist_fakelocation__vip_old){
long proindate=System.currentTimeMillis()+200000000;
long tokenTime=System.currentTimeMillis()+500000000;
String key = "1#" + Long.toString(proindate) + "#" + Long.toString(tokenTime) + "#T";
String data = "{\"key\":\"" + desEncryptECB(key, "Lerist.T") + "\",\"loginName\":\"IceCore\",\"loginTime\":0,\"loginType\":\"email\",\"proindate\":" + Long.toString(proindate) + ",\"stability\":0,\"token\":\"T\",\"type\":1}";
param.setResult(XposedHelpers.callStaticMethod(JSONClass,"parseObject",data,param.args[1]));
return;
}
super.afterHookedMethod(param);
}
});

XposedHelpers.findAndHookMethod("ށ.ރ.ށ.ހ.ށ.ؠ", classLoader, "ނ", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(false);
}
});

XposedHelpers.findAndHookMethod("ށ.ރ.ؠ.ހ.ؠ", classLoader, "ށ", java.lang.String.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
}
});

XposedHelpers.findAndHookMethod("ށ.ރ.ؠ.ހ.ؠ", classLoader, "ؠ", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(null);
}
});

XposedHelpers.findAndHookMethod("ށ.ރ.ؠ.ؠ.֏", classLoader, "ޅ",Context.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
}
});

}
});

}


public static String desEncryptECB(String content, String key) {
try {
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
DESKeySpec desKeySpec = new DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] result = cipher.doFinal(content.getBytes());
return Base64.encodeToString(result, Base64.DEFAULT);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String desECBDecrypt(byte[] data, String key) throws Exception {
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
DESKeySpec desKeySpec = new DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] encryptedData = Base64.decode(data, Base64.DEFAULT);
byte[] decryptedData = cipher.doFinal(encryptedData);
return new String(decryptedData);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package me.bingyue.IceCore.hook_app;

import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import me.bingyue.IceCore.config.Config;

public class io_moreless_tide {
public static void hook_init(XC_LoadPackage.LoadPackageParam lpparam){
hook_vip(lpparam);
}

public static void hook_vip(XC_LoadPackage.LoadPackageParam lpparam){
if(!Config.io_moreless_tide__isvip){
return;
}
XposedHelpers.findAndHookMethod("io.moreless.tide.base.model.User$Vip", lpparam.classLoader, "getExpired", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(false);
super.afterHookedMethod(param);
}
});
XposedHelpers.findAndHookMethod("io.moreless.tide.base.model.User$Vip", lpparam.classLoader, "getValid", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
super.afterHookedMethod(param);
}
});
XposedHelpers.findAndHookMethod("k1.l", lpparam.classLoader, "ll", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(true);
super.afterHookedMethod(param);
}
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package me.bingyue.IceCore.hook_app;

import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import me.bingyue.IceCore.config.Config;

public class tech_xiangzi_painless {
public static void hook_init(XC_LoadPackage.LoadPackageParam lpparam){
hook_vip(lpparam);
}

public static void hook_vip(XC_LoadPackage.LoadPackageParam lpparam){
if(!Config.tech_xiangzi_painless__isvip){
return;
}
XposedHelpers.findAndHookMethod("tech.xiangzi.painless.data.remote.model.UserBean", lpparam.classLoader, "getPro", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
}

@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(9);
super.afterHookedMethod(param);
}
});
}
}
Loading

0 comments on commit 15dc41f

Please sign in to comment.