首页
社区
课程
招聘
[求助]函数地址定位问题
发表于: 2006-12-3 05:42 4128

[求助]函数地址定位问题

2006-12-3 05:42
4128
这是个很简单的问题,但对于很菜的我却是个难题。望大大们不吝赐教!

将目标程序:

00401005   /E9 B6050000     JMP SHORT hi.004015C0

修改为:

00401005  - E9 F46FC10F     JMP Hook.10017FFE ;在OD中汇编后的样子。

既跳到我钩子里自己的函数JmpToAddres(10017FFE为在OD中查得);

如何在编程中能得到JmpToAddres函数的地址 并写入内存中?以下为我的问题代码:

BYTE myjmp[5];
myjmp[0]=0xE9;
*(DWORD*)(myjmp+1)=(DWORD)JmpToAddres;
WriteProcessMemory( GetCurrentProcess(),(void *)0x00401005,myjmp,sizeof(DWORD),NULL);

======================================================
非常感谢大大们的解答 特别是3楼的softworm非常感谢!!

JmpToAddress = 10017FFE - (401005 + 5)

=======================================================.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
这样能算是HOOK吗?

而且代码的定位问题。。。

你肯定你的代码注入之后是10017FFE?
2006-12-3 10:48
0
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
3
BYTE myjmp[5];
myjmp[0]=0xE9;
*(DWORD*)(myjmp+1)=(DWORD)JmpToAddres;
WriteProcessMemory( GetCurrentProcess(),
                   (void *)0x00401005,
                    myjmp,
                    sizeof(DWORD),
                    NULL);

JmpToAddress = 10017FFE - (401005 + 5)
2006-12-3 11:39
0
雪    币: 4558
活跃值: (1277)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
10017FFE 为OD中查得JmpToAddres函数的地址。问题是怎么才能通过编程得到JmpToAddres函数的地址 并写入内存其结果为:

00401005  - E9 F46FC10F     JMP Hook.10017FFE
2006-12-3 15:05
0
游客
登录 | 注册 方可回帖
返回
//