3930 Commits
Author SHA1 Message Date
Redhpm 3671fc24d6 Merge pull request #1544 from Redhpm/pin_pyparsing
pin pyparsing because 3.3.3 is bugged
2026-09-21 16:04:26 +02:00
redhpm 4638af8bda pin pyparsing because 3.3.3 is bugged 2026-09-21 15:44:00 +02:00
Redhpm 3e4c8c48d9 Merge pull request #1509 from PerfectLaugh/master
AArch64 IR instruction fix for `rbit` instruction and `ctr_el0` register
2026-09-21 09:52:57 +02:00
Redhpm 123b697dfd Merge pull request #1543 from Redhpm/fix_pushf
fix pushf[dq] sem - do not copy vm and rf flags
2026-09-19 21:16:55 +02:00
redhpm 86eb7be2e5 fix pushf[dq] sem - do not copy vm and rf flags 2026-09-19 21:14:45 +02:00
Redhpm 315c96a25f Merge pull request #1538 from kStor2poche/fix-negative-segment-offsets-on-<64bits-systems
Fix negative segment offsets on <64bits systems
2026-09-19 12:49:16 +02:00
Redhpm 0836d80016 Merge pull request #1537 from kStor2poche/allow-simplifying-consecutive-exprmem-and-exprslice
Allow simplifying the following expr: {@n[id], @m[id][n:m]} with m>n
2026-09-19 12:48:23 +02:00
kStor2poche 37e14f2db9 Add unit tests 2026-09-19 11:17:13 +02:00
kStor2poche 46337e766b No need for the comment as it has actually been tested 2026-09-19 10:19:39 +02:00
Redhpm 5dfc81d5ed Merge pull request #1540 from kStor2poche/some-bits-from-elf.h-and-a-typo-fix
Some bits from elf.h and a typo fix
2026-09-16 15:42:43 +02:00
Redhpm 570fb73737 Merge pull request #1534 from BlueBottleGG/fix-state-eq
Fix: State.__eq__ calls undefined function
This cleans old function calls that remained here.
2026-09-16 14:58:05 +02:00
kStor2poche 7818597551 Allow simplifying the following expr: {@n[id], @m[id][n:m]} with m>n 2026-09-11 16:06:11 +02:00
kStor2poche 3d853c305d Fix negative segment offsets on <64bits systems 2026-09-11 16:05:06 +02:00
kStor2poche b1e4d2811e Some bits from elf.h and a typo fix 2026-09-11 16:03:56 +02:00
serpilliere 1dc5fa9031 Merge pull request #1519 from fkil/master
adjust to removed APIs in ast module for python >=3.14
2026-08-24 10:57:49 +02:00
Johannes c58442c4ba Fix State.__eq__ calling non-existent function edges() on UnionFind. 2026-08-19 01:09:11 +02:00
serpilliere 599d6e1361 Merge pull request #1531 from mrexodia/modern-python
Modernize Python project and GitHub Actions for linux/windows/macos
2026-08-10 12:03:51 +02:00
serpilliere 45fb836108 Merge pull request #1530 from mrexodia/weakref
expression: weak-reference the singleton intern table to bound memory
2026-08-10 12:00:32 +02:00
Duncan Ogilvie 71df018677 Modernize Python project and GitHub Actions for linux/windows/macos 2026-05-31 15:56:18 +02:00
Duncan Ogilvie 6b764babeb expression: weak-reference the singleton intern table to bound memory
Expr.args2expr (the singleton intern cache) held a STRONG reference to every
expression ever created, so it grew without bound on long analyses (symbolic
execution of obfuscated code created millions of transient expressions that were
never freed -> tens of GB, swapping).

Make Expr instances weak-referenceable (add __weakref__ to Expr.__slots__) and
change args2expr / canon_exprs to weakref.WeakValueDictionary / WeakSet, so
transient expressions are garbage-collected once unreferenced while live ones
(still held elsewhere) stay interned -- singleton identity and value equality are
preserved. Subclasses now declare only their own slots (base slots, incl.
__weakref__, are inherited; the previous `Expr.__slots__ + [...]` redeclared base
slots, which both wasted memory and is disallowed for __weakref__).

