mirror of
https://github.com/PaiGramTeam/GetToken.git
synced 2024-11-26 01:30:45 +00:00
Merge remote-tracking branch 'off/master'
This commit is contained in:
commit
468866ad7c
2
.github/workflows/android.yml
vendored
2
.github/workflows/android.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Install jq
|
- name: Install jq
|
||||||
run: sudo apt-get install -y jq
|
run: sudo apt-get install -y jq
|
||||||
- name: Download package
|
- name: Download package
|
||||||
run: "curl -H 'x-rpc-client_type: 2' -H 'x-rpc-app_version: 2.37.1' -H 'x-rpc-channel: miyousheluodi' https://api-takumi.mihoyo.com/ptolemaios/api/getLatestRelease | jq --raw-output '.data.package_url' | xargs curl -o miyoushe.apk"
|
run: "curl -H 'x-rpc-client_type: 2' -H 'x-rpc-app_version: 2.52.1' -H 'x-rpc-channel: miyousheluodi' https://api-takumi.mihoyo.com/ptolemaios/api/getLatestRelease | jq --raw-output '.data.package_url' | xargs curl -o miyoushe.apk"
|
||||||
- name: Patch package
|
- name: Patch package
|
||||||
run: "mkdir out && mv app/build/outputs/apk/release/app-release.apk . && java -jar gradle/lspatch/jar-v0.5.1-361-release.jar -f -l 2 -m app-release.apk -o out miyoushe.apk && mv app-release.apk out"
|
run: "mkdir out && mv app/build/outputs/apk/release/app-release.apk . && java -jar gradle/lspatch/jar-v0.5.1-361-release.jar -f -l 2 -m app-release.apk -o out miyoushe.apk && mv app-release.apk out"
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
|
@ -1,37 +1,29 @@
|
|||||||
package hat.holo.token.utils
|
package hat.holo.token.utils
|
||||||
|
|
||||||
import hat.holo.token.models.AccountInfo
|
import hat.holo.token.models.AccountInfo
|
||||||
import java.lang.reflect.Method
|
|
||||||
|
|
||||||
@Suppress("MemberVisibilityCanBePrivate", "unused")
|
@Suppress("MemberVisibilityCanBePrivate", "unused")
|
||||||
object AccountManager {
|
object AccountManager {
|
||||||
|
|
||||||
private lateinit var instance: Any
|
private lateinit var instPorte: Any
|
||||||
private val methodTable = arrayListOf<Method>()
|
private lateinit var clzPorte: Class<*>
|
||||||
|
private lateinit var clzAccount: Class<*>
|
||||||
|
|
||||||
fun init(cl: ClassLoader) {
|
fun init(cl: ClassLoader) {
|
||||||
val clz = cl.loadClass("com.mihoyo.hyperion.biz.login.account.AccountManager")
|
clzPorte = cl.loadClass("com.mihoyo.platform.account.sdk.Porte")
|
||||||
instance = clz.getDeclaredField("INSTANCE").get(null)!!
|
clzAccount = cl.loadClass("com.mihoyo.platform.account.sdk.bean.Account")
|
||||||
methodTable.add(clz.getDeclaredMethod("getMid"))
|
instPorte = clzPorte.getDeclaredField("INSTANCE").get(null)!!
|
||||||
methodTable.add(clz.getDeclaredMethod("getUserId"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("getLToken"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("getSToken"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("getSTokenV1"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("userIsLogin"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("getLastUserId"))
|
|
||||||
methodTable.add(clz.getDeclaredMethod("getLoginTicket"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val isLogin get() = methodTable[5].invoke(instance) as Boolean
|
private fun loginCurrentAccount() = clzPorte.getDeclaredMethod("loginCurrentAccount").invoke(instPorte)
|
||||||
|
|
||||||
val mid get() = methodTable[0].invoke(instance) as String
|
val isLogin get() = if (loginCurrentAccount() == null) false else !uid.isNullOrEmpty() && !sToken.isNullOrEmpty()
|
||||||
val uid get() = methodTable[1].invoke(instance) as String
|
|
||||||
val lToken get() = methodTable[2].invoke(instance) as String
|
|
||||||
val sToken get() = methodTable[3].invoke(instance) as String
|
|
||||||
val sTokenV1 get() = methodTable[4].invoke(instance) as String
|
|
||||||
val lastUserId get() = methodTable[6].invoke(instance) as String
|
|
||||||
val loginTicket get() = methodTable[7].invoke(instance) as String
|
|
||||||
|
|
||||||
val accountInfo get() = AccountInfo(mid, uid, lToken, sToken)
|
val mid get() = clzAccount.getDeclaredMethod("getMid").invoke(loginCurrentAccount()) as String?
|
||||||
|
val uid get() = clzAccount.getDeclaredMethod("getAid").invoke(loginCurrentAccount()) as String?
|
||||||
|
val lToken get() = clzPorte.getDeclaredMethod("getLToken").invoke(instPorte) as String?
|
||||||
|
val sToken get() = clzAccount.getDeclaredMethod("getTokenStr").invoke(loginCurrentAccount()) as String?
|
||||||
|
|
||||||
|
val accountInfo get() = AccountInfo(mid!!, uid!!, lToken!!, sToken!!)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user