
गतिशील प्रतीकात्मक निष्पादन और बाइनरी विश्लेषण ढांचा जिसमें टेंट विश्लेषण, बाधा समाधान, Ghidra के Sleigh के माध्यम से बहु-आर्किटेक्चर अनुकरण, और स्वचालित भेद्यता खोज के लिए पायथन बाइंडिंग शामिल हैं।
Maat एक खुला-स्रोत Dynamic Symbolic Execution और Binary Analysis ढांचा है। यह प्रतीकात्मक निष्पादन, टेंट विश्लेषण, बाधा समाधान, बाइनरी लोडिंग, पर्यावरण सिमुलेशन जैसी विभिन्न कार्यक्षमताएँ प्रदान करता है, और असेंबली लिफ्टिंग के लिए Ghidra की स्ले लाइब्रेरी का लाभ उठाता है: https://maat.re
मुख्य विशेषताएं:
Maat के Python मॉड्यूल को स्थापित करने के लिए:
python3 -m pip install pymaat
Maat के मूल SDK को स्थापित करने और C++ API का उपयोग करने के लिए, BUILDING.md देखें
from maat import *
# Create a symbolic engine for Linux X86-32bits
engine = MaatEngine(ARCH.X86, OS.LINUX)
# Load a binary with one command line argument
engine.load("./some_binary", BIN.ELF32, args=[engine.vars.new_symbolic_buffer("some_arg", 20)])
# Get current eax value
engine.cpu.eax
# Read 4 bytes at the top of the stack
engine.mem.read(engine.cpu.esp, 4)
# Set a callback displaying every memory read
def show_mem_access(engine):
mem_access = engine.info.mem_access
print(f"Instruction at {engine.info.addr} reads {mem_access.size} bytes at {mem_access.addr}")
engine.hooks.add(EVENT.MEM_R, WHEN.BEFORE, callbacks=[show_mem_access])
# Take and restore snapshots
snap = engine.take_snapshot()
engine.restore_snapshot(snap)
# Run the binary
engine.run()
सामान्य चर्चाओं, प्रश्नों और सुझावों के लिए, हम Github Discussions का उपयोग करते हैं
समस्याओं और बगों की रिपोर्ट करने के लिए, कृपया Github Issues का उपयोग करें
किसी और चीज़ के लिए, [email protected] पर ईमेल भेजें