Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅使用python代码在二进制文件中查找地址?_Python_Binary_Offset - Fatal编程技术网

如何仅使用python代码在二进制文件中查找地址?

如何仅使用python代码在二进制文件中查找地址?,python,binary,offset,Python,Binary,Offset,例如,我有二进制文件 1) 如何查找这一系列字节的地址:48 8B 45 A8 48 8D 1C 02 48 8B 45 C8,结果需要是0x6B0C67 2) 如何找出地址中的12个字节0x6B0C67?结果需要是48 8B 45 A8 48 8D 1C 02 48 8B 45 C8 3) 如何找到特定字符串的地址调用?例如i+1==功能[i]。位于0x6FC272中的索引?结果需要是0x4022F6 没有打开的Ida我怎么能找到所有这些?仅使用python/c代码 1)您的文件是否足够小,可

例如,我有二进制文件

1) 如何查找这一系列字节的地址:
48 8B 45 A8 48 8D 1C 02 48 8B 45 C8
,结果需要是
0x6B0C67

2) 如何找出地址中的12个字节
0x6B0C67
?结果需要是
48 8B 45 A8 48 8D 1C 02 48 8B 45 C8

3) 如何找到特定字符串的地址调用?例如
i+1==功能[i]。位于
0x6FC272
中的索引?结果需要是
0x4022F6

没有打开的Ida我怎么能找到所有这些?仅使用python/c代码

1)您的文件是否足够小,可以加载到内存中?那就简单到

offset = open(file, 'rb').read().find(
    bytes.fromhex("48 8B 45 A8 48 8D 1C 02 48 8B 45 C8")
)

# offset will be -1 if not found
如果没有,你需要分块阅读

2)做什么


恐怕我不理解3)中的问题。

这个问题似乎是关于linux可执行文件的问题,该文件应该足够小,可以加载到内存中。@ChristophBurschka 1+2不工作,您可以从偏移量0x0开始创建二进制文件,这不正确,Ida从另一个偏移量加载它,您能否详细介绍一下lda的功能以及文件偏移量和“地址”之间的关系?听起来除了读取文件的原始字节之外,您还需要一些更高级的反汇编工具?
with open(file, 'rb') as stream:
   stream.seek(0x6b0c67)
   data = stream.read(12)