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个参数返回

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





android权限代码分析(五)

上一篇:【转】Android Service被关闭后自动重启,解决被异常kill 服务


下一篇:Android EditText 禁止换行