Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于DEMO测试的问题 #16

Open
keel opened this issue Jul 30, 2020 · 1 comment
Open

关于DEMO测试的问题 #16

keel opened this issue Jul 30, 2020 · 1 comment

Comments

@keel
Copy link

keel commented Jul 30, 2020

不是太熟悉ARM,所以测试了下DEMO,有几个问题希望能请教下:
1:DEMO直接HOOK到0xF70位置,也就是CMP R0, #0xA的位置,这里执行相关自定义hook方法无问题,完成后可以继续走到下一行指令。但是如果想从函数最开始位置0xF44 即STMFD SP!, {R11,LR},则自定义方法执行后程序会异常退出(自定义的hook方法就打印了一条R0的值,无其他操作)。再向后一行指令0xF48也会异常退出,同样的再向后一行也是异常,一直到0xF54才不会异常退出,这是什么原因?按文章所说,应该只有方法最末尾才会有问题吧?

2.如果想修改demo的被hook方法的返回值,也就是那个_JNIEnv::NewStringUTF的值,应该如何写?

3.如果希望中止当前被hook方法,直接跳出到下一个方法,是否有合适的方法?也就是说用自己的方法取代原被hook的方法,不再执行原方法,走到原方法的下个方法,应该怎么写?

@keel
Copy link
Author

keel commented Jul 30, 2020

另外,为什么其他hook框架基本上是hook到方法入口,您这个可以hook到方法内某一行指令? 但是仍然并不是每行都可以,还是我这理解有问题?

我这边ndk版本为android-ndk-r21b,要求必须配置

APP_STL := c++_static
APP_PLATFORM := android-16

是不是因为这个原因,导致的异常崩溃?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant