zhuayi112 发表于 2023-9-21 10:54

求解ida中对应二进制位置如何计算

本帖最后由 zhuayi112 于 2023-10-1 19:37 编辑

这是一个linux下的64位文件,下面是ida视图里其中一段内容


00000000012A936F 018 F3 0F 59 05 D9 D1 E9 00               mulss   xmm0, dword ptr cs:stru_1D43B30.m_ms.m_DB.m._an_1+1FD05Bh


IDA F5 伪代码为这样


v1 = (float)(int)a1 * 0.5;


怎么在二进制文件中找到 1FD05B 的位置?
这个有什么计算公式吗?我想改这个0.5。




感谢大家的回复。自己搜索到了。以后在研究计算位置

咬字分开念 发表于 2023-9-21 11:14

ida修改16进制,可以参考 这个帖子 ,有类似的代码还原方式

hipojie 发表于 2023-9-21 11:25

hipojie 发表于 2023-9-21 12:40

yes2 发表于 2023-9-21 13:32

cff explorer可以直接进行换算,pe文件偏移与内存偏移的互相转换。ida里面应该是内存偏移

hipojie 发表于 2023-9-21 14:07

yes2 发表于 2023-9-22 08:49

hipojie 发表于 2023-9-21 14:07
他要改这个0.5的值。

up是说要修改这个0.5,但是他的实际需求是找到这个0.5的地址,ida里面他能看到地址,只是不知道如何修改文件。可以用cff进行地址转换,然后在文件中修改。也可以直接在ida里patch指令

zhuayi112 发表于 2023-9-23 11:28

hipojie 发表于 2023-9-21 11:25


没看懂你想干什么,不出意外的话,我猜测你改完后会发现你改的不对。


mulss   xmm0, dword ptr cs:stru_1D43B30.m_ms.m_DB.m._an_1+1FD05Bh
汇编指令中 1FD05B 内存位置存的是 0.5,我的意思是如何计算出在文件exe中的位置。

hipojie 发表于 2023-9-24 11:34

hipojie 发表于 2023-9-24 11:36

页: [1] 2
查看完整版本: 求解ida中对应二进制位置如何计算