mirror of
https://github.com/Xtao-Labs/fuck_huaya.git
synced 2024-11-21 13:38:19 +00:00
support v1.3.0
This commit is contained in:
parent
547c886e6a
commit
a6d724d971
@ -40,15 +40,16 @@ android {
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
lintOptions {
|
||||
namespace 'com.xtaolabs.fuck_huaya'
|
||||
lint {
|
||||
checkReleaseBuilds false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'de.robv.android.xposed:api:82'
|
||||
implementation 'com.highcapable.yukihookapi:api:1.1.6'
|
||||
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.6'
|
||||
implementation 'com.highcapable.yukihookapi:api:1.1.11'
|
||||
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.11'
|
||||
implementation 'com.github.duanhong169:drawabletoolbox:1.0.7'
|
||||
implementation 'androidx.core:core-ktx:1.9.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.5.1'
|
||||
@ -57,4 +58,4 @@ dependencies {
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.xtaolabs.fuck_huaya">
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<application
|
||||
android:name=".application.DefaultApplication"
|
||||
|
@ -3,10 +3,7 @@ package com.xtaolabs.fuck_huaya.hook
|
||||
import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed
|
||||
import com.highcapable.yukihookapi.hook.factory.encase
|
||||
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.XLXiaoMiHooker
|
||||
|
||||
|
||||
@InjectYukiHookWithXposed(isUsingResourcesHook = false)
|
||||
@ -16,14 +13,5 @@ class HookEntry : IYukiHookXposedInit {
|
||||
loadApp("cn.fzhuayantcoltd.huayaapp") {
|
||||
loadHooker(HuayaHooker)
|
||||
}
|
||||
loadApp("com.cimoc.haleydu") {
|
||||
loadHooker(CimocHooker)
|
||||
}
|
||||
loadApp("com.nowcasting.activity") {
|
||||
loadHooker(CaiyunHooker)
|
||||
}
|
||||
loadApp("com.android.providers.downloads") {
|
||||
loadHooker(XLXiaoMiHooker)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -20,7 +20,10 @@ object HuayaHooker : YukiBaseHooker() {
|
||||
|
||||
private fun fuckReadAd() {
|
||||
// bookReadLimitDialog.show();
|
||||
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.longcartoon.LongBookDetailActivity", appClassLoader).hook {
|
||||
findClass(
|
||||
"cn.fzhuayantcoltd.huayaapp.ui.activity.longcartoon.LongBookDetailActivity",
|
||||
appClassLoader
|
||||
).hook {
|
||||
injectMember {
|
||||
method {
|
||||
name = "a"
|
||||
@ -48,7 +51,10 @@ object HuayaHooker : YukiBaseHooker() {
|
||||
|
||||
private fun fuckSignInRewardAd() {
|
||||
// AdFromEnum.SIGNIN
|
||||
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.task.TasksCenterActivity", appClassLoader).hook {
|
||||
findClass(
|
||||
"cn.fzhuayantcoltd.huayaapp.ui.activity.task.TasksCenterActivity",
|
||||
appClassLoader
|
||||
).hook {
|
||||
injectMember {
|
||||
method {
|
||||
name = "j"
|
||||
@ -82,7 +88,7 @@ object HuayaHooker : YukiBaseHooker() {
|
||||
findClass("cn.fzhuayantcoltd.huayaapp.util.y", appClassLoader).hook {
|
||||
injectMember {
|
||||
method {
|
||||
name = "s"
|
||||
name = "r"
|
||||
}
|
||||
replaceToTrue()
|
||||
}
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
@ -2,8 +2,5 @@
|
||||
<resources>
|
||||
<string-array name="module_scope">
|
||||
<item>cn.fzhuayantcoltd.huayaapp</item>
|
||||
<item>com.cimoc.haleydu</item>
|
||||
<item>com.nowcasting.activity</item>
|
||||
<item>com.android.providers.downloads</item>
|
||||
</string-array>
|
||||
</resources>
|
10
build.gradle
10
build.gradle
@ -1,11 +1,11 @@
|
||||
plugins {
|
||||
id 'com.android.application' version '7.4.0' apply false
|
||||
id 'com.android.library' version '7.4.0' apply false
|
||||
id 'com.android.application' version '8.1.0' apply false
|
||||
id 'com.android.library' version '8.1.0' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
|
||||
}
|
||||
|
||||
ext {
|
||||
appVersionName = "1.2.0"
|
||||
appVersionCode = 6
|
||||
appVersionName = "1.3.0"
|
||||
appVersionCode = 7
|
||||
enableR8 = false
|
||||
}
|
||||
}
|
||||
|
@ -22,4 +22,6 @@ kotlin.code.style=official
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
# Incremental
|
||||
kotlin.incremental.useClasspathSnapshot=true
|
||||
kotlin.incremental.useClasspathSnapshot=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonFinalResIds=false
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Sun Jan 29 21:22:14 CST 2023
|
||||
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
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
Loading…
Reference in New Issue
Block a user