557 Commits

Author SHA1 Message Date
pernicious 4e5d4da5a9 fix arm/thumb sys gadget discovery (#220) 2025-12-16 12:13:14 +03:00
Jordan Jay 4d3e29740f Fix x86 gadget discovery by decoupling alignment from step size (#219)
* Fix x86 gadget discovery by decoupling alignment from step size

ROPgadget previously used the alignment value as the backward step size when scanning for gadget start offsets. This prevents discovery of valid x86 gadgets such as “pop rdi; ret”, when specifying certain alignment values (namely 2-byte alignment).

This patch steps backward one byte at a time on all architectures and applies the alignment constraint only as a filter on the start address. This preserves correct behavior for fixed-width ISAs (ARM Thumb, RISC-V compressed) while restoring correct gadget discovery on x86/x64.

* Restore aligned-first gadget search with correct byte-step fallback

Reworked `__gadgetsFinding` to restore the original aligned-step logic while keeping the new byte-by-byte fallback. Alignment is attempted first, fallback is used only when alignment is invalid. `expected_size` is now computed correctly for each path, fixing the test failures caused by mixing aligned offsets with byte-step semantics in the previous commit.
2025-11-22 11:50:42 +03:00
Alexey Vishnyakov 1d13237258 Add version 7.7 v7.7 2025-10-15 11:55:43 +03:00
0xf00sec 440ffe9dfb patch: bounds (#218)
Wrap disassembly in try/except to handle invalid instruction bytes
2025-10-14 20:15:56 +03:00
Zander Work 4feba4ca05 fix callPreceded filtering (#213) (#216) 2025-07-12 18:57:10 +03:00
Lennard Hofmann 1d72f151a6 Fix more SyntaxWarnings in Python 3.13 (#212) 2025-06-02 16:04:35 +03:00
Lennard Hofmann f1d0c0ce7d Fix SyntaxWarning in Python 3.13 (#209) 2025-05-03 18:34:09 +03:00
Alexey Vishnyakov 23ef0f6182 Update runner OS (#210) 2025-05-03 18:30:06 +03:00
Alexey Vishnyakov 4cc636565a Fix CI 2025-01-28 22:31:31 +03:00
Alexey Vishnyakov 02939ed718 Add version 7.6 v7.6 2025-01-28 22:25:26 +03:00
face0xff b3463a9832 Add LDM / LDMDB JOP gadgets for ARM Thumb2 (#207)
* Add LDM / LDMDB JOP gadgets for ARM Thumb2

* tests: add arm thumb test
2025-01-22 21:05:22 +03:00
Alexey Vishnyakov 90d9ff7223 Add version 7.5 v7.5 2024-09-30 16:27:46 +03:00
Alexey Vishnyakov 9f20a4be64 Support iret and sysret instructions for x86 2024-09-30 16:23:34 +03:00
Dale Lakes 5eaaefcb4d Add some PowerPC ROP and SYS gadgets (#198)
* Add PowerPC CTR and LR gadgets

* Fix PowerPC JOP bl gadget

* Update ref test output

* Fix tests

---------

Co-authored-by: Alexey Vishnyakov <sweetvishnya@yandex-team.ru>
2024-09-23 15:18:05 +03:00
Alexey Vishnyakov 558b157537 Fix CI (#200) 2024-09-17 16:13:33 +03:00
Alexey Vishnyakov 0fd62cccd6 Add version 7.4 v7.4 2023-09-01 10:06:48 +03:00
Alexey Vishnyakov 99bd349ed1 Update capstone to 5.0.1 (#194) 2023-09-01 09:53:57 +03:00
Mario Haustein 4d5813694e Fix test suite against recent capstone releases (#192)
* Recognize `ret` and `jmp` with `repz` and `notrack` prefix as valid branching instructions

* Fix test cases against recent capstone release

closes #190
2023-09-01 09:45:22 +03:00
Alexey Vishnyakov beb4f8dca9 Switch to ubuntu:20.04 in CI because 18.04 is not supported anymore (#193) 2023-09-01 09:44:42 +03:00
Alexey Vishnyakov e38c9d7be9 Add version 7.3 v7.3 2023-03-09 16:44:51 +03:00
Alexey Vishnyakov c6015cae73 Update setup.py 2023-03-09 16:44:02 +03:00
Alexey Vishnyakov e51c62b7ec Update authors 2023-03-09 16:39:57 +03:00
Alexey Vishnyakov 2381f0d957 Update license year 2023-03-09 16:33:27 +03:00
Alexey Vishnyakov 476629a30b Update README 2023-03-09 16:31:59 +03:00
Alexey Vishnyakov 602e8f10ce Fix riscv README 2023-03-09 16:14:57 +03:00
thibault poncetta 7c4f6ecfca Basic RISC V support (#189) 2023-03-09 16:09:06 +03:00
Alexey Vishnyakov 030b4d9b70 Add version 7.2 v7.2 2022-12-06 11:29:50 +03:00
Alexey Nurmukhametov 994238f8fe Fix ROPgadget update fails with python3 (#188)
Fixes #186
2022-10-27 18:17:07 +03:00
Alexey Vishnyakov 81af91a30a Add version 7.1 v7.1 2022-09-12 15:17:20 +03:00
Mario Haustein 3d6d0d9b45 Support PowerPC architecture for MachO binaries (#183) 2022-09-08 13:03:52 +03:00
Alexey Vishnyakov 3cb2420f00 Add version 7.0 v7.0 2022-08-31 22:17:33 +03:00
Mario Haustein 8068e74d2a Determine Mach-O endianness from magic number
Otherwise reading Mach-O files with native endianness will fail on
machines using a different endianness than the file will fail.
2022-08-31 22:12:17 +03:00
Mario Haustein f2cd799037 Use explicit endianness for PE files
Otherwise reading PE files with native endianness will fail on big
endian machines likes PowerPC.
2022-08-31 22:12:17 +03:00
Alexey Vishnyakov 1aa5491e08 Add version 6.9 v6.9 2022-08-22 18:55:24 +03:00
pkubaj 5e0bf3c1ee Add ppc64 test (#181) 2022-08-22 18:53:32 +03:00
pkubaj c4b79d1de4 Add 64-bit POWER support (#180) 2022-08-18 12:55:58 +03:00
Alexey Vishnyakov 5a8860efae Add version 6.8 v6.8 2022-06-24 15:31:55 +03:00
Alexey Vishnyakov c0cd4fb7b7 Use Python3 in ROPMaker, closes #179 2022-05-11 18:48:26 +03:00
Alexey Vishnyakov 7a8132045f Update .gitignore 2022-03-12 19:37:39 +03:00
Alexey Vishnyakov 9dbc2f9f9c Add version 6.7 v6.7 2022-03-11 19:06:02 +03:00
Alexey Vishnyakov 40d41456c0 Merge pull request #177 from JonathanSalwan/fix-unprintable-strings
Fix --string: replace non-printable characters with dots
2022-03-11 19:04:52 +03:00
Alexey Vishnyakov 4dfdf6d28c Fix --string: replace non-printable characters with dots 2022-03-11 19:02:10 +03:00
Alexey Vishnyakov 279901944f Merge pull request #176 from JonathanSalwan/fix-raw-mode
Fix specifying --thumb option with --rawMode arm
2022-03-11 17:43:20 +03:00
Alexey Vishnyakov f2573c5ea2 Fix tests 2022-03-11 17:39:36 +03:00
Alexey Vishnyakov 6510112f71 Disable linter 2022-03-11 17:10:08 +03:00
Alexey Vishnyakov dfeb32ce1f Fix linter version 2022-03-11 16:53:14 +03:00
Alexey Vishnyakov 360169978b Remove linter version 2022-03-11 16:51:47 +03:00
Alexey Vishnyakov bb01bb3d29 Update README 2022-03-11 16:46:22 +03:00
Alexey Vishnyakov 5cb05794c2 Fix specifying --thumb option with --rawMode arm 2022-03-11 16:43:27 +03:00
Alexey Vishnyakov 0703adfb3e Update installation docs 2021-11-04 13:15:35 +03:00