x64 InlineHook 黑魔法】的更多相关文章

目录 x64 InlineHook 黑魔法 为什么不能用X86 的HOOK方式? 原理:jmp + rip 进行寻址6字节方式跳转 手动InlineHook 临时地址x(找一块空内存) 计算偏移 源地址(内容 )= jmp + rip + 偏移(HOOK代码) 临时地址x(内容) = 目标地址 最终效果 代码InlineHook 例子说明 构造InlineHook Inline HOOK代码 最终运行程序的效果 x64 InlineHook 黑魔法 网上x64 InlineHook资料挺少的,我…
我查阅了一下相关C#方面的资料,却没有发现有提供过关于api-hook方面的资 料包括应用库由此本人编写一套inline-hook的库用于支持x64.x86上的基于在 clr的公共语言,如: c#.c+/clr.vb.net 全部都可以使用该类库改变底层api执 行结果,如我们需要制作抓包工具,或者拦截某个ActiveX对象内部调用的函数 用处广泛 有些人在制作“截包”工具时是通过使用SPI,但也可以通过本技术实现 调用MessageBox.Show("Hello world", &q…
Ring0 InLineHook 和UnHook 如果是要在R0里hook,作者的建议是InLine HOOK,毕竟SSDT HOOK 和 SHADOW SSDT HOOK比较麻烦,不好修改.目前R3的InLine HOOK 我比较喜欢的是 MINI HOOK ENGINE,但是今天要解决的是R0的InLine HOOK问题. 下面说下InLine HOOK的思路: 一 . 实现  RING0 INLINE HOOK 无论是用户态 Inline Hook 还是内核级 Inline Hook,都要…
x86 SSDT Hook 32位下进行SSDT Hook比较简单,通过修改SSDT表中需要hook的系统服务为自己的函数,在自己的函数中进行过滤判断达到hook的目的. 获取KeServiceDescriptorTable基地址 要想进行ssdt hook,首先需要获得SSDT表的基地址. 因为KeServiceDescriptorTable是ntoskrnl.exe导出的,所以我们可以直接在程序中声明导入符号得到KeServiceDescriptorTable的值. typedef stru…
x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为"IA-32" x84_64是x86 CPU开始迈向64位的时候,有2选择:1.向下兼容x86.2.完全重新设计指令集,不兼容x86.AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同.而Intel选择了设计一种不兼…
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢.   如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 "未能加载文件或程序集"MvcApplication2"或它的某一个依赖项.试图加载格式不正确的程序."   图形化   修改注册表   打开"运行",输入"RegEdit"回车打开注册表编辑器. 定位到:"HKEY_C…
北京时间7月29日零点起,微软正式开始向包含中国在内的全球用户推送Windows 10正式版安装包,Win7.Win8正版用户从29日零点起就可以免费升级到Win 10. 如果你的C盘里边有“$Windows.~BT”隐藏文件夹,就意味着你预定的Windows 10正式版已经开始悄然下载了.升级之后,C盘会出现“Windows.old”文件夹,如果该文件夹不删除的话,用户在一定时间内是能回滚到升级之前的版本. 新鲜事物的出现,总是藏不住激动的好奇心:忍不住探索的步伐.经过几天的摸索,终于把我电脑…
转载自: 数据库管理工具GUI - PremiumSoft Navicat Premium Enterprise 11.2.15 x86/x64 KEY Navicat Premium(数据库管理工具) 特别版(32位和64位)是一个可多重连接的数据库管理工具,Navicat 的功能足以符合专业开发人员的所有需求,但是对数据库服务器的新手来说又相当容易学习.它可让你以单一程序同時连接到目前世面上所有版本的主流数据库并进 行管理和操作,支持的数据库有: MySQL.SQL Server.SQLit…
在之前的文章中介绍了如何直接在Ubuntu中安装Hadoop.但是对于64位的Ubuntu来说,官方给出的Hadoop包是32位的,运行时会得到警告: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 所以我们最好是自己在Ubuntu中编译Hadoop.先介绍一下我的环境是Ubuntu 1…
好吧,不为啥,就是如题. win7 x64 脑袋内存比较小,说不定明儿就忘了,今天记录一下. 没有什么经验,所有步骤基本都是百度出来的,这里边操作边记录,为了保护原创作者,这里我都附上我查找的链接. 一.准备工作 (下载环境和工具) 1.python (我下的是2.7.11)=>  http://cywl.jb51.net:81/200907/tools/python2_64(jb51.net).rar 2.JDK (http://www.oracle.com/technetwork/java/…