This commit is contained in:
2022-02-04 01:42:04 +08:00
parent 6feaa6cf1b
commit a03fefa879
4 changed files with 37 additions and 3 deletions

View File

@@ -36,13 +36,15 @@ import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus
class MainActivity : AppCompatActivity() {
private var a = "没更改的变量"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// for test
AlertDialog.Builder(this)
.setTitle("Hook 方法返回值测试")
.setMessage(test() + "\n模块是否已激活:${YukiHookModuleStatus.isActive()}")
.setMessage(test() + "\n变量:$a\n模块是否已激活:${YukiHookModuleStatus.isActive()}")
.setPositiveButton("下一个") { _, _ ->
AlertDialog.Builder(this)
.setTitle("Hook 方法参数测试")

View File

@@ -33,6 +33,7 @@ import com.highcapable.yukihookapi.demo.BuildConfig
import com.highcapable.yukihookapi.demo.InjectTest
import com.highcapable.yukihookapi.demo.MainActivity
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
import com.highcapable.yukihookapi.hook.type.BundleClass
import com.highcapable.yukihookapi.hook.type.StringType
class MainHooker : YukiBaseHooker() {
@@ -40,6 +41,18 @@ class MainHooker : YukiBaseHooker() {
override fun onHook() =
loadApp(name = BuildConfig.APPLICATION_ID) {
MainActivity::class.java.hook {
injectMember {
method {
name = "onCreate"
param(BundleClass)
beforeHook {
field {
name = "a"
type = StringType
}.set(instance, "这段文字被修改成功了")
}
}
}
injectMember {
method {
name = "test"

View File

@@ -53,6 +53,18 @@ class MainInjecter : YukiHookXposedInitProxy {
encase(BuildConfig.APPLICATION_ID) {
loadApp(name = BuildConfig.APPLICATION_ID) {
MainActivity::class.java.hook {
injectMember {
method {
name = "onCreate"
param(BundleClass)
beforeHook {
field {
name = "a"
type = StringType
}.set(instance, "这段文字被修改成功了")
}
}
}
injectMember {
method {
name = "test"