apihook,C 里面经常说的调用API和HOOK指的什么

1,C 里面经常说的调用API和HOOK指的什么API指的windows的API函数,HOOK是指钩子
2,VB中如何实现API HOOK先使用 GetProcAddress() 函数取得进程地址 然后用GetModuleHandleA() 取得实例句柄 在用VirtualProtect() 设置内存读写 在吧要挂钩后的子程序指针写道内存中就成了 不过记得备份.
3,进程内 API Hook应怎么写两个方法: 1、全局钩子注入dll,hook应用层的OpenProcess,具体请百度“C++ 全局钩子” 2、写驱动hook内核API,NtOpenProcess , 可以试试SSDT hook , 具体请百度“SSDT hook” 前者是应用层编程,估计比较适合你,后者是驱动编程,光是前期的编程环境【apihook,C 里面经常说的调用API和HOOK指的什么】
4,ApiHook什么意思为什么360老是说木马API Hook,钩子,系统函数接口的钩子 。木马可以使用这个技术 。建议:windows清理助手扫描清理 然后点故障修复2次 修复时注意 勾选全部选项使用的时候关了其他杀毒软件避免冲突 windows清理助手,能做驱动级清理,这是目前杀毒软件达不到的.360时间保护采用了钩子 hook了ntsetsystemtime 函数你好楼主,360杀毒轻巧快速不卡机,游戏无打扰 。轻巧快速,独有免打扰模式让您玩游戏时绝无打扰 。就是API HOOK技术的内核级木马 , 该木马达到了较好的隐藏效果,可以避开目前大多数检测工具的检测 。最好删除 。与经验看来那是个是木马病毒,要杀除这种病毒你就要用金山毒霸2011云杀毒软件,现在很多人都是在百度搜索下金山毒霸2011,在第一个就是最新免费下载的地址里下载安装金山毒霸2011来扫描杀毒的,效果也不错 , 你可以试试的5,我是电脑迷常看到API hook请问什么用法是什么意思啊1、API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节 。API除了有应用“应用程序接口”的意思外,还特指 API的说明文档,也称为帮助文档 。2、也就是说,Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外,她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由于这些函数服务的对象是应用程式,所以便称之为 Application Programming Interface,简称 API 函数 。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口 。凡是在 Windows 工作环境底下执行的应用程式,都可以调用Windows API 。网络查一下就知道了再看看别人怎么说的 。拦截API变更API函数的功能6,如何检测自己程序的API被HOOK了对于程序员来讲,API拦截技术是一种重要的基础技术 。这项技能为编写某些工具软件提供了可能,并可以大大提高我们对第三方应用程序的控制能力 。不过 , 目前 API 拦截的技术资料往往局限于原理方面的论述,对于如何具体地编译一个 API 拦截程序却守口如瓶 。毕竟,对于程序员来讲 , 当初学习这项技能花费了不少心血,如果让他们无偿地奉献出来,恐怕不太现实;另外的一个因素就是竞争,多一个人学会这项技能,就多一份竞争 。我在掌握这项技能的时候,就走了不少弯路,如果当初有一份详细的资料,这些不必要的弯路是完全可以避免 。而这正是我编写这份技术资料的目的 。本程序是一个示例程序 , 用以演示如何拦截 API 调用 。开始拦截 CreateProcess之后,当用户通过资源管理器运行程序时,就会弹出一个对话框提示用户运行了什么程序 。停止拦截之后,用户运行程序时则不会弹出对话框 。随本程序附带的教程是未注册版本,如果您需要详细的资料,请通过网上商城进行注册 。注册费用为 320 元人民币 。最终价格请以网上商城的价格为准 。这就引起了我的好奇,难道这个软件用了什么牛x的新技术?居然这么值钱!那得看看,于是就把该软件下载下来研究了研究 。谁知道,他所用的技术不但一点创新都没有,还有着很大的局限性 。于是就有了这篇文章,还希望高手不要见笑 。这个程序的原版大家自己找,名字就叫做API拦截教程 。启动该程序后,按下拦截createprocess的按钮后,运行任何程序都会弹出运行程序的路径 。稍微了解apihook的都了解,通常ring3下hookapi的办法有三种,一是修改程序的iat表,使api调用跳向自己的函数而不是转向api入口 。二是修改api入口的机器码 。三是用创建远线程CreateRemoteThread的办法来完成 。那么这个教程究竟用了什么先进手法呢? 先运行一次,按下按钮后,果然explorer弹出了程序的路径 。此时,你如果使用icesword类的可以查看程序模块的程序查看explorer的模块,你就会发现explorer里面多了个InterceptDll.dll的模块,当我们卸载了这个dll后,这个拦截的效果就没有了 。看来这个程序的核心不是那个启动的程序,而是这个dll 。现在让我们看看这个InterceptDll.dll到底做了什么 。先使用VC++的工具DUMPBIN将DLL中的导出函数表导出到一定义(.DEF)文件 DUMPBIN InterceptDll.dll /EXPROTS /OUT:InterceptDll.def ordinal hint RVA name 1 0 00001230 InstallHook 2 1 00001270 UninstallHook 只有两个导出函数,看名字就知道 , 一个是安装钩子,一个卸载钩子 。我们调用看看,结果连参数都不用 , 只要调用InstallHook就可以把InterceptDll.dll插入explorer,用UninstallHook就可以卸载钩子 。看来我们不用分析他的exe文件了 , 因为有用的东西就在这个dll里 。那么如何分析这个dll这么工作的呢?直接用ida看静态代码,可以看见dll里有vivirtualalloc,setwindowshookexa等钩子函数 。但是,里面乜嘢CreateRemoteThread这个函数,那么基本可以排除了第三种方法了 。修改iat或者字节数的可能性比较大一些 。那么具体究竟是用了什么手段 , 又是怎么实现的呢?光静态看源代码看出来,我可没那种本事 。如果说要实时调试explorer又非常的麻烦,那么怎么办呢?其实办法很简单啦,只要自己修改一个exe文件名让他跟explorer同名就可以了 。这家伙可不管你是真李逵还是假李鬼,统统都插!我先写了个很简单的exe程序 , 只有一个按钮直接掉用createprocess启动notepad的小程序,然后改名为explorer 。运行后让程序拦截,果然再用icesword看模块,那个InterceptDll.dll偷偷的钻进了我写的这个程序 。好 , 现在动手钻进InterceptDll.dll的内部,看看他到底干了什么!我用的是olldbg,其实windbg也可以,我用od习惯了 。先附加到我自己写的这个小explorer程序,然后在createprocess下断点,按下启动notepad的按钮,断下以后,一步一步跟踪 。转载仅供参考,版权属于原作者 。祝你愉快,满意请采纳哦这个程序的原版大家自己找,名字就叫做api拦截教程 。启动该程序后,按下拦截createprocess的按钮后,运行任何程序都会弹出运行程序的路径 。稍微了解apihook的都了解,通常ring3下hookapi的办法有三种,一是修改程序的iat表,使api调用跳向自己的函数而不是转向api入口 。二是修改api入口的机器码 。三是用创建远线程createremotethread的办法来完成 。那么这个教程究竟用了什么先进手法呢? 先运行一次,按下按钮后,果然explorer弹出了程序的路径 。此时 , 你如果使用icesword类的可以查看程序模块的程序查看explorer的模块,你就会发现explorer里面多了个interceptdll.dll的模块,当我们卸载了这个dll后,这个拦截的效果就没有了 。看来这个程序的核心不是那个启动的程序,而是这个dll 。现在让我们看看这个interceptdll.dll到底做了什么 。先使用vc++的工具dumpbin将dll中的导出函数表导出到一定义(.def)文件 dumpbin interceptdll.dll /exprots /out:interceptdll.def ordinal hint rva name 1 0 00001230 installhook 2 1 00001270 uninstallhook 只有两个导出函数,看名字就知道,一个是安装钩子,一个卸载钩子 。我们调用看看 ,结果连参数都不用 , 只要调用installhook就可以把interceptdll.dll插入explorer,用uninstallhook就可以卸载钩子 。看来我们不用分析他的exe文件了,因为有用的东西就在这个dll里 。那么如何分析这个dll这么工作的呢?直接用ida看静态代码,可以看见dll里有vivirtualalloc,setwindowshookexa等钩子函数 。但是,里面乜嘢createremotethread这个函数,那么基本可以排除了第三种方法了 。修改iat或者字节数的可能性比较大一些 。那么具体究竟是用了什么手段,又是怎么实现的呢?光静态看源代码看出来,我可没那种本事 。如果说要实时调试explorer又非常的麻烦,那么怎么办呢?其实办法很简单啦,只要自己修改一个exe文件名让他跟explorer同名就可以了 。这家伙可不管你是真李逵还是假李鬼,统统都插!我先写了个很简单的exe程序,只有一个按钮直接掉用createprocess启动notepad的小程序 , 然后改名为explorer 。运行后让程序拦截,果然再用icesword看模块,那个interceptdll.dll偷偷的钻进了我写的这个程序 。好,现在动手钻进interceptdll.dll的内部,看看他到底干了什么!我用的是olldbg,其实windbg也可以 , 我用od习惯了 。先附加到我自己写的这个小explorer程序,然后在createprocess下断点,按下启动notepad的按钮 , 断下以后,一步一步跟踪 。转载仅供参考,版权属于原作者 。祝你愉快,满意请采纳哦

    推荐阅读