首页
社区
课程
招聘
[求助]求教一个inline hook实现问题。
发表于: 2015-7-10 16:12 5226

[求助]求教一个inline hook实现问题。

2015-7-10 16:12
5226
uint32_t pos =0x2738;
    unsigned char buf[1000]={0};
    uint16_t *area(reinterpret_cast<uint16_t *>(buf));
    
    unsigned align((reinterpret_cast<uintptr_t>(area) & 0x2) == 0 ? 0 : 1);
    uint16_t *thumb(area + align);
    uint32_t *arm(reinterpret_cast<uint32_t *>(thumb + 2));
    thumb[0] = T$bx(A$pc) ;
    thumb[1] = T$nop;
    arm[0] = A$ldr_rd_$rn_im$(A$pc, A$pc, 4 - 8);
    arm[1] = reinterpret_cast<uint32_t>(pos);
    
我按照substrate的源码, 写了这么这么几行代码, 就是想跳转到0x2738这个位置。
运行过后的机器码是这样的:78 47 C0 46 04 F0 1F E5 38 27。

我把这个机器码导入到ida发现,

bx pc
nop
这4个字节机器吗是对的。 但是后4位机器码完全对不上!  请问谁知道为啥?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//