【问题标题】:Reading a raw RAM data in python在 python 中读取原始 RAM 数据
【发布时间】:2014-04-01 20:42:52
【问题描述】:

我使用名为 DumpIt(http://www.downloadcrew.com/article/23854-dumpit) 的免费软件转储了 RAM 数据。该软件将 RAM 数据保存为原始文件,可以使用十六进制编辑器 (http://www.downloadcrew.com/article/10814-hxd) 读取该文件。 如何在 python 的十六进制编辑器(见图)中获取字符串数据?

例如:我想通过读取由转储。

编辑

我尝试使用此代码,但它只是停滞不前,没有任何反应

#!/usr/bin/python
import binascii
filename = "LEMARC-20140401-181003.raw"
g = open("out","w")
str=""
with open(filename,"rb") as f:
    for lines in f:
        str+=lines
str = binascii.unhexlify(str)
f.close()
g.write(str)
g.close

【问题讨论】:

  • 文件好像不是十六进制编码的,会误导你的标题。
  • @DanGetz:完全正确。如果您只是正常打开文件(例如使用记事本),则红色框中的文本将按原样阅读。因此,您可以使用open 以通常的方式在 Python 中打开文件。
  • @JohnY,在记事本中无法读取,直接在记事本中打开时会显示奇怪的字符,就像二进制文件一样。
  • @lemarc 可读性足以能够提取想要的字符串。

标签: python ram


【解决方案1】:

在 Python2 中

"437c2123".decode('hex')
'C|!#'

在 Python3 中(也适用于 Python2,对于

import binascii
binascii.unhexlify(b"437c2123")
b'C|!#'

因此,在您的情况下,解码整个十六进制字符串以获取 ascii,然后您可以使用正则表达式或您自己的解析函数提取 url

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2018-09-07
    • 2020-03-07
    • 2019-12-04
    • 2019-11-01
    • 2016-02-02
    相关资源
    最近更新 更多