很简单的问题

tjj5203 2010-03-01 11:06:15
http://blog.csdn.net/x44348428/archive/2009/08/21/4471353.aspx
中的关于API hook的例子,我想知道其中
JumpItn: Word; // 应该是$25FF,JUMP 指令

JmpCode: ShortInt; {指令,用$E9来代替系统的指令}

$25FF和$E9是随便取的吗?还是有固定值的
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjj5203 2010-03-01
  • 打赏
  • 举报
回复
引用 6 楼 kfcoffe 的回复:
查不到资料? 不可能吧..........

$25FF


转:

Delphi(Pascal) code

其中JmpPtr保存的是导入表地址,在Delphi中可以用$25FF表示。这个值的来源,可以自己反汇编调试得到。在Call API的时候,跟踪即可,如下所示:

@@ PUSH0
@@ MOV EAX,123
@@ CALL EAX
@@ POPFD
@@ POPAD
@@ FF25 5D108000 JMP DWORD PTR DS:[EBP]+4A
@@ NOP

注意红色的那句,将最前面那个导入表的地址,高低位互换即可。

接下来实现两个方法,一个是用于得到真实API的地址,另一个用于将自定义的函数替换掉API


google中搜索 hook $25FF 资料多的很.......只是你没发现而已......

呵呵说的是,我查的方法有问题
tjj5203 2010-03-01
  • 打赏
  • 举报
回复
5楼能讲明白点吗?
回复内容太短了!
回复内容太短了!
kfcoffe 2010-03-01
  • 打赏
  • 举报
回复
查不到资料? 不可能吧..........

$25FF



转:



其中JmpPtr保存的是导入表地址,在Delphi中可以用$25FF表示。这个值的来源,可以自己反汇编调试得到。在Call API的时候,跟踪即可,如下所示:

@@ PUSH 0
@@ MOV EAX,123
@@ CALL EAX
@@ POPFD
@@ POPAD
@@ FF25 5D108000 JMP DWORD PTR DS:[EBP]+4A
@@ NOP

注意红色的那句,将最前面那个导入表的地址,高低位互换即可。

接下来实现两个方法,一个是用于得到真实API的地址,另一个用于将自定义的函数替换掉API





google中搜索 hook $25FF 资料多的很.......只是你没发现而已......
SQLDebug_Fan 2010-03-01
  • 打赏
  • 举报
回复
源代码翻译成的系统指令
tjj5203 2010-03-01
  • 打赏
  • 举报
回复
引用 3 楼 kfcoffe 的回复:
原来在1个HOOk api的例子里面看见过这个东西,  不过有点区别

E8 和E9  段内跳转,段间跳转.....

哦,都查不到相关资料。。。。。
$25FF这个值也是有规定的吗?
kfcoffe 2010-03-01
  • 打赏
  • 举报
回复
原来在1个HOOk api的例子里面看见过这个东西, 不过有点区别

E8 和E9 段内跳转,段间跳转.....
tjj5203 2010-03-01
  • 打赏
  • 举报
回复
引用 1 楼 sqldebug_fan 的回复:
是有固定值的。。。。。

那这些值是怎么取的呢?
SQLDebug_Fan 2010-03-01
  • 打赏
  • 举报
回复
是有固定值的。。。。。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