如何使用IDA调试器在进程内存中查找某些特定值,例如float或integer的值或字符串类型?

然后如何跟踪程序如何访问它们?

#1 楼

问题1:
您可以使用Ida功能菜单搜索,字节顺序...

寻找一个浮点值,将其转换为四个字节的序列,然后让Ida进行搜索。转换也可以在Ida(IIRC)或任何其他允许显示不同数据类型的十六进制编辑器中完成。当然,如果变量是双精度数而不是浮点数,则需要为双精度数使用不同的正确字节序列。
搜索字符串时,可以使用相同的方法。当然您在这里也必须知道无论您要查找的是ascii字符串还是其他类型的字符串(例如unicode)。
使用该方法,必须遵守字节序,因为字节序可能与Big-Endian或Little-Endian不同。

问题2:

如果找到了内存地址,请在其上放置一个断点。在内存区域中,将打开一个窗口,您可以在其中编辑断点,例如选择中断或跟踪,以及中断条件和其他项目。通过首先将断点放在F2上的位置,然后用鼠标右键单击选择“编辑断点”,可以编辑代码区域中的断点。

评论


谢谢!没有任何插件或其他可添加友好的UI的工具,可以将浮点数或字符串自动转换为十六进制序列吗?

–滚动
15年7月14日在8:06