sandsifter VS tatradas

Compare sandsifter vs tatradas and see what are their differences.

sandsifter

The x86 processor fuzzer (by xoreaxeaxeax)

tatradas

Disassembler for x86 executables (16-bit and 32-bit) which supports PE, NE, MZ, COM and ELF file formats (by ivankohut)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
sandsifter tatradas
15 1
4,822 3
- -
0.0 0.0
about 2 months ago over 5 years ago
Python Pascal
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sandsifter

Posts with mentions or reviews of sandsifter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-23.
  • Cascade: CPU Fuzzing via Intricate Program Generation
    3 projects | news.ycombinator.com | 23 Oct 2023
  • I found a bug in Intel Skylake processors
    2 projects | news.ycombinator.com | 8 Nov 2021
  • The Cursed Computer Iceberg Meme
    5 projects | /r/ProgrammerHumor | 11 Apr 2021
    sandsifter
  • Speculating the Entire x86-64 Instruction Set in Seconds with One Weird Trick
    2 projects | news.ycombinator.com | 25 Mar 2021
    This is a really clever technique! I was impressed by sandsifter[1] when it originally came out, and this seems an awful lot faster and less prone to false negatives (since it's purely speculative and doesn't require sandsifter's `#PF` hack).

    At the risk of unwarranted self-promotion: the other side of this equation is fidelity in software instruction set decoders. x86's massive size and layers of historical complexity make it among the most difficult instruction formats to accurately decode; I've spent a good part of the last two years working on a fuzzer that's discovered thousands of bugs in various popular x86 decoders[2][3].

    [1]: https://github.com/xoreaxeaxeax/sandsifter

    [2]: https://github.com/trailofbits/mishegos

    [3]: https://ww.easychair.org/publications/preprint_download/1LHr

  • Capstone Disassembler Framework
    3 projects | news.ycombinator.com | 5 Mar 2021
    Idea:

    If any assembler/disassembler author/team out there wants to produce an assembler/disassembler which is authoritative (difficult to do on x86, because there are so many different possible combinations of instruction encoding, https://github.com/xoreaxeaxeax/sandsifter : "Typically, several million undocumented instructions on your processor will be found, but these generally fall into a small number of different groups.") -- then what they'd do is to create a third program -- which "pits" the output of Assembler A vs. Assembler B, Disassembler A vs. Disassembler B...

    That is, between any two assemblers (for the same CPU architecture/instruction set), or any two disassemblers, where are the anomalies?

    If we think about an assembler as a simple function, y=f(x), that is, I give it a string of ascii bytes as input (x), and I get a string (1..n) binary bytes as output (y),

  • Tatradas – Disassembler for x86 executables written in Delphi/FreePascal
    3 projects | news.ycombinator.com | 3 Feb 2021
    edge via patent and other legal protections" constantly-expanding-the-instruction-set approach.

    So the issue, at least in x86-land is, "Who is the absolute source of truth with respect to the instruction set?"

    Also, remember that Christopher Domas (Google him, you'll find a whole lot of interesting stuff) -- discovered that x86 processors typically can and do implement all sorts of undocumented instructions:

    https://github.com/xoreaxeaxeax/sandsifter

    >"Typically, several million undocumented instructions on your processor will be found, but these generally fall into a small number of different groups. After binning the anomalies, the summarize tool attempts to assign each instruction to an issue category:

    o Software bug (for example, a bug in your hypervisor or disassembler),

    o Hardware bug (a bug in your CPU), or

    o Undocumented instruction (an instruction that exists in the processor, but is not acknowledged by the manufacturer)

    Anyway, thanks for the link! (The second one! )

  • sandsifter — Breaking the x86 ISA
    2 projects | /r/PaperArchive | 21 Dec 2020
    A discussion of the techniques and results can be found in the Black Hat presentation. Technical details are described in the whitepaper. Slides from the Black Hat presentation are here.
    2 projects | /r/PaperArchive | 21 Dec 2020

tatradas

Posts with mentions or reviews of tatradas. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-02-03.

What are some alternatives?

When comparing sandsifter and tatradas you can also consider the following projects:

trapcc - Computing with traps

fuzzing - Tutorials, examples, discussions, research proposals, and other resources related to fuzzing

lazarus - Free Pascal Lazarus Project - Sync'ed with Lazarus SubVersion trunk every 15 minutes

capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. [Moved to: https://github.com/capstone-engine/capstone]

docs - Hardware and software docs / wiki

wcc - The Witchcraft Compiler Collection

sail-riscv - Sail RISC-V model

cmake-raytracer - Ray tracer written in pure CMake

rust - Empowering everyone to build reliable and efficient software.

mishegos - A differential fuzzer for x86 decoders

riscv-boom - SonicBOOM: The Berkeley Out-of-Order Machine