• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    Python
  • Created about 12 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

x86 Emulator in Python
This is a short readme describing the layout of PyEmu.

PyContext.py: A module containing a class for defining a context to pass between modules in the emulator
PyCPU.py: The CPU class implements each instruction and is responsible for executing and maintaining state
PyDebug.py: A simple class to ease some debugging tasks
PyEmu.py: The user facing class that implements the public methods available for use.  Also is responsible for initiating the memory and cpu classes
PyInstruction.py: A helper class for providing abstracted access to the pydasm instruction structures
PyMemory.py: A module containing the memory managers responsible for fetching and storing memory
PyOS.py: A rough implementation of needed OS specific structures for process creation and control.

examples/
    idapyemu.py: A simple example of using PyEmu in IDA Pro
    idapyemu_memory_access.py: A simple example showing tracking of memory access
    idapyemu_path_enumeration.py: An example showing mnemonic hooking
    idapyemu_return_value.py: An example demonstrating return value enumeration
    idapyemu_test_case.py: A test case exercising many of the PyEmu methods
    pepyemu.py: A example of PE file PyEmu use
    pydbgpyemu.py: A example of PyDbg use

lib/
    pefile.py: Ero Carrera's pefile implementation
    pydasm.pyd: Ero Carrera's libdasm python wrapper
    ctypes/_ctypes.pyd: Ctypes library needed for PyOS.py