Эмуляция Qiling: сохранение информации о вызываемых API и их параметрах.Python

Программы на Python
Ответить
Anonymous
 Эмуляция Qiling: сохранение информации о вызываемых API и их параметрах.

Сообщение Anonymous »

Я новичок в Qiling, и это отличный инструмент: нужная мне информация печатается в журналах, но я не могу найти способ получить доступ к этой информации. Мне также нужны функции, вызываемые PE во время эмуляции, и их параметры.
Примеры журналов

[=] RegOpenKeyW(hKey = "HKEY_CURRENT_USER", lpSubKey = "Software",phkResult = 0xffffcfd0) = 0x0 [=]

lstrlenW(lpString = "123123") = 0x6 [=]

RegSetValueExW(hKey = "HKEY_CURRENT_USER\Software",
lpValueName = "TEST_KEY", Reserved = 0, dwType = 0x1, lpData = 0x40215c, cbData = 0xe) = 0x0 [=]

lstrlenW(lpString = "2333333") = 0x7 [=]

RegSetValueExW(hKey = "HKEY_CURRENT_USER\Software", lpValueName = "TEST_KEY_2", Reserved = 0, dwType = 0x1, lpData = 0x402180, cbData = 0x10) = 0x0 [=]

RegDeleteValueW(hKey ="HKEY_CURRENT_USER\Software", lpValueName = "TEST_KEY") = 0x0 [=]

exit(status = 0)
Я получаю необходимые вызовы функций RegOpenKeyW и их прамамы, т.е. hKey в журналах.
Мой вопрос заключается в том, есть ли какой-либо метод, который может предоставить мне всю эту информацию в определенном методе json, поскольку анализ этого текста будет затруднен, и я не хочу создавать синтаксический анализатор, если для этого определен какой-либо метод.
Мой код

Код: Выделить всё

import os
import argparse
from qiling import *

def main(path : str, rootfs : str):
qil = Qiling(path, rootfs)
qil.run()
print("[+] Successfully emulated the binary.")

if __name__ == "__main__":

parser = argparse.ArgumentParser(description='DARTS Emulator')
parser.add_argument('input_file', help="Input binary file.")
parser.add_argument('-r', '--rootfs', help="Qiling RootFS path")
args = vars(parser.parse_args())

qiling_rootfs = args['rootfs']

if not qiling_rootfs:
qiling_rootfs = os.path.join(os.getcwd(), "examples", "rootfs", "x86_windows")

bin_file = args['input_file']

print(f">> ROOTFS      : {qiling_rootfs}")
print(f">> Binary      : {bin_file}")

main([bin_file], qiling_rootfs)
Я попробовал метод report.generate_report(qil), но он не дает необходимой информации

Подробнее здесь: https://stackoverflow.com/questions/798 ... eir-params
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»