support v1.3.0

This commit is contained in:
xtaodada 2023-08-25 20:37:42 +08:00
parent 547c886e6a
commit a6d724d971
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
12 changed files with 24 additions and 188 deletions

View File

@ -40,15 +40,16 @@ android {
buildFeatures { buildFeatures {
viewBinding true viewBinding true
} }
lintOptions { namespace 'com.xtaolabs.fuck_huaya'
lint {
checkReleaseBuilds false checkReleaseBuilds false
} }
} }
dependencies { dependencies {
compileOnly 'de.robv.android.xposed:api:82' compileOnly 'de.robv.android.xposed:api:82'
implementation 'com.highcapable.yukihookapi:api:1.1.6' implementation 'com.highcapable.yukihookapi:api:1.1.11'
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.6' ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.11'
implementation 'com.github.duanhong169:drawabletoolbox:1.0.7' implementation 'com.github.duanhong169:drawabletoolbox:1.0.7'
implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'androidx.appcompat:appcompat:1.5.1'

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
package="com.xtaolabs.fuck_huaya">
<application <application
android:name=".application.DefaultApplication" android:name=".application.DefaultApplication"

View File

@ -3,10 +3,7 @@ package com.xtaolabs.fuck_huaya.hook
import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed
import com.highcapable.yukihookapi.hook.factory.encase import com.highcapable.yukihookapi.hook.factory.encase
import com.highcapable.yukihookapi.hook.xposed.proxy.IYukiHookXposedInit import com.highcapable.yukihookapi.hook.xposed.proxy.IYukiHookXposedInit
import com.xtaolabs.fuck_huaya.hook.apps.CaiyunHooker
import com.xtaolabs.fuck_huaya.hook.apps.CimocHooker
import com.xtaolabs.fuck_huaya.hook.apps.HuayaHooker import com.xtaolabs.fuck_huaya.hook.apps.HuayaHooker
import com.xtaolabs.fuck_huaya.hook.apps.XLXiaoMiHooker
@InjectYukiHookWithXposed(isUsingResourcesHook = false) @InjectYukiHookWithXposed(isUsingResourcesHook = false)
@ -16,14 +13,5 @@ class HookEntry : IYukiHookXposedInit {
loadApp("cn.fzhuayantcoltd.huayaapp") { loadApp("cn.fzhuayantcoltd.huayaapp") {
loadHooker(HuayaHooker) loadHooker(HuayaHooker)
} }
loadApp("com.cimoc.haleydu") {
loadHooker(CimocHooker)
}
loadApp("com.nowcasting.activity") {
loadHooker(CaiyunHooker)
}
loadApp("com.android.providers.downloads") {
loadHooker(XLXiaoMiHooker)
}
} }
} }

View File

@ -1,70 +0,0 @@
package com.xtaolabs.fuck_huaya.hook.apps
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
object CaiyunHooker : YukiBaseHooker() {
private fun fuckVip() {
"d.g.j.o1".hook {
injectMember {
method {
name = "h0"
}
// this.B =
beforeHook {
args().first().set("svip")
}
}
injectMember {
method {
name = "J"
}
replaceTo("svip")
}
injectMember {
method {
name = "f0"
}
// this.x =
beforeHook {
args().first().set(true)
}
}
injectMember {
method {
name = "N"
}
replaceTo(true)
}
injectMember {
method {
name = "c0"
}
// this.z =
beforeHook {
args().first().set(4701859200L)
}
}
injectMember {
method {
name = "A"
}
replaceTo(4701859200L)
}
injectMember {
method {
name = "O"
}
afterHook {
if (args().first().cast<String>().equals("svip")) {
result = true
}
}
}
}
}
override fun onHook() {
fuckVip()
}
}

View File

