首页
论坛
课程
招聘
[原创]Hook Api Library 0.2[Ring0]& LDE32引擎[Ring0] For Delphi
2008-4-29 21:43 21295

[原创]Hook Api Library 0.2[Ring0]& LDE32引擎[Ring0] For Delphi

2008-4-29 21:43
21295
写Ring0 inline hook的时候正好需要一个Opcode Length Engine
不想用Ms-Rem大牛的OLD的~因为总是一大堆错误。。许多东西都不能判断。无奈之下。。。
自己找一个成熟的引擎吧。。。
关于反汇编引擎的设计以后将会专门开篇描述。。。这里就单纯说说
Hook Api library吧。。。
感谢z0mbie[前29A]牛!

关于Hook Api相比也有许多了。。。这里完全用Delphi写了一个。。。通用Hook库
与其他的不一样的地方是
说明:
  1.利用堆栈跳转
  没有使用传统的jmp xxxx 长跳转,使用容易理解的push xxxx+ret
  仔细看代码容易理解...封装完好.

  2.内存补丁结构:
  补丁1:|push xxx--钩子处理过程|ret|
  补丁2:|保存原始补丁地址|保存原始地址代码长度|原始地址的代码|push xxxxxx|ret|

{
  Hook Api Library 0.2 [Ring3] By Anskya
  Email:Anskya@Gmail.com
  ring3 inline hook For Api

Thank:
  前29A高手也一直都是我的偶像...z0mbie大牛...这里膜拜一下
  使用的LDE32引擎是翻译他老人家的...C->Delphi...


说明:
  1.利用堆栈跳转
  没有使用传统的jmp xxxx 长跳转,使用容易理解的push xxxx+ret
  仔细看代码容易理解...封装完好.

  2.内存补丁结构:
  补丁1:|push xxx--钩子处理过程|ret|
  补丁2:|保存原始补丁地址|保存原始地址代码长度|原始地址的代码|push xxxxxx|ret|

更新说明:
  0.2:
    支持Ring0 Inline Hook
  0.1:
    Ring3 Inline Hook
}


关于反汇编引擎:
由于LDE32没什么明显的BUG虽然支持的指令集不是很多。但是基本上足够用了
想必SDK和DDK中使用MMX,SSE....等指令估计很少见吧...
所以LDE32就派上用场了....
{
  LDE32.pas: Z0MBiE DISASM ENGINE[LDE32]
  LDE32 Delphi Coded By Anskya
  Email: Anskya@Gmail.com

更新说明:
  procedure GetInstLenght(myiptr0: Pointer; osizeptr: PULONG);
  function GetProcLength(myiptr0: Pointer): ULONG;

0.2:
  增加 GetProcLength函数.用于获取一个函数过程的长度.

0.1:
  翻译

  Thank: z0mbie
}


代码见附件:

[注意] 欢迎加入看雪团队!base上海,招聘安全工程师、逆向工程师多个坑位等你投递!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (29)
雪    币: 1934
活跃值: 活跃值 (853)
能力值: (RANK:770 )
在线值:
发帖
回帖
粉丝
海风月影 活跃值 18 2008-4-29 23:37
2
0
不懂delphi,学习
雪    币: 247
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
小子贼野 活跃值 10 2008-4-30 00:06
3
0
这个是一定要收藏的
雪    币: 215
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocunt 活跃值 2008-4-30 00:11
4
0
跟班长一块学习
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
李任 活跃值 2008-4-30 00:18
5
0
不喜欢这种hook方式
雪    币: 189
活跃值: 活跃值 (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
davidhee 活跃值 2008-5-8 08:19
6
0
好东东,收藏了,谢谢
雪    币: 203
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
clide2000 活跃值 7 2008-7-12 01:29
7
0
没想到这么久才注意到,这样的东西定要收藏学习的
雪    币: 290
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
狼行wolf 活跃值 2009-5-6 08:52
8
0
不懂delphi啊。哎。
雪    币: 240
活跃值: 活跃值 (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xicao 活跃值 2009-5-7 09:51
9
0
delphi~支持一下
雪    币: 192
活跃值: 活跃值 (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
idigger 活跃值 2009-5-13 13:16
10
0
无意中发现,下载收藏,感谢分享