package com.bytecat.algui.ui; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; import android.app.Activity; import com.bytecat.algui.AlguiHacker.AlguiRootClient; import com.bytecat.algui.AlguiHacker.AlguiRootService; import com.bytecat.algui.AlguiManager.AlguiAssets; import com.bytecat.algui.AlguiManager.AlguiCallback; import com.bytecat.algui.AlguiManager.AlguiDocument; import com.bytecat.algui.AlguiTools.AlguiToolAudio; import com.bytecat.algui.AlguiTools.AlguiToolNative; import com.bytecat.algui.AlguiTools.AlguiToolNetwork; import com.bytecat.algui.AlguiWindows.AlguiWin2FA; import com.bytecat.algui.AlguiWindows.AlguiWinInform; import com.bytecat.algui.MainActivity; import com.bytecat.algui.effect.DynamicArrayList; import com.bytecat.algui.effect.Notification; import com.bytecat.algui.ui.button.FloatButton; import com.topjohnwu.superuser.ipc.RootService; import java.util.HashMap; import com.bytecat.algui.effect.ArrayList; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.os.Build; import android.view.Gravity; import com.bytecat.algui.AlguiViews.AlguiV; import com.bytecat.algui.ui.category.RemoteLinkWatcher; import com.bytecat.algui.effect.ModuleManager; import android.text.TextUtils; public class Main { public static boolean alreadyloggin; public static boolean vt1 = true; public static boolean vt2 = false; public static boolean vt3 = false; // 水印单例,全局可用 public static AlguiV.TVNoSignalText tvNoSignal = null; private static ExecutorService executor = Executors.newSingleThreadExecutor(); // 创建一个单线程线程池 public static void 音效播放() { if (vt1) { AlguiToolAudio.playAudio(aContext, "vt1.ogg"); } if (vt2) { AlguiToolAudio.playAudio(aContext, "vt2.ogg"); } if (vt3) { AlguiToolAudio.playAudio(aContext, "vt3.ogg"); } } public static void 音效() { new Thread(new Runnable() { @Override public void run() { 音效播放(); // 调用音效方法 } }).start(); } public static void 远控音效() { AlguiToolAudio.playAudio(aContext, "cont.ogg"); } public static String km; // 内存修改示例 public static boolean initialized; public static DynamicArrayList arrayList; public static Notification notification; public static FloatButton floatButton; // 网络验证 private static boolean is2FA = true; private static Context aContext; // 确保 aContext 被正确声明 // 声明一个静态变量来保存当前活动 public static Activity currentActivity; private static void Net2FA(final Activity currentActivity) { AlguiWin2FA.Get(currentActivity, currentActivity) .setCatWYAppID("57182") .setCatWYAppCode("1.0") .setCatWYOkCode(42589214) .setCatWYAppKey("LL9EeZ8LResQ899i") .setCatWYRC4_2("11L79sm1O5y57182") .addRemoteFieldName("otone") .addRemoteFieldName("ottwo") .startWY(new AlguiCallback.WY2FA() { public void success(String kami, String user, String vip, HashMap remote) { } public void success(String kami, String expireTime, HashMap field) { MyMenu(kami, expireTime, field, currentActivity); } }); } private static void MyMenu(final String kami, final String expireTime, HashMap field, final Activity currentActivity) { AlguiToolNative.loadLibrary("Algui"); RootService.bind(new Intent(currentActivity, AlguiRootClient.class), new AlguiRootService()); String km = kami; String time = expireTime; String value1 = field.getOrDefault("otone", "这是远程变量获取失败时的默认值"); String value2 = field.getOrDefault("ottwo", "这是远程变量获取失败时的默认值"); final String markcode = android.os.Build.FINGERPRINT; new AsyncTask() { @Override protected String doInBackground(Void... voids) { String codeList = AlguiToolNetwork.get(AlguiDocument.getRead("codeList")); long count = 0; if (codeList != null) { for (int i = 0; i < codeList.length(); i++) { if (codeList.charAt(i) == ';') { count++; } } } if (codeList != null && !codeList.contains(markcode)) { AlguiToolNetwork.get(AlguiDocument.getAdd("codeList", markcode + ";")); count++; return "欢迎新用户!你是第" + count + "个用户"; } return "全网人数:" + count; } @Override protected void onPostExecute(String result) { AlguiToolAudio.playAudio(aContext, "oopen.ogg"); alreadyloggin = true; // 远控 RemoteLinkWatcher.startWatching( "https://sharechain.qq.com/a3d3ef114852299548ab41773813c9bc", "https://sharechain.qq.com/788e56aa9ad0ebb26f149c12c535e916", MIX.getContext()); final AlguiV a = AlguiV.Get(aContext);// 获取UI快速构建器 // 绘制静态视图到屏幕上 a.WinDraw( a.TextTag(null, "" + Build.BRAND + "\nAndroid" + Build.VERSION.RELEASE + "\nTrosCore v1.0.0", 0xCE000000, expireTime) .setCatTextSize(8) .setCatTextColor(0xFFFFFFFF), // 绘制的视图 Gravity.BOTTOM | Gravity.START, // 坐标原点 (这里右上原点) 10, 10, // 相对原点xy偏移 false// 视图是否可接收触摸事件 ); final AlguiV.TVNoSignalText tvNoSignal = new AlguiV.TVNoSignalText(); tvNoSignal.start("TrosCore\nAccount:" + kami); // 开 // 初始化 MIX MIX.init(currentActivity); String userName = TextUtils.isEmpty(AlguiWin2FA.wy_user) ? "TrosCore用户" : AlguiWin2FA.wy_user; ModuleManager.getInstance().setModuleEnabled( "TrosCore", true, "Version:1.0.0 User:" + userName); } }.execute(); } private Main() { throw new UnsupportedOperationException("cannot be instantiated"); } public static final String TAG = "Main"; public static void start(Context c) { aContext = c; final Activity activity = (Activity) c; currentActivity = activity; activity.getWindow().getDecorView().postDelayed(new Runnable() { @Override public void run() { if (is2FA) { Net2FA(activity); } else { MyMenu("Free", "无限期", new HashMap(), activity); } } }, 350L); } }