support v1.2.0

This commit is contained in:
xtaodada 2023-05-25 21:57:56 +08:00
parent 97fa25a5aa
commit 547c886e6a
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
8 changed files with 133 additions and 7 deletions

View File

@ -11,7 +11,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppDefault"
tools:targetApi="31">
tools:targetApi="31"
tools:remove="android:appComponentFactory">
<meta-data
android:name="xposedmodule"

View File

@ -3,8 +3,10 @@ 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)
@ -17,5 +19,11 @@ class HookEntry : IYukiHookXposedInit {
loadApp("com.cimoc.haleydu") {
loadHooker(CimocHooker)
}
loadApp("com.nowcasting.activity") {
loadHooker(CaiyunHooker)
}
loadApp("com.android.providers.downloads") {
loadHooker(XLXiaoMiHooker)
}
}
}

View File

@ -0,0 +1,70 @@
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

@ -7,6 +7,7 @@ import com.highcapable.yukihookapi.hook.type.java.UnitType
object HuayaHooker : YukiBaseHooker() {
private fun fuckSplashAd() {
// return openScreenDto != null && openScreenDto.isNoSplash();
findClass("cn.fzhuayantcoltd.huayaapp.dto.ConfigDto", appClassLoader).hook {
injectMember {
method {
@ -18,6 +19,7 @@ object HuayaHooker : YukiBaseHooker() {
}
private fun fuckReadAd() {
// bookReadLimitDialog.show();
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.longcartoon.LongBookDetailActivity", appClassLoader).hook {
injectMember {
method {
@ -31,6 +33,7 @@ object HuayaHooker : YukiBaseHooker() {
}
private fun fuckSignInAd() {
// return this.m.user.isValidVip();
findClass("cn.fzhuayantcoltd.huayaapp.a.a", appClassLoader).hook {
injectMember {
method {
@ -44,6 +47,7 @@ object HuayaHooker : YukiBaseHooker() {
}
private fun fuckSignInRewardAd() {
// AdFromEnum.SIGNIN
findClass("cn.fzhuayantcoltd.huayaapp.ui.activity.task.TasksCenterActivity", appClassLoader).hook {
injectMember {
method {
@ -61,6 +65,7 @@ object HuayaHooker : YukiBaseHooker() {
}
private fun fuckUpdate() {
// bookUpdateDialog.show();
findClass("cn.fzhuayantcoltd.huayaapp.util.f", appClassLoader).hook {
injectMember {
method {
@ -73,10 +78,11 @@ object HuayaHooker : YukiBaseHooker() {
}
private fun fuckTeen() {
findClass("cn.fzhuayantcoltd.huayaapp.util.x", appClassLoader).hook {
// isTodayPreventionAddictionDialog1_
findClass("cn.fzhuayantcoltd.huayaapp.util.y", appClassLoader).hook {
injectMember {
method {
name = "o"
name = "s"
}
replaceToTrue()
}

View File

@ -0,0 +1,38 @@
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

@ -6,6 +6,7 @@ import android.content.ComponentName
import android.content.pm.PackageManager
import androidx.core.view.isVisible
import com.highcapable.yukihookapi.YukiHookAPI
import com.highcapable.yukihookapi.YukiHookAPI.Status.Executor
import com.xtaolabs.fuck_huaya.BuildConfig
import com.xtaolabs.fuck_huaya.R
import com.xtaolabs.fuck_huaya.databinding.ActivityMainBinding
@ -79,9 +80,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
)
binding.mainTextApiWay.isVisible = YukiHookAPI.Status.isModuleActive
when {
YukiHookAPI.Status.executorVersion > 0 ->
Executor.apiLevel > 0 ->
binding.mainTextApiWay.text =
"Activated by ${YukiHookAPI.Status.executorName} API ${YukiHookAPI.Status.executorVersion}"
"Activated by ${Executor.name} API ${Executor.apiLevel}"
YukiHookAPI.Status.isTaiChiModuleActive -> binding.mainTextApiWay.text = "Activated by TaiChi"
else -> binding.mainTextApiWay.text = "Activated by anonymous"
}

View File

@ -3,5 +3,7 @@
<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>

View File

@ -5,7 +5,7 @@ plugins {
}
ext {
appVersionName = "1.1.2"
appVersionCode = 3
appVersionName = "1.2.0"
appVersionCode = 6
enableR8 = false
}