asLody / SandHook

Android ART Hook/Native Inline Hook/Single Instruction Hook - support 4.4 - 11.0 32/64 bit - Xposed API Compat
Other
2.05k stars 446 forks source link

Native Hook能否提供一份简单的样例 #35

Closed Lua12138 closed 4 years ago

Lua12138 commented 5 years ago

这些方法的入参以及返回值,使用方法的样例

感谢

18712886438 commented 5 years ago

https://github.com/ganyao114/SandHook/commit/b685a174344dd713281b011cd3fb90b6e84d2e82#diff-5a61c7e6afd536d37cb7f9a205b9e8edL13

可以看一下这块,有提供了示例的

Lua12138 commented 5 years ago

b685a17#diff-5a61c7e6afd536d37cb7f9a205b9e8edL13

可以看一下这块,有提供了示例的

感谢。另外有一个疑问,对于初始化Hook的时机有要求必须再Application.onCreate之后嘛?

我尝试了再Application构造方法中进行一些Hook,会有一些奇奇怪怪的crash

18712886438 commented 5 years ago

b685a17#diff-5a61c7e6afd536d37cb7f9a205b9e8edL13 可以看一下这块,有提供了示例的

感谢。另外有一个疑问,对于初始化Hook的时机有要求必须再Application.onCreate之后嘛?

我尝试了再Application构造方法中进行一些Hook,会有一些奇奇怪怪的crash

这个不清楚了,不行可以试试edxposed

ganyao114 commented 5 years ago

b685a17#diff-5a61c7e6afd536d37cb7f9a205b9e8edL13 可以看一下这块,有提供了示例的

感谢。另外有一个疑问,对于初始化Hook的时机有要求必须再Application.onCreate之后嘛?

我尝试了再Application构造方法中进行一些Hook,会有一些奇奇怪怪的crash

fixed

Lua12138 commented 3 years ago

如果要hook c++中的方法,那么应该如何写这个代码呢?

例如希望Hook OpenSL ES中的方法

    SLresult (*CreateAudioRecorder) (
        SLEngineItf self,
        SLObjectItf * pRecorder,
        SLDataSource *pAudioSrc,
        SLDataSink *pAudioSnk,
        SLuint32 numInterfaces,
        const SLInterfaceID * pInterfaceIds,
        const SLboolean * pInterfaceRequired
    );

又比如希望hook某个c++类的方法,例如

ExampleClass::exampleMethod(int a, char* b)