Android_Inline_Hook icon indicating copy to clipboard operation
Android_Inline_Hook copied to clipboard

关于DEMO测试的问题

Open keel opened this issue 5 years ago • 1 comments

不是太熟悉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 avatar Jul 30 '20 15:07 keel

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

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

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

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

keel avatar Jul 30 '20 18:07 keel