zoukankan      html  css  js  c++  java
  • 用Detours实现API拦截(1)

    Detours使用说明
    由于原版是英文,所以翻译时不能完全正确,同时也加入本人的见解。

    我用的是Detours 1.5,这个版本的LIB要重新编译才能使用
    不然会提示连接出错。
    库的源文件在src里,把它重新编译一次可生成DETOURS.LIB和头文件。
    这是关键不然用了LIB文件夹的库文件你就搞爆头也总是出错。本人经验。

    在SAMPLES里有很多例子。你要把它完全搞懂那你肯定是高手,
    往下的就不要看了,呵呵。

    里面的例子都是用命名管道来通讯的,大家可以先了解一下。
    要编译例子都要用到DETOURS库记得考到工程里面。
    syelog  是一个库文件大部分的例子都要用到,主要是命名管道的一些函数。

    工具:
    setdll: 把dll加载代码直接添加到程序里,那样就不用进行DLL注入了
    withdll: 启动程序指定并加载指定的DLL文件。这个在测试时很有用。
    injdll:这个是把指定的DLL文件注入到指定的进程。
    (不过用不了

    程序用到了函数
    DetourContinueProcessWithDllA(hProcess, szDllPath)

    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, nProcessId);

    可是会出错。)
                 之后要自己写一个程序来实现(全局钩子)。这是注入工具的源码
    DLL:
    traceapi: API跟踪,通过管道发送拦截的API信息
    tracereg:这是对注册表的API进行拦截。

    还没写完。。

  • 相关阅读:
    解决命令行乱码问题(中文乱码)
    Outlook 修改归档文件顶层目录名
    (职员)2015-11-11 星期三 日志
    职员)2015-11-10 星期二 日志
    职员)2015-11-09 星期一 日志
    (职员)2015-11-05 星期四 日志
    (职员)2015-11-04 星期三 日志
    (职员)2015-11-03 星期二 日志
    (职员)2015-11-02 星期一 日志
    (职员)2015-10-31 星期六 周志
  • 原文地址:https://www.cnblogs.com/ahuo/p/572379.html
Copyright © 2011-2022 走看看