首页系统综合问题「inlinehook」inlinehook原理

「inlinehook」inlinehook原理

时间2022-07-26 10:33:09发布分享专员分类系统综合问题浏览220

今天小编给各位分享inlinehook的知识,文中也会对其知识点进行延伸解释,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • inline HOOK和SSDT HOOK各自有啥特性的哦?
  • inline hook和SDDT hook
  • 关于inline hook、hook意思的疑问
  • C++实现inline hook,注入后程序异常退出
  • VC注入dll后,如何用代码实现inline hook?
  • Inline Hook 怎么防止,或者怎么恢复
  • 一、inline HOOK和SSDT HOOK各自有啥特性的哦?

    inline hook 是直接在以前的函数替里面修改指令,用一个跳转或者其他指令来达到挂钩的目的。ssdt是利用api来挂钩的,相当于替换API,用ICESword可以很简单的判断出来。底下是我在网上看过一篇文章的说的一个比喻,刚好能回答你的问题:如果说SSDT Hook只是把某位"内核API先生"绑架,然后用我们的“自己人”来接管其工作,而ICESword却可以从其他联系途径找到被绑架的"内核API先生"并“报警”,那么——Inline Hook可以说是给"内核API先生"动了手术,让他成为"我们阵营的一分子"。呵呵,很幽默的一个比喻

    二、inline hook和SDDT hook

    hook 计算机里面一般是指 挂钩某函数,也可以是替换掉原来的函数。inline hook, 是直接在以前的函数替里面修改指令,用一个跳转或者其他指令来达到挂钩的目的。 这是相对普通的hook来说,因为普通的hook只是修改函数的调用地址,而不是在原来的函数体里面做修改。一般来说 普通的hook比较稳定使用。 inline hook 更加高级一点,一般也跟难以被发现。所以很多人比如病毒制作者都比较推崇inline hook。SSDT的全称是System Services Descriptor Table,系统服务描述符表 一般来说此表与链接系统内核的API密切相关,对此有一项应用就是杀毒软件的主动防御,当然病毒也可以通过修改主动防御的SSDT来绕过杀软的主动防御。SSDT hook一般是用来隐藏进程运行程序的

    「inlinehook」inlinehook原理

    三、关于inline hook、hook意思的疑问

    hook 计算机里面一般是指 挂钩某函数, 就是替换掉原来的函数。inline hook , 是直接在以前的函数替里面修改指令,用一个跳转或者其他指令来达到挂钩的目的。 这是相对普通的hook来说,因为普通的hook只是修改函数的调用地址,而不是在原来的函数体里面做修改。一般来说 普通的hook比较稳定使用。 inline hook 更加高级一点,一般也跟难以被发现。所以很多人比如病毒制作者都比较推崇inline hook。

    四、C++实现inline hook,注入后程序异常退出

    你要搞清楚一个概念,DLL被加载后地址是要重定位的,所有的全局变量、函数这些,都会随DLL加载的基址不同,地址会进行对应偏移的。 你WriteProcessMemory那句,往oldFunctionAddr地址写东西,肯定会引起异常的,谁知道被你hook的程序这个地址是啥东西?有没有分配过内存呢? 你要往被注入进程写东西,就必须先用VirtualAllocEx申请内存,你一定要牢记这个概念,所有地址都是动态的,函数、全局变量只有偏移量是固定的。

    五、VC注入dll后,如何用代码实现inline hook?

    最常用的DLL注入是借助CreateRemoteThread() 函数,把LoadLibrary()做为线程函数的地址实现注入,网上的大部代码都是这样的。早期有一款安全类的工具,叫mt.exe 它里面有一个mt.exe -su的命令,就是使用的这种方法,我找了一个我原来写的实例。我直接打包了。

    另外一种是直接PE注入。这类似于病毒感染的方法,大体上的思维就是在游戏的可执行文件中寻找空段。写入类似于shellcode一段精简代码,这段代码实现你想要的功能,最后你修改pe文件的入口点即可。这样就实现了一种劫持。这个实例代码不知道放哪里去了,但是找到一个分析红客联盟创始人lion写的shellcode的一篇笔记,我一起打包了,应该会对你有所帮助。这方面的资料网上很多的,不是什么新东西了。

    如果你要实现的代码很少,完全可以把指令当成一个char类型的数组,直接写入pe的空段就可以了,如果很多,可以新建立一个PE空段,再写入,或者直接将要执行的代码写入到一个DLL中封装。。

     

    六、Inline Hook 怎么防止,或者怎么恢复

    加强内部管理,安装usb拦截杀毒软件,开启系统防火墙,甚至用域来监控,来进行防止,如果中招了,就马上给这台机器断网,重做系统。

    关于inlinehook的问题,通过《inline HOOK和SSDT HOOK各自有啥特性的哦?》、《关于inline hook、hook意思的疑问》等文章的解答希望已经帮助到您了!如您想了解更多关于inlinehook的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    inlinehook
    win10铃声不放 win10远程登录失败怎么解决?