Update README.md

This commit is contained in:
方块君 2022-05-14 19:44:09 +08:00
parent 8f753de854
commit 10c4636d18
5 changed files with 3 additions and 31 deletions

View File

@ -2,7 +2,6 @@ plugins {
id 'com.android.application'
id 'kotlin-android'
id 'top.niunaijun.blackobfuscator'
id 'icu.nullptr.stringfuck'
}
android {
@ -38,11 +37,6 @@ BlackObfuscator {
obfClass = ["xfk233.genshinproxy"]
}
stringFuck {
setKey "xfk2333"
obfuscationList ["xfk233.genshinproxy"]
workOnDebug true
}
dependencies {
//API
@ -50,5 +44,4 @@ dependencies {
//Api
compileOnly 'de.robv.android.xposed:api:82:sources'
implementation 'com.github.kyuubiran:EzXHelper:0.9.2'
implementation 'icu.nullptr.stringfuck:library:0.1.4'
}

View File

@ -7,13 +7,11 @@ import android.app.AlertDialog
import android.content.ClipboardManager
import android.content.Context
import android.content.SharedPreferences
import android.content.pm.PackageManager
import android.content.res.XModuleResources
import android.graphics.Color
import android.graphics.PixelFormat
import android.graphics.drawable.ShapeDrawable
import android.graphics.drawable.shapes.RoundRectShape
import android.os.Build
import android.text.Editable
import android.text.InputType
import android.text.TextWatcher
@ -31,13 +29,11 @@ import de.robv.android.xposed.IXposedHookZygoteInit
import de.robv.android.xposed.XC_MethodHook
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.callbacks.XC_LoadPackage
import icu.nullptr.stringfuck.StringFuck
import org.json.JSONObject
import xfk233.genshinproxy.Utils.dp2px
import xfk233.genshinproxy.Utils.isInit
import java.io.BufferedReader
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
@ -142,7 +138,6 @@ class Hook {
}
fun initZygote(startupParam: IXposedHookZygoteInit.StartupParam) {
StringFuck.init()
modulePath = startupParam.modulePath
moduleRes = XModuleResources.createInstance(modulePath, null)
TrustMeAlready().initZygote()
@ -158,7 +153,6 @@ class Hook {
EzXHelperInit.initHandleLoadPackage(lpparam)
findMethod("com.combosdk.openapi.ComboApplication") { name == "attachBaseContext" }.hookBefore {
val context = it.args[0] as Context
Utils.check(context, modulePath)
sp = context.getSharedPreferences("serverConfig", 0)
forceUrl = sp.getBoolean("forceUrl", false)
startForceUrl = forceUrl

View File

@ -1,10 +1,6 @@
package xfk233.genshinproxy
import android.content.Context
import android.content.pm.PackageManager
import android.util.Base64
import android.widget.Toast
import kotlin.system.exitProcess
object Utils {
var isInit = false
@ -13,14 +9,4 @@ object Utils {
val scale: Float = context.resources.displayMetrics.density
return (dpValue * scale + 0.5f).toInt()
}
inline fun check(context: Context, modulePath: String) {
context.packageManager.getPackageArchiveInfo(modulePath, PackageManager.GET_SIGNING_CERTIFICATES).apply {
this ?: exitProcess(0)
if (signingInfo.apkContentsSigners[0].toCharsString() !in arrayOf(String(Base64.decode("MzA4MjAyZTQzMDgyMDFjYzAyMDEwMTMwMGQwNjA5MmE4NjQ4ODZmNzBkMDEwMTA1MDUwMDMwMzczMTE2MzAxNDA2MDM1NTA0MDMwYzBkNDE2ZTY0NzI2ZjY5NjQyMDQ0NjU2Mjc1NjczMTEwMzAwZTA2MDM1NTA0MGEwYzA3NDE2ZTY0NzI2ZjY5NjQzMTBiMzAwOTA2MDM1NTA0MDYxMzAyNTU1MzMwMjAxNzBkMzIzMjMwMzEzMDM4MzEzMzMxMzEzMjMwNWExODBmMzIzMDM1MzIzMDMxMzAzMTMxMzMzMTMxMzIzMDVhMzAzNzMxMTYzMDE0MDYwMzU1MDQwMzBjMGQ0MTZlNjQ3MjZmNjk2NDIwNDQ2NTYyNzU2NzMxMTAzMDBlMDYwMzU1MDQwYTBjMDc0MTZlNjQ3MjZmNjk2NDMxMGIzMDA5MDYwMzU1MDQwNjEzMDI1NTUzMzA4MjAxMjIzMDBkMDYwOTJhODY0ODg2ZjcwZDAxMDEwMTA1MDAwMzgyMDEwZjAwMzA4MjAxMGEwMjgyMDEwMTAwYTJjNmYyZGEzMTY4NmZhNzMwNTYyODE5NDYyOTFlYWE1M2U1ZTgzYmZkZTliNDgyMGMzNWNiY2ZlN2I2NGNlODhiYWViYjE5ZWNjMjM2YzI2MzczMWE1Mzg4NzJlZTU1MzQxNGYyOTY3ODAyM2JlNGIyYTlkY2QyMzkyMTUzNDY3OGEyOWEwOTkzNTljNDk1YzIwNjgxZjMzYTJmMzU5ZTEzNGY0OGM1N2I5Y2MzOTU0YjZlNzllYjMxMzM5MWMxYjZmYjgwYzM3ZjIyOGZmMjgyOTQxZjRkYTgwNDUwZDYwYzc3ZGRmOGFjYmNiYzA2OTY2MTVlNjRiMjA1YjYyMWRjMTcyMzMzZTBkZTQzOWYyMmI4YTE4M2MzYWMyMWFjZGEyNDcwODI0MjM5MDVkYTRjMjIzM2I2YzY4ODEyMGJjNDdkMWRiMGYwYTlhMGQzZjA3MTI4ZDAwNjE4NzE3OWRjOWY4OWE2YWRjZTY2YjkzNzgwZGQ5YmZlYzE2MjFjMWVjYzYwMzY0YzkzMGM0MDNhY2UyMjEzOTM2ZjQ1ZThlZWI0YjRmZmIxZWJkZDU5NjYxZjU4NmFjZWVmMGUzOWM1YWVkYzI3NDc1M2Q4ZTU3ZjJhZmJlOGRkMGVhYjJmMDA3N2NjOTQyNDc3MGY5ODdlMmQzYmExOTRhZjNlNjMwMjAzMDEwMDAxMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDUwNTAwMDM4MjAxMDEwMDEzMzA2NjNmMWZjNjhiNjFmZTYwY2JiOWQ4NGZkNWViMjU0ZjliMDUxZmYzODY1ZTUxZjZiMjkzOTFlOGNiNWE4OGUyNjhmNmI5NTI3MTQ3YTIzZTM3YTg2N2JhYWFjMDczNjhjZjA1Mzg0MTI3MWJiOTFlNTE0M2FiMDIzY2ExZmZiY2RhOWYyMmQ2Y2NjZjI2YjQ4MjVkMTEyM2RiZmJkMDI4ZjFlOGViMDc4ZDEyYzkwMGQ3OWEyZmNmYTJiMTliZWY1YzU1ZmNlOTcwMGQ3Yjc1OWRhNThlN2U0OGQwOTJmMTRhZGFkODFjZGE4YTljYjM3NDY5NjFmNzk0NzY5NWU3ZjU3ZWE3Njk3MWUwOTNhMmI5NjdiMzJjZTY1OTE4ZTcxOWYyOWJhMDUxOGI2ZTdhMWFlYzAxZGY4ZDU0YjZiNzU5YmVmNTRkYjYxMjAxMjE3NTcyNmUxOTNmNmVkNTgyZjViYTA2MjMxYzQ5NDM5NmY5NDE3ODgwNWExNWIzM2RhZTg5ZmNiYjc4OTRhMzY0NzdlNjA3YWRmOWU2MGU1NzdjMDBiYzc4ZGQ5OTYyODY2MWU4NmNlZmQwZmQ1ZmRmMzc0Y2NkMjNmZmQwYzBkOTlkNzY1NTMzOGJmZGNjYTE4MTE5ZWYwOTI5ZWJmZTU1NTdmNTEyYTFiOTE4", Base64.DEFAULT)), String(Base64.decode("MzA4MjAyOTAzMDgyMDE3ODAyMDEwMTMwMGQwNjA5MmE4NjQ4ODZmNzBkMDEwMTA1MDUwMDMwMGUzMTBjMzAwYTA2MDM1NTA0MDMwYzAzNzg2NjZiMzAxZTE3MGQzMjMyMzAzNTMxMzEzMDMzMzEzOTMyMzU1YTE3MGQzNDM3MzAzNTMwMzUzMDMzMzEzOTMyMzU1YTMwMGUzMTBjMzAwYTA2MDM1NTA0MDMwYzAzNzg2NjZiMzA4MjAxMjIzMDBkMDYwOTJhODY0ODg2ZjcwZDAxMDEwMTA1MDAwMzgyMDEwZjAwMzA4MjAxMGEwMjgyMDEwMTAwODFmODY5MDljOTQ0YTIzMTNjMmQwZDNkNWM0NjhmN2FkYjk0M2IxMmZiZjUwMmEyNzgwNTQwZDgxODVhOTlmN2Y2NjJlMDA3ZjgwODExZDNiNWFlNzUxNGVkMjYyZDI5ZTMyMzFjYjNmMGFkNTAxZTFiZmEyNWMyOWE2OWE2ZjQ4YTQ1NWVlM2E4NzM5MDcyYzJmMzFkZWU5ZjA0ZTZlZDY1YTVlMDMwODEyYmI5NzE5OTczZTc3OTFmZTQ4MTk3ZWU4OWQ5NjVlMTE4MGRkOTNhZTcyM2EyNzIyNzg4MDgzZWU5MGIwMzNhMzA0MDBkNTI1NWUzMWZmZDJiNDI5MDhhZjE3NTc5M2UyZDk0ZjViODI0ZDY3OTBiZjVmNWQ2MDFlMTg3ODk1MWFlMGY5YmQ5OTJhMjc5MmIyMDcwYzIyYmRkNmNlNmY1ZWU5MmFhYzVmMDEzZjJiYzM2ZjIxMDllYzE1YzE3N2RlYzQwMmNhNmNkNjczZmU5NDUyN2E1OTNiOWE1NTM2ZmNkMjIyNTJmMDFkNmRlZWJmODk2M2U3NDBhMDZiYTNjZjVjM2U2MDRhODRhNjQxYWY1MzhkNjAxZDQ2NjVhNGJlMmJlMWRmYTAxZDc1Y2QyOTZiZjc2YzIwYWM2NTY4MTEyYzQ2NGRjY2Q4MDFlODJhZmM3NmQwMjAzMDEwMDAxMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMDUwNTAwMDM4MjAxMDEwMDUwN2Y1OWNiZDZkNmNmYWQ0OWIxOTZjZDAxY2UyYjA2NTk0ZGZmOTU3OWIyYTkwMWUxODk3YjdkNGMwNWRjYmM4ZWJjYmNhZjA2ZjNlMzViMWI5NTM0MDg2OGE5MTFiOTQ5NzBkYTYyNTE2YmYwN2Q0MmE4NDk1YjNmZDc5NThkNjc4MDMzMmJmYzA2NjM4NTQ5NWM1YmI0NDNmNDE2MzQ5MjdiZTFkMmJkYjMyYzU1ZmRkZmI0NTQ1MDE5OGUzZWU4OWE2MmM3NGI3NzIyYTk0ZjE3ZDZhMmVjZTI5YTI3MmQ1NTU3MmY1OGQ3MmZhNmU0ZDJjNjc3MmFjMTYxMDU4ZjBiZTQ5NWEzNGVmMzZmZjU2NTQ1YWIwMDM0YmJiYjgwY2QwNmY4NzZhNWUzOGExYjc0ZmEyYTYyNGIyNjA1MjUyZjI2NzMwZTAwNWE3YjkwN2ZkZTQ4NzkyZmRhODc5ZDdhMDI3NzY3ZWQyZWI5NzI5MjNkMjJlOGJhZTc5Mjg0OTFlODk5MWFiZDRhNmY1YmM3NmYzZWI3NTM2YmVjNzYzYjcwNmQzNmUwMjkwNDVmN2UyODkxOWU5MmZjN2M0NTk5YWIwOTU5MGQ5ZDM2YjU0MjE4NjZjYTk5MWRhN2E4NDRjOGZhYjZmZmQwOWM1ZDIyMTc5ZjhjODY0Y2Yz", Base64.DEFAULT)))) {
Toast.makeText(context, String(Base64.decode("UGxlYXNlIGRvIG5vdCBtb2RpZnkgdGhpcyBtb2R1bGUhISEgLyDor7fkuI3opoHkv67mlLnmraTmqKHlnZfvvIHvvIHvvIE=", Base64.DEFAULT)), Toast.LENGTH_LONG).show()
exitProcess(0)
}
}
}
}

View File

@ -6,10 +6,9 @@ buildscript {
maven { url 'https://jitpack.io' }
}
dependencies {
classpath "com.android.tools.build:gradle:7.2.0"
classpath "com.android.tools.build:gradle:7.0.4"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
classpath "com.github.CodingGay:BlackObfuscator-ASPlugin:3.7"
classpath "icu.nullptr.stringfuck:gradle-plugin:0.1.4"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

View File

@ -1,6 +1,6 @@
#Sat May 14 18:02:35 CST 2022
#Sat May 14 18:18:27 CST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME