android权限代码分析(五)

此篇介绍重点:EasyHook主要导出函数

EasyHook主要导出函数:
//插入钩子
DRIVER_SHARED_API(NTSTATUSLhInstallHook(
            voidInEntryPoint,
            voidInHookProc,
            voidInCallback,
            TRACED_HOOK_HANDLE OutHandle));

//使用钩子生效
    EASYHOOK_NT_EXPORT LhSetExclusiveACL(
                ULONGInThreadIdList,
                ULONG InThreadCount,
                TRACED_HOOK_HANDLE InHandle);
函数的原型在,EasyHook中均可看到,“EasyHook2.5\Public\easyhook.h"


参数说明:
DRIVER_SHARED_API(NTSTATUSLhInstallHook(
            voidInEntryPoint,                //真实API,如CreateFile
            voidInHookProc,                //钩子函数,如MyCreateFile
            voidInCallback,                    //回调函数,一般设置为NULL
            TRACED_HOOK_HANDLE OutHandle));         //返回句柄,该句柄以链表方式记录钩子信息,内部结构内容非常多。

   EASYHOOK_NT_EXPORT LhSetExclusiveACL(
                ULONGInThreadIdList,        //定义为一个数组如ULONG                   HookCreateFileW_ACLEntries[1] = {0};  
                ULONG InThreadCount,        //一般设置为1
                TRACED_HOOK_HANDLE InHandle);    //由LhInstallHook的第4个参数返回

此两个函数必须成对调用。类似于,先处理钩子,再使用钩子生效,后面将会提给出反汇编的验证代码。





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。