From f0e5754e150c1335ea4f171cddfafb4dfeb892fb Mon Sep 17 00:00:00 2001 From: Nacho Date: Thu, 2 Oct 2025 20:54:52 +0800 Subject: [PATCH 1/2] feat(MessageEncryptor): manual decrypt --- .../java/moe/ono/creator/JsonViewerDialog.kt | 113 ++++++++++++++++++ .../ono/hooks/base/api/QQMsgRespHandler.kt | 77 ++++++++++++ .../ono/hooks/dispatcher/MenuBuilderHook.kt | 4 +- .../ono/hooks/item/chat/MessageEncryptor.kt | 88 +++++++++++++- .../hooks/item/developer/QQMessageFetcher.kt | 8 +- app/src/main/res/values/ids.xml | 1 + 6 files changed, 285 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/moe/ono/creator/JsonViewerDialog.kt diff --git a/app/src/main/java/moe/ono/creator/JsonViewerDialog.kt b/app/src/main/java/moe/ono/creator/JsonViewerDialog.kt new file mode 100644 index 00000000..4ca09847 --- /dev/null +++ b/app/src/main/java/moe/ono/creator/JsonViewerDialog.kt @@ -0,0 +1,113 @@ +package moe.ono.creator + +import android.annotation.SuppressLint +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.os.Handler +import android.os.Looper +import android.widget.Button +import android.widget.RadioGroup +import com.lxj.xpopup.XPopup +import com.lxj.xpopup.core.BasePopupView +import com.lxj.xpopup.core.BottomPopupView +import com.lxj.xpopup.util.XPopupUtils +import moe.ono.R +import moe.ono.hooks.base.util.Toasts +import moe.ono.ui.CommonContextWrapper +import moe.ono.ui.view.JsonViewer +import moe.ono.util.AppRuntimeHelper +import moe.ono.util.analytics.ActionReporter +import org.json.JSONObject + +@SuppressLint("ResourceType") +class JsonViewerDialog(context: Context) : BottomPopupView(context) { + @SuppressLint("SetTextI18n", "ServiceCast") + override fun onCreate() { + super.onCreate() + Handler(Looper.getMainLooper()).postDelayed({ + val jsonViewer = findViewById(R.id.rv_json) + val btnCopy = findViewById