Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ROPgadget — Pesquise por gadgets ROP em binários ELF, PE, Mach-O e Raw nas arquiteturas x86, ARM, MIPS e RISC-V. Suporta geração automatizada de cadeias ROP e modo de console interativo. | Kitploit
Ferramentas/GitHubGitHub/jonathansalwan/ropgadget
Geração de PayloadsExploraçãoEngenharia ReversaCTFAnálise de BináriosExploração de BináriosTop em Análise de Binários nº18Top em Exploração de Binários nº5Top em CTF nº8Top em Engenharia Reversa nº16
4.5k57924há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHubjonathansalwan/ropgadget

ROPgadget

Pesquise por gadgets ROP em binários ELF, PE, Mach-O e Raw nas arquiteturas x86, ARM, MIPS e RISC-V. Suporta geração automatizada de cadeias ROP e modo de console interativo.

Ver Repositório
Compartilhar

Ferramenta ROPgadget

Esta ferramenta permite que você pesquise gadgets em seus binários para facilitar sua exploração ROP. O ROPgadget suporta os formatos ELF/PE/Mach-O/Raw nas arquiteturas x86, x64, ARM, ARM64, PowerPC, SPARC, MIPS, RISC-V 64 e RISC-V Compressed.

Instalação

A maneira mais fácil é instalar o ROPgadget a partir do PyPi:

$ sudo apt install python3-pip
$ sudo -H python3 -m pip install ROPgadget
$ ROPgadget --help

Alternativamente, você pode instalar o ROPgadget a partir do código fonte. Você precisa instalar o Capstone primeiro.

Para a instalação do Capstone em máquinas nix:

$ sudo apt install python3-pip
$ sudo -H python3 -m pip install capstone

Capstone suporta múltiplas plataformas (Windows, iOS, Android, Cygwin...). Para a compilação cruzada, consulte o arquivo https://github.com/capstone-engine/capstone/blob/master/COMPILE.TXT .

Após a instalação do Capstone, o ROPgadget pode ser usado como uma ferramenta independente:

$ python3 ROPgadget.py --help

Ou instalado na biblioteca site-packages do Python e executado a partir do $PATH.

$ sudo -H python3 setup.py install
$ ROPgadget --help

Uso

usage: ROPgadget.py [-h] [-v] [-c] [--binary <binary>] [--opcode <opcodes>]
                    [--string <string>] [--memstr <string>] [--depth <nbyte>]
                    [--only <key>] [--filter <key>] [--range <start-end>]
                    [--badbytes <byte>] [--rawArch <arch>] [--rawMode <mode>]
                    [--rawEndian <endian>] [--re <re>] [--offset <hexaddr>]
                    [--ropchain] [--thumb] [--console] [--norop] [--nojop]
                    [--callPreceded] [--nosys] [--multibr] [--all] [--noinstr]
                    [--dump] [--silent] [--align ALIGN] [--mipsrop <rtype>]

descrição:
  O ROPgadget permite que você pesquise gadgets em um binário. Ele suporta vários
  formatos de arquivo e arquiteturas e usa o desmontador Capstone para o
  mecanismo de busca.

formatos suportados:
  - ELF
  - PE
  - Mach-O
  - Raw

arquiteturas suportadas:
  - x86
  - x86-64
  - ARM
  - ARM64
  - MIPS
  - PowerPC
  - Sparc
  - RISC-V 64
  - RISC-V Compressed

argumentos opcionais:
  -h, --help            mostra esta mensagem de ajuda e sai
  -v, --version         Exibe a versão do ROPgadget
  -c, --checkUpdate     Verifica se uma nova versão está disponível
  --binary <binary>     Especifica um nome de arquivo binário para analisar
  --opcode <opcodes>    Pesquisa opcode no segmento executável
  --string <string>     Pesquisa string no segmento legível
  --memstr <string>     Pesquisa cada byte em todos os segmentos legíveis
  --depth <nbyte>       Profundidade para o mecanismo de busca (padrão 10)
  --only <key>          Mostra apenas instruções específicas
  --filter <key>        Suprime mnemônicos específicos
  --range <start-end>   Pesquisa entre dois endereços (0x...-0x...)
  --badbytes <byte>     Rejeita bytes específicos no endereço do gadget
  --rawArch <arch>      Especifica uma arquitetura para um arquivo raw
                        x86|arm|arm64|sparc|mips|ppc|riscv
  --rawMode <mode>      Especifica um modo para um arquivo raw 32|64|arm|thumb
  --rawEndian <endian>  Especifica uma endianness para um arquivo raw little|big
  --re <re>             Expressão regular
  --offset <hexaddr>    Especifica um offset para endereços de gadget
  --ropchain            Habilita a geração de cadeia ROP
  --thumb               Usa o modo thumb para o mecanismo de busca (apenas ARM)
  --console             Usa um console interativo para o mecanismo de busca
  --norop               Desabilita o mecanismo de busca ROP
  --nojop               Desabilita o mecanismo de busca JOP
  --callPreceded        Mostra apenas gadgets que são precedidos por call
  --nosys               Desabilita o mecanismo de busca SYS
  --multibr             Habilita múltiplos gadgets de branch
  --all                 Desabilita a remoção de gadgets duplicados
  --noinstr             Desabilita a impressão das instruções do gadget no console
  --dump                Exibe os bytes do gadget
  --silent              Desabilita a impressão de gadgets durante a análise
  --align ALIGN         Alinha endereços de gadgets (em bytes)
  --mipsrop <rtype>     Localizador de gadgets úteis MIPS
                        stackfinder|system|tails|lia0|registers

exemplos:
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --ropchain
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --depth 3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "main"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "m..n"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --opcode c9c3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|pop|xor|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --filter "xchg|add|sub|cmov.*"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --norop --nosys
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --range 0x08041000-0x08042000
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string main --range 0x080c9aaa-0x080c9aba
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --memstr "/bin/sh"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --console
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --badbytes "00|01-1f|7f|42"
  ROPgadget.py --binary ./test-suite-binaries/Linux_lib64.so --offset 0xdeadbeef00000000
  ROPgadget.py --binary ./test-suite-binaries/elf-ARMv7-ls --depth 5
  ROPgadget.py --binary ./test-suite-binaries/elf-ARM64-bash --depth 5
  ROPgadget.py --binary ./test-suite-binaries/raw-x86.raw --rawArch=x86 --rawMode=32
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-RISCV_64 --depth 8

Como posso contribuir ?

  • Adicionar gadgets de sistema para PPC, Sparc, ARM64 (Gadgets.addSYSGadgets()).
  • Suporte RISC-V 32 bits.
  • Lidar com bytes inválidos nos dados durante a geração da cadeia ROP.
  • Gerenciar big endian no formato Mach-O como na classe ELF.
  • Tudo que você achar interessante :)

Bugs/Patches/Contato

Por favor, reporte bugs, envie pull requests, etc. no GitHub em https://github.com/JonathanSalwan/ROPgadget

Licença

Consulte LICENSE_BSD.txt e o cabeçalho de licença em todos os arquivos fonte.

Capturas de tela

x64

ARM

Sparc

MIPS

PowerPC

ROP chain

Baixar ferramenta