mirror of
https://github.com/whitechi73/OpenShamrock.git
synced 2024-08-14 13:12:17 +08:00
Shamrock
: Anti Provider Detection
This commit is contained in:
parent
a22dc50f14
commit
262af4108b
@ -31,7 +31,7 @@
|
||||
|
||||
<provider
|
||||
android:name=".ui.service.internal.MultifunctionalProvider"
|
||||
android:authorities="moe.fuqiuluo.xqbot.provider"
|
||||
android:authorities="moe.fuqiuluo.108.provider"
|
||||
android:exported="true"
|
||||
android:grantUriPermissions="true"
|
||||
tools:ignore="ExportedContentProvider" />
|
||||
|
@ -3,9 +3,11 @@ package moe.fuqiuluo.shamrock.xposed.helper
|
||||
import android.content.ContentValues
|
||||
import android.net.Uri
|
||||
import mqq.app.MobileQQ
|
||||
import kotlin.random.Random
|
||||
|
||||
internal object AppTalker {
|
||||
private val URI = Uri.parse("content://moe.fuqiuluo.xqbot.provider")
|
||||
val uriName = "content://moe.fuqiuluo.108.provider" // 你是真的闲,这都上个检测
|
||||
val URI = Uri.parse(uriName)
|
||||
|
||||
fun talk(values: ContentValues, onFailure: ((Throwable) -> Unit)? = null) {
|
||||
val ctx = MobileQQ.getContext()
|
||||
|
@ -1,9 +1,12 @@
|
||||
@file:Suppress("UNCHECKED_CAST", "LocalVariableName")
|
||||
package moe.fuqiuluo.shamrock.xposed.hooks
|
||||
|
||||
import android.content.ContentProviderClient
|
||||
import android.content.ContentResolver
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.content.pm.VersionedPackage
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Looper
|
||||
import de.robv.android.xposed.XC_MethodReplacement
|
||||
@ -15,6 +18,7 @@ import moe.fuqiuluo.shamrock.remote.service.config.ShamrockConfig
|
||||
import moe.fuqiuluo.shamrock.tools.MethodHooker
|
||||
import moe.fuqiuluo.shamrock.tools.hookMethod
|
||||
import moe.fuqiuluo.shamrock.xposed.XposedEntry
|
||||
import moe.fuqiuluo.shamrock.xposed.helper.AppTalker
|
||||
import moe.fuqiuluo.shamrock.xposed.loader.LuoClassloader
|
||||
import moe.fuqiuluo.shamrock.xposed.loader.NativeLoader
|
||||
import moe.fuqiuluo.symbols.XposedHook
|
||||
@ -25,12 +29,26 @@ class AntiDetection: IAction {
|
||||
|
||||
override fun invoke(ctx: Context) {
|
||||
antiFindPackage(ctx)
|
||||
antiProviderDetection()
|
||||
antiNativeDetection()
|
||||
if (ShamrockConfig.isAntiTrace())
|
||||
antiTrace()
|
||||
antiMemoryWalking()
|
||||
}
|
||||
|
||||
private fun antiProviderDetection() {
|
||||
ContentResolver::class.java.hookMethod("acquireContentProviderClient").before {
|
||||
val uri = it.args[0] as String
|
||||
if (uri == "moe.fuqiuluo.108.provider" || uri == "moe.fuqiuluo.xqbot.provider") {
|
||||
it.result = null
|
||||
LogCenter.log("AntiDetection: 检测到对Shamrock的检测,欺骗ContentResolver", Level.WARN)
|
||||
}
|
||||
//else {
|
||||
// LogCenter.log(uri)
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
val isModuleStack = fun String.(): Boolean {
|
||||
return contains("fuqiuluo") || contains("shamrock") || contains("whitechi") || contains("lsposed") || contains("xposed")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user