首页
社区
课程
招聘
[求助]ALCDECL 劫持一个函数并让它返回0
发表于: 2013-5-24 22:56 6112

[求助]ALCDECL 劫持一个函数并让它返回0

2013-5-24 22:56
6112
ALCDECL AheadLib_accept(void)
{
        // 保存返回地址
        __asm POP m_dwReturn[0 * TYPE long];

        // 调用原始函数
        GetAddress("accept")(); //想让accept返回0  应该怎么写?
        // 转跳到返回地址
        __asm JMP m_dwReturn[0 * TYPE long];
}

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
只要返回0还需要这么多???
直接
_asm
{
     xor eax,eax
     retn  参数个数*4
}
2013-5-25 09:44
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
正解。看样子LZ对汇编的返回值存在那个寄存器不了解啊
2013-5-27 10:00
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
返回值存在那个寄存器当然是知道的(eax),但是这个程序就不知道怎么搞
2013-5-28 11:13
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
_asm
{
     xor eax,eax
     retn  参数个数*4
}
不行。accept()返回的值还不是0
2013-5-28 11:27
0
游客
登录 | 注册 方可回帖
返回
//