Ddisasm

Latest version: v1.8.0

Safety actively analyzes 623518 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.7.1

* Prefer LOCAL symbols over GLOBAL ones when selecting symbols for symbolic
expressions for ISAs other than MIPS.
* Support GTIRB sections with holes (byte intervals only covering part of the section).
* Use pre-existing code blocks as hints when disassembling a RAW binary.
* Better data access computation for MIPS binaries.
* Detect incremental linking regions in PE binaries.
* Create elfStackSize and elfStackExec auxdata from ELF PT_GNU_STACK segments.
* In PE binaries, every exported code symbol is considered a function entry.
* Fixed bug where `elfSymbolTabIdxInfo` aux data could refer to non-existent UUIDs.
* Fixed unrecognized `tls_get_addr` pattern that could result in missed
symbolic expressions.
* Binaries with zero-sized `OBJECT` symbols no longer produce missing code
blocks.
* `$t` symbols in ARM binaries now force creation of Thumb-mode code blocks.
* In PE binaries, duplicate imports no longer create duplicate symbols.
* Added pattern to match missed symbolic data in pointer arrays.
* Fix symbols associated to functions (Auxdata functionNames) for PE binaries
when Ddisasm is run with option `-F`.
* Requires gtirb >=1.12.1, gtirb-pprinter >=2.0.0

1.7.0

* Update code inference to use weighted interval scheduling to resolve blocks;
this improves code inference results, especially on ARM.
* ARM: Discover unreferenced code blocks occurring after literal pools.
* Refactored CFG inference. It now infers more kinds of indirect calls and
and branches using value analysis, data accesses, and relocations.
* ELF: Infer `SHARED` or `PIE` for `DYN` binary type
* ELF: Generate `elfDynamicInit` and `elfDynamicFini` auxdata

1.6.0

* ARM: Improve code inference using unwind information from .ARM.exidx section
* Replace symbolic expression attributes with composable labels.
* ddisasm output now displays runtimes of "load", "compute", and "transform"
phases of each analysis pass
* Add known_block and impossible_block passes to code inference.
* Various ARM32 code inference improvements.
* Various command-line options now apply to all datalog passes:
* `--debug-dir` creates subdirectories for each datalog pass
* `--interpreter` argument now specifies the source code repository's root
directory, defaults to the current working directory, and enables the
interpreter for all datalog passes
* `--profile` specifies a directory name where profiles for each datalog pass
is written
* Entries in files provided to `--hints` should namespace relation names using
the name of the analysis pass, e.g., `disassembly.invalid`.
* `--with-souffle-relations` keeps relations from all passes; entries in the
`souffleFacts` and `souffleOutputs` auxdata are now namespaced
with the name of the analysis pass, e.g., `disassembly.block_points`.
* Add support for x86-32 dynamic TLS.
* Improve IFUNC symbolic expression symbol selection.
* Several refactorings towards spliting code inference and symbolization.
* Refactor ELF symbol reading.
* Add "overlay" AuxData table.
* Update Souffle to version 2.4.
* Add cmake option `DDISASM_GENERATE_MANY` to use Souffle's `--generate-many`
code generation option; this should yield much faster incremental build times
for ddisasm.
* Utilize Souffle's feature to prune intermediate relations to reduce ddisasm's
peak memory usage; processing large binaries can use up to ~20% less memory.
* Update LIEF to 0.13.0.
* Add Linux Python package for ddisasm.

1.5.6

* Discover ARM Thumb blocks at section start in stripped binaries.
* Bugfix for undefined TLS symbol relocations.
* Add ARM `HLT` and `TRAP` instruction support.
* Bugfix for aliased copy-relocations.
* Bugfix to avoid propagating synchronous accesses across symbols.
* Add build option for compiled Souffle profile generation.
* Improved x86-64 dynamic TLS support.
* Various logic improvements for GLIBC rewriting support.

1.5.5

* Update generated `elfSymbolVersions` auxdata.
* Add "--ignore-errors" argument.
* Update LIEF to version 0.12.3.

1.5.4

* Add PE32 Safe Structured Exception Handling (SAFESEH) support.
* Update LIEF to version 0.12.1.
* Update Souffle to version 2.3.
* Ubuntu 18 and gcc7 are no longer supported
* ARM64 support improvements:
* Handle single-byte jump tables where the value should be interpreted as a
signed difference.
* Prevent generation of incorrect :lo12: attributes in post-index operands.
* Add "--hints" argument.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.