JonathanSalwan / ROPgadget

This tool lets you search your gadgets on your binaries to facilitate your ROP exploitation. ROPgadget supports ELF, PE and Mach-O format on x86, x64, ARM, ARM64, PowerPC, SPARC, MIPS, RISC-V 64, and RISC-V Compressed architectures.
Other
3.96k stars 557 forks source link

Capstone 6.0: NameError: name 'CS_ARCH_ARM64' is not defined. #202

Open peace-maker opened 1 month ago

peace-maker commented 1 month ago

The latest capstone alpha renamed ARM64 constants to AARCH64. This breaks running ropgadget on arm64 binaries.

Traceback (most recent call last):
  File "/tmp/venv/bin/ROPgadget", line 12, in <module>
    ropgadget.main()
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/__init__.py", line 30, in main
    sys.exit(0 if Core(args.getArgs()).analyze() else 1)
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/core.py", line 244, in analyze
    self.__binary = Binary(self.__options)
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/binary.py", line 40, in __init__
    self.__binary = ELF(self.__rawBinary)
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/loaders/elf.py", line 229, in __init__
    self.__setHeaderElf()
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/loaders/elf.py", line 255, in __setHeaderElf
    self.getArch()  # Check if architecture is supported
  File "/tmp/venv/lib/python3.10/site-packages/ropgadget/loaders/elf.py", line 337, in getArch
    return CS_ARCH_ARM64
NameError: name 'CS_ARCH_ARM64' is not defined. Did you mean: 'CS_ARCH_ARM'?
SweetVishnya commented 1 month ago

@peace-maker, could you, please, ping me when it becomes a stable release?