首页
论坛
课程
招聘
雪    币: 240
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝

[求助]ff15方式的call怎么计算地址

2010-8-28 19:15 6821

[求助]ff15方式的call怎么计算地址

2010-8-28 19:15
6821
比如
b3d80908 ff15089ed9b3    call    dword ptr ds:[0B3D99E08h]
它调到哪里去了,怎么算的,谢谢!

2020,给你一个诚意满满的夏令营!

最新回复 (8)
雪    币: 461
活跃值: 活跃值 (75)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2010-8-28 22:25
2
0
if ( 0xE8 == code_instr.opcode ) // 0xE8 call类型
{
dwJumpTo = (DWORD)p + *(DWORD*)(p+1) + 5 ;
}
else if ( 0xFF == *p && 0x15 == *(p+1) ) // 0xFF15 call类型
{
dwJumpTo = *( DWORD* )(*( DWORD* )( p + 2 ));
}
else if ( 0xFF == *p && 0x14 == *(p+1) ) // 0xFF14 call 数组[Index]
{
dwJumpTo = *(DWORD*)(p + 3) ;

ProbeForRead( (PVOID)dwJumpTo, 4, 4 );
dwJumpTo = *( DWORD* ) dwJumpTo ;
}
else if ( 0xFF == *p && 0xD2 == *(p+1) ) // 0xFFD2 类型, 不清楚是什么指令
{
dwJumpTo = (DWORD)(p + 2) ;
}
else if ( 0xFF == *p && 0x12 == *(p+1) && 0xba == *(p-5) ) // 0xFF12类型call [寄存器]
dwJumpTo = *( DWORD* )( p - 4 );
ProbeForRead( (PVOID)dwJumpTo, 4, 4 );
dwJumpTo = *( DWORD* ) dwJumpTo ;
}
雪    币: 461
活跃值: 活跃值 (75)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2010-8-28 22:26
3
0
Intel 64 and IA-32 Architectures Software Developer's Manuals(2008)
雪    币: 240
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gzsmhf 活跃值 2010-8-29 09:06
4
0
好全呀,谢谢了
雪    币: 532
活跃值: 活跃值 (15)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
Fypher 活跃值 4 2010-8-29 10:10
5
0
收藏存档
雪    币: 1407
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liangdong 活跃值 2010-8-29 11:05
6
0
http://blog.ftofficer.com/2010/04/n-forms-of-call-instructions/
雪    币: 68
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sunnywwc 活跃值 2011-4-20 19:27
7
0
标记学习~膜拜楼主
雪    币: 325
活跃值: 活跃值 (10)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
morning 活跃值 1 2011-4-25 13:40
8
0
好全面,有些指令从没考虑过
雪    币: 507
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
BeWideWay 活跃值 2011-4-27 15:54
9
0
真的很全!!
游客
登录 | 注册 方可回帖
返回