首页
社区
课程
招聘
[求助]ida转换为c代码,为什么变量是有问题的?偏移不对啊。
发表于: 2025-8-25 14:46 1510

[求助]ida转换为c代码,为什么变量是有问题的?偏移不对啊。

2025-8-25 14:46
1510

ida转换为c代码,rcx传递的是this指针,


为什么rcx+46Ch和rcx+3F0h,用hex-rays转换为c++代码,偏移量却变成0x11b和0xFC了??


而另一个函数转换为c++代码又是对的。



传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 31391
活跃值: (8883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在伪代码上右键将伪代码复制到反汇编窗口看看对应关系,11B - FC 明显不等于 46C - 3F0
2025-8-25 17:55
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
huangyalei 在伪代码上右键将伪代码复制到反汇编窗口看看对应关系,11B - FC 明显不等于 46C - 3F0

还是一样的,实在是太奇怪了。是不是因为下面有对rcx重新赋值,rays识别有问题啊?

但是它们的差值也不一样啊。


其他的函数倒没发现这个问题。但是又不知道怎么硬修改它。


2025-8-25 18:23
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4

不知道是不是修改了rcx的问题。

不过rays应该会考虑这个问题的啊。这个在代码里面应该很常见的。


最后于 2025-8-25 19:05 被mb_xqegebwg编辑 ,原因:
2025-8-25 18:55
0
雪    币: 1848
活跃值: (2301)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
C语言 指针篇  你看看 46Ch = 0x11b * 4,3F0 = 0xFC * 4,反编译成C语言 那个是uint32_t 的指针
2025-8-25 18:57
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
zuoshang C语言 指针篇 你看看 46Ch = 0x11b * 4,3F0 = 0xFC * 4,反编译成C语言 那个是uint32_t 的指针

明白了,问了这么低级的问题。。。
谢谢了。。这么简单的东西,脑子一下午都没转过弯来。

最后于 2025-8-25 19:12 被mb_xqegebwg编辑 ,原因:
2025-8-25 19:12
0
雪    币: 13
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
加我微信 15850109865 这是我擅长的领域 
2025-8-28 15:51
0
雪    币: 232
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
zuoshang C语言 指针篇 你看看 46Ch = 0x11b * 4,3F0 = 0xFC * 4,反编译成C语言 那个是uint32_t 的指针
那ida的这个伪代码也太别扭了吧,可以设置成和反汇编偏移一样的吗?
2025-11-12 23:29
0
雪    币: 1848
活跃值: (2301)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
9
啊你好哇123 那ida的这个伪代码也太别扭了吧,可以设置成和反汇编偏移一样的吗?
没设置过 这就不知道了
3天前
0
游客
登录 | 注册 方可回帖
返回