求解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。
感谢大家的回复。自己搜索到了。以后在研究计算位置 ida修改16进制,可以参考 这个帖子 ,有类似的代码还原方式 cff explorer可以直接进行换算,pe文件偏移与内存偏移的互相转换。ida里面应该是内存偏移 hipojie 发表于 2023-9-21 14:07
他要改这个0.5的值。
up是说要修改这个0.5,但是他的实际需求是找到这个0.5的地址,ida里面他能看到地址,只是不知道如何修改文件。可以用cff进行地址转换,然后在文件中修改。也可以直接在ida里patch指令 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中的位置。
页:
[1]
2