Measured: a long symbolic-execution analysis dropped from ~13GB (and climbing) to
~155MB peak with no change in results.
2026-05-31 02:47:30 +02:00
serpilliere 24a64bb30a Merge pull request #1524 from w4kfu/x86_imp
[arch/x86] add blendps/mpsadbw/pblendw/pmaxsb/pminsb/pmovsxbq/pmovsxb…
2026-03-26 12:27:54 +01:00
w4kfu a314ac9969 [arch/x86] add blendps/mpsadbw/pblendw/pmaxsb/pminsb/pmovsxbq/pmovsxbw instructions support 2026-03-25 12:40:17 +01:00
Samuel Chevet 4b4837f6e6 Merge pull request #1523 from w4kfu/fix_ci
Fix ci
2026-03-20 18:38:07 +01:00
serpilliere 3255fe547b Merge pull request #1522 from w4kfu/x86_fix_and_instr_add
X86 fix and instr add
2026-03-20 18:35:31 +01:00
w4kfu 11d5c1f90f [arch/x86] add pclmulqdq/pminsd instructions support 2026-03-20 14:26:30 +01:00
w4kfu ff0259866c [arch/x86] add packusdw instructions support 2026-03-20 13:55:05 +01:00
w4kfu ff24b44fdf [arch/x86] add (some) pmovsx familly instructions support 2026-03-20 13:53:18 +01:00
w4kfu 3ca7226793 [arch/x86] add pmaxsd instructions support 2026-03-20 13:48:44 +01:00
w4kfu 247577f776 [arch/x86] add ptest instructions support 2026-03-20 13:45:10 +01:00
w4kfu b03beb7d4c [arch/x86] add phminposuw instructions support 2026-03-20 13:42:47 +01:00
w4kfu 8ca9855c53 [arch/x86] add pmuldq instructions support 2026-03-20 13:37:27 +01:00
w4kfu 06d2920cd2 [arch/x86] add psign instructions support 2026-03-20 11:43:55 +01:00
w4kfu 03c888bc6f [arch/x86] fix pextrq disassembly 2026-03-20 09:06:35 +01:00
Fabian Kilger f7050ec94c adjust to removed APIs in ast module for python >=3.14
ast.Num and ast.Str were deprecated with python 3.8 and are now
removed with python3.14.

This commit replaces uses of these APIs using ast.Constant.
Consequentely, the behavior for python versions <3.8 will break
2026-01-30 09:17:31 +01:00
PerfectLaugh a8a7c88f17 feat(aarch64): add rbit instruction for ir
rbit: Reverse bits in register
2025-02-27 16:31:05 -05:00
PerfectLaugh 42b203798d fix(aarch64): wrong op2 for ctr_el0
op2 for ctr_el0 should be 0b11 instead of 0b00

https://developer.arm.com/documentation/ddi0601/2024-12/AArch64-Registers/CTR-EL0--Cache-Type-Register
2025-02-27 16:30:12 -05:00
serpilliere 2a15c60712 Merge pull request #1506 from serpilliere/updt_llvm_ci
Fix distutils
2025-01-26 15:51:44 +01:00
Fabrice Desclaux d9fb6d58c7 Update setup & tests 2025-01-26 13:17:14 +01:00
serpilliere 0164999126 Merge pull request #1505 from serpilliere/fix_xdot_output
Fix xdot output
2025-01-24 09:19:48 +01:00
Fabrice Desclaux e46b1fc255 Fix xdot output
Signed-off-by: Fabrice Desclaux <[email protected]>
2025-01-24 08:36:24 +01:00
serpilliere cbc722eed8 Merge pull request #1487 from psyirius/fix-ida-bs-get-u8
Fix: `bin_stream::get_u8` method returning bytes
2024-08-20 17:20:08 +02:00
serpilliere 243e4f0c54 Merge pull request #1496 from AeonLucid/fix/aarch64_immhi_page
Fix typo in aarch64_immhi_page decode
2024-08-20 17:12:43 +02:00
serpilliere 7ffe28628a Merge pull request #1502 from W0ni/fix_expression_division
fix expression division
2024-08-20 17:11:44 +02:00
woni 0dfc550534 fix expression division and add test 2024-08-19 20:55:10 +02:00
serpilliere c8aafe1654 Merge pull request #1501 from greenozon/master
Fixes #1500
2024-08-19 11:07:28 +02:00
Alex 1cd118a01b Fixes #1500 2024-08-13 22:43:04 +03:00
serpilliere bece47a799 Merge pull request #1497 from greenozon/master
Fix compilation for FreeBSD OS
2024-08-10 11:35:38 +02:00
AeonLucid 360981951c Add regression test for aarch64_immhi_page 2024-08-10 00:29:57 +02:00
Alex 0928ae3b8e Fix compilation for FreeBSD OS 2024-08-04 12:42:47 +03:00
AeonLucid ed931ea271 Fix typo in aarch64_immhi_page decode 2024-08-03 04:16:26 +02:00