首页
社区
课程
招聘
未解决 [求助]inline hook只有3个字节要怎么解决
2021-1-3 01:48 2206

未解决 [求助]inline hook只有3个字节要怎么解决

2021-1-3 01:48
2206

这是一个某信接收消息的call

 

他这里只有3个字节,而使用jmp需要5个字节

 

大神们都是怎么解决的
想了一天了没想到办法,大神们都是怎么解决的?
我不是伸手党,给个思路就可以了,万分感谢!!


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
打赏
分享
最新回复 (7)
雪    币: 4366
活跃值: (3013)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
AlwaysBetter 2021-1-3 01:56
2
0
萌新一个,我思路是用jmp near (EB xx)只用两个字节跳到 前后128字节内一小块内存   来填充二次跳转(jmp 5字节hook)代码。
雪    币: 102
活跃值: (151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
阡陌雯香 2021-1-3 02:16
3
0
mb_igpdnbpe 萌新一个,我思路是用jmp near (EB xx)只用两个字节跳到 前后128字节内一小块内存 来填充二次跳转(jmp 5字节hook)代码。
我突然想到把前面的14个字节全部复制走,然后用自己用5个字节,剩余的用nop指令补充把这段代码扔到新的内存地址执行,执行完了再返回过来,不知道能不能行!我先自己实现一下看看!!也没试过!
雪    币: 3429
活跃值: (2298)
能力值: ( LV6,RANK:83 )
在线值:
发帖
回帖
粉丝
yegu 2021-1-3 07:55
4
0
阡陌雯香 我突然想到把前面的14个字节全部复制走,然后用自己用5个字节,剩余的用nop指令补充把这段代码扔到新的内存地址执行,执行完了再返回过来,不知道能不能行!我先自己实现一下看看!!也没试过!
这样可以实现的
雪    币: 6796
活跃值: (3332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sinkay 2021-1-3 10:51
5
0
6f26cb65 不是刚好5个字节么
6f26cb65  call func
__declspec (naked) void func()
{
       __asm {
               add dowrd ptr ds:[esp+4]
                mov ecx,70742bf0
                push edi
                call [eax+8]
                ret
                
       }
}
雪    币: 6796
活跃值: (3332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sinkay 2021-1-3 11:47
6
1
还一种更简单的方法
call [eax+8]
eax=70742bf0 是个全局变量
后面你懂的
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2021-1-3 12:16
7
1
把前面的拿来用
雪    币: 102
活跃值: (151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
阡陌雯香 2021-1-3 23:41
8
0
sinkay 还一种更简单的方法 call [eax+8] eax=70742bf0 是个全局变量 后面你懂的
谢谢,已经解决了!谢谢大家!!
游客
登录 | 注册 方可回帖
返回