@ -1,49 +0,0 @@
package com.xtaolabs.fuck_huaya.hook.apps
import android.content.Context
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
object CimocHooker : YukiBaseHooker() {
private fun fuckAd() {
findClass("com.haleydu.cimoc.manager.PreferenceManager", appClassLoader).hook {
injectMember {
method {
name = "getBoolean"
paramCount = 2
}
afterHook {
if (args().first().cast<String>().equals("pref_global_shutdown_ad")) {
result = true
}
}
}
}
}
private fun fuckPermissionCheck() {
findClass("com.haleydu.cimoc.ui.activity.MainActivity", appClassLoader).hook {
injectMember {
method {
name = "showPermission"
}
replaceUnit { }
}
}
}
override fun onHook() {
"com.stub.StubApp".hook {
injectMember {
method {
name = "attachBaseContext"
}
afterHook {
appClassLoader = args().first().cast<Context>()!!.classLoader
fuckAd()
fuckPermissionCheck()
}
}
}
}
}

View File

@ -20,7 +20,10 @@ object HuayaHooker : YukiBaseHooker() {
private fun fuckReadAd() { private fun fuckReadAd() {
// bookReadLimitDialog.show(); // bookReadLimitDialog.show();
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.longcartoon.LongBookDetailActivity", appClassLoader).hook { findClass(
"cn.fzhuayantcoltd.huayaapp.ui.activity.longcartoon.LongBookDetailActivity",
appClassLoader
).hook {
injectMember { injectMember {
method { method {
name = "a" name = "a"
@ -48,7 +51,10 @@ object HuayaHooker : YukiBaseHooker() {
private fun fuckSignInRewardAd() { private fun fuckSignInRewardAd() {
// AdFromEnum.SIGNIN // AdFromEnum.SIGNIN
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.task.TasksCenterActivity", appClassLoader).hook { findClass(
"cn.fzhuayantcoltd.huayaapp.ui.activity.task.TasksCenterActivity",
appClassLoader
).hook {
injectMember { injectMember {
method { method {
name = "j" name = "j"
@ -82,7 +88,7 @@ object HuayaHooker : YukiBaseHooker() {
findClass("cn.fzhuayantcoltd.huayaapp.util.y", appClassLoader).hook { findClass("cn.fzhuayantcoltd.huayaapp.util.y", appClassLoader).hook {
injectMember { injectMember {
method { method {
name = "s" name = "r"
} }
replaceToTrue() replaceToTrue()
} }

View File

@ -1,38 +0,0 @@
package com.xtaolabs.fuck_huaya.hook.apps
import android.os.Environment
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
object XLXiaoMiHooker : YukiBaseHooker() {
private val CacheFilePATH = Environment.getExternalStorageDirectory().absolutePath + "/Download/DLManager"
private fun fuckXL() {
"com.android.providers.downloads.XLDownloadApplication".hook {
injectMember {
method {
name = "generateCacheFileDir"
}
replaceTo(CacheFilePATH)
}
}
"com.android.providers.downloads.config.XLConfig".hook {
injectMember {
method {
name = "setDebug"
}
replaceUnit { }
}
injectMember {
method {
name = "isDebug"
}
replaceToFalse()
}
}
}
override fun onHook() {
fuckXL()
}
}

View File

@ -2,8 +2,5 @@
<resources> <resources>
<string-array name="module_scope"> <string-array name="module_scope">
<item>cn.fzhuayantcoltd.huayaapp</item> <item>cn.fzhuayantcoltd.huayaapp</item>
<item>com.cimoc.haleydu</item>
<item>com.nowcasting.activity</item>
<item>com.android.providers.downloads</item>
</string-array> </string-array>
</resources> </resources>

View File

@ -1,11 +1,11 @@
plugins { plugins {
id 'com.android.application' version '7.4.0' apply false id 'com.android.application' version '8.1.0' apply false
id 'com.android.library' version '7.4.0' apply false id 'com.android.library' version '8.1.0' apply false
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
} }
ext { ext {
appVersionName = "1.2.0" appVersionName = "1.3.0"
appVersionCode = 6 appVersionCode = 7
enableR8 = false enableR8 = false
} }

View File

@ -23,3 +23,5 @@ kotlin.code.style=official
android.nonTransitiveRClass=true android.nonTransitiveRClass=true
# Incremental # Incremental
kotlin.incremental.useClasspathSnapshot=true kotlin.incremental.useClasspathSnapshot=true
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false

View File

@ -1,6 +1,6 @@
#Sun Jan 29 21:22:14 CST 2023 #Sun Jan 29 21:22:14 CST 2023
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME