Я пытаюсь собрать программу для чтения в двоичном коде из файла .out
(Linux).Когда я использовал .read()
, он останавливается на адресе памяти 0x1c9
.У меня было решение, которое требовало перебора всех 0x1c9ish
адресов памяти, но я чувствую, что .read()
должен читать весь файл по умолчанию.У кого-нибудь есть идеи, почему он может так поступить со мной?
Ниже приведено начало функции, которая читает код.Я считаю, что это все, что вам нужно.Любая помощь с благодарностью!
def open_file(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
self.fileName, _ = QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "",
"All Files (*);;ELF Files (*.so)", options=options)
self.addresses = []
mnemonics = []
op_strs = []
instructions = []
reg_read = []
reg_write = []
md = Cs(CS_ARCH_X86, CS_MODE_64)
md.detail = True
if self.fileName:
with open(self.fileName, "rb") as binary_file:
code = binary_file.read()
]