1
0
mirror of https://github.com/areteruhiro/LIME-beta-hiro.git synced 2025-02-05 21:11:39 +09:00

ラインラボのボタン作成項目を無効化

バージョンネームから取得するように
This commit is contained in:
areteruhiro 2025-01-30 17:10:11 +09:00
parent 4c8bae7242
commit e382fd88da
5 changed files with 58 additions and 60 deletions

View File

@ -10,7 +10,7 @@ android {
minSdk 28
targetSdk 35
versionCode 11501
versionName "1.16.01beta"
versionName "1.16.04beta"
multiDexEnabled false
proguardFiles += 'proguard-rules.pro'
buildConfigField 'String', 'HOOK_TARGET_VERSION', '"141910383"'

View File

@ -7,7 +7,6 @@ import android.widget.Toast;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import io.github.hiro.lime.BuildConfig;
import io.github.hiro.lime.LimeOptions;
import io.github.hiro.lime.R;
import io.github.hiro.lime.Utils;
@ -24,12 +23,12 @@ public class CheckHookTargetVersion implements IHook {
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
Context context = (Context) param.thisObject;
PackageManager pm = context.getPackageManager();
long versionCode = pm.getPackageInfo(loadPackageParam.packageName, 0).getLongVersionCode();
String versionCodeStr = String.valueOf(versionCode);
if (!BuildConfig.HOOK_TARGET_VERSION.equals(versionCodeStr) &&
!versionCodeStr.equals("142110270") &&
!versionCodeStr.equals("150000454")) {
String versionName = pm.getPackageInfo(loadPackageParam.packageName, 0).versionName;
String versionNameStr = String.valueOf(versionName);
if (!versionNameStr.equals("14.19.1")&&
!versionNameStr.equals("14.21.1") &&
!versionNameStr.equals("15.0.0")) {
Utils.addModuleAssetPath(context);
Toast.makeText(context.getApplicationContext(), context.getString(R.string.incompatible_version), Toast.LENGTH_SHORT).show();
}

View File

@ -37,55 +37,51 @@ static HookTarget RemoveVoiceRecord_Hook_c = new HookTarget("TS.f", "run");
), "getSystemContext");
PackageManager pm = context.getPackageManager();
long versionCode = 0;
String versionName = ""; // 初期化
try {
versionCode = pm.getPackageInfo(loadPackageParam.packageName, 0).getLongVersionCode();
versionName = pm.getPackageInfo(loadPackageParam.packageName, 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
// バージョンコードに応じてHookTargetを変更
if (versionCode == 141910383) {
USER_AGENT_HOOK = new HookTarget("Wc1.c", "h");
WEBVIEW_CLIENT_HOOK = new HookTarget("OK0.l", "onPageFinished");
MUTE_MESSAGE_HOOK = new HookTarget("Ob1.b", "H");
MARK_AS_READ_HOOK = new HookTarget("WM.c$d", "run");
Archive = new HookTarget("sB.Q", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("qd1.b", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
//com.linecorp.uts.android.t with result: null
RemoveVoiceRecord_Hook_a = new HookTarget("q.j", "run");
//有効から無効
RemoveVoiceRecord_Hook_b = new HookTarget("xg1.e$a", "run");
//無効から有効
RemoveVoiceRecord_Hook_c = new HookTarget("TS.f", "run");
} else if (versionCode ==142110270) {
USER_AGENT_HOOK = new HookTarget("vf1.c", "j");
WEBVIEW_CLIENT_HOOK = new HookTarget("pN0.l", "onPageFinished");
MARK_AS_READ_HOOK = new HookTarget("xN.b$d", "run");
MUTE_MESSAGE_HOOK = new HookTarget("ne1.b", "H");
Archive = new HookTarget("tB.N", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("Pf1.c", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
// バージョンネームに応じてHookTargetを変更
if (versionName.equals("14.19.1")) {
USER_AGENT_HOOK = new HookTarget("Wc1.c", "h");
WEBVIEW_CLIENT_HOOK = new HookTarget("OK0.l", "onPageFinished");
MUTE_MESSAGE_HOOK = new HookTarget("Ob1.b", "H");
MARK_AS_READ_HOOK = new HookTarget("WM.c$d", "run");
Archive = new HookTarget("sB.Q", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("qd1.b", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
RemoveVoiceRecord_Hook_a = new HookTarget("q.j", "run");
RemoveVoiceRecord_Hook_b = new HookTarget("xg1.e$a", "run");
RemoveVoiceRecord_Hook_c = new HookTarget("TS.f", "run");
} else if (versionName.equals("14.21.1")) {
USER_AGENT_HOOK = new HookTarget("vf1.c", "j");
WEBVIEW_CLIENT_HOOK = new HookTarget("pN0.l", "onPageFinished");
MARK_AS_READ_HOOK = new HookTarget("xN.b$d", "run");
MUTE_MESSAGE_HOOK = new HookTarget("ne1.b", "H");
Archive = new HookTarget("tB.N", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("Pf1.c", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
RemoveVoiceRecord_Hook_a = new HookTarget("q.j", "run");
RemoveVoiceRecord_Hook_b = new HookTarget("Fi1.j", "run");
RemoveVoiceRecord_Hook_c = new HookTarget("Fi1.j", "run");
} else if (versionCode == 150000454) {
USER_AGENT_HOOK = new HookTarget("Sg1.c", "j");
WEBVIEW_CLIENT_HOOK = new HookTarget("FO0.l", "onPageFinished");
MUTE_MESSAGE_HOOK = new HookTarget("Lf1.b", "I");
MARK_AS_READ_HOOK = new HookTarget("KO.d$d", "run");
Archive = new HookTarget("tB.P", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("mh1.b", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
} else if (versionName.equals("15.0.0")) {
USER_AGENT_HOOK = new HookTarget("Sg1.c", "j");
WEBVIEW_CLIENT_HOOK = new HookTarget("FO0.l", "onPageFinished");
MUTE_MESSAGE_HOOK = new HookTarget("Lf1.b", "I");
MARK_AS_READ_HOOK = new HookTarget("KO.d$d", "run");
Archive = new HookTarget("tB.P", "invokeSuspend");
NOTIFICATION_READ_HOOK = new HookTarget("mh1.b", "invokeSuspend");
REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b");
RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a");
RemoveVoiceRecord_Hook_a = new HookTarget("q.j", "run");
RemoveVoiceRecord_Hook_b = new HookTarget("uk1.e$a", "run");
RemoveVoiceRecord_Hook_c = new HookTarget("C30.f", "run");
}
}
}
public static class HookTarget {

View File

@ -73,9 +73,9 @@ public class EmbedOptions implements IHook {
), "getSystemContext");
PackageManager pm = contextV.getPackageManager();
long versionCode = 0;
String versionName = ""; // 初期化
try {
versionCode = pm.getPackageInfo(loadPackageParam.packageName, 0).getLongVersionCode();
versionName = pm.getPackageInfo(loadPackageParam.packageName, 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
@ -483,11 +483,13 @@ public class EmbedOptions implements IHook {
// ステータスバーの高さに係数0.1を掛けて調整
String versionCodeStr = String.valueOf(versionCode);
if (versionCodeStr.contains("15") ) {
layoutParams.topMargin = (int) (statusBarHeight); // ステータスバーの高さの10%をマージンに設定
String versionNameStr = String.valueOf(versionName);
int versionNameInt = Integer.parseInt(versionNameStr); // Convert the string to an integer
if (versionNameInt >= 15) {
layoutParams.topMargin = (int) (statusBarHeight); // Set margin to status bar height
} else {
layoutParams.topMargin = Utils.dpToPx(5, context);
layoutParams.topMargin = Utils.dpToPx(5, context); // Set margin to 5dp
}
button.setLayoutParams(layoutParams);
button.setOnClickListener(new View.OnClickListener() {

View File

@ -7,7 +7,6 @@ import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import io.github.hiro.lime.BuildConfig;
import io.github.hiro.lime.LimeOptions;
public class RemoveVoiceRecord implements IHook {
private boolean isXg1EaRunCalled = false;
@ -28,19 +27,21 @@ public class RemoveVoiceRecord implements IHook {
}
param.setResult(null);
Context context = (Context) XposedHelpers.callMethod(XposedHelpers.callStaticMethod(
XposedHelpers.findClass("android.app.ActivityThread", null),
"currentActivityThread"
), "getSystemContext");
PackageManager pm = context.getPackageManager();
long versionCode = pm.getPackageInfo(loadPackageParam.packageName, 0).getLongVersionCode();
versionCodeStr = String.valueOf(versionCode);
}
}
);
if (BuildConfig.HOOK_TARGET_VERSION.equals(versionCodeStr)) {
Context context = (Context) XposedHelpers.callMethod(XposedHelpers.callStaticMethod(
XposedHelpers.findClass("android.app.ActivityThread", null),
"currentActivityThread"
), "getSystemContext");
PackageManager pm = context.getPackageManager();
String versionName = ""; // 初期化
versionName = pm.getPackageInfo(loadPackageParam.packageName, 0).versionName;
versionName = String.valueOf(versionName);
if (versionName.equals("14.19.1")) {
XposedBridge.hookAllMethods(
loadPackageParam.classLoader.loadClass(Constants.RemoveVoiceRecord_Hook_b.className),
"run",