如何找到字符串在内存中的位置(有物理偏移量)?
我需要从恶意二进制文件中找到 str[可能是 n]cmp
。 问题是反汇编中有十亿个。
我知道它在那里是因为有弦的帮助。 我正在反汇编一个没有“otx”的二进制文件(为您放入字符串的反汇编器。
我需要知道如何在加载程序后找到该字符串的内存偏移量,以便我可以使用 gdb 等。
如果您可以给我一个算法(我曾经记得另一种方式:phys off = virtual off *段地址+段偏移
- 或类似的东西)(ps是正确的吗??:))
或者如果你能告诉我这在 ida pro 中如何变得更加容易,我将非常感激,
谢谢:)
I need to find a str[possibly n]cmp
out of a hostile binary file. The problem is there are a billion in the disassembly.
I know it is there becuase of the help from strings. I am disassembling a binary that does not have 'otx' (the dissassembler that puts in the strings for you.
I need to know how to find the memory offset of this string once the program is loaded so i can use gdb etc.
If you could give me an algorithm (I used to remember the other way: phys off = virtual off * segment adress + segment offset
-- or something to that effect) (ps is that correct??:) )
Or if you could tell me how this is infinitely easier in ida pro, I would be very grateful
thanks :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 IDA 中,只需加载文件并执行二分搜索(按 Alt+B),然后查看地址。 您还可以通过按 x 检查字符串的交叉引用。
In IDA, just load the file and perform a binary search (press Alt+B), then look at the address. You can also check for cross-references to the string by pressing x.