Binary type inference in Ghidra

Binary type inference in Ghidra

By Ian Smith Trail of Bits is releasing BTIGhidra, a Ghidra extension that helps reverse engineers by inferring type information from binaries. The analysis is inter-procedural, propagating and resolving type constraints between ...

Finding bugs in C code with Multi-Level IR and VAST

Intermediate languages (IRs) are what reverse engineers and vulnerability researchers use to see the forest for the trees. IRs are used to view programs at different abstraction layers, so that analysis can ...
Towards Practical Security Optimizations for Binaries

Towards Practical Security Optimizations for Binaries

By Michael D. Brown, Senior Security Engineer To be thus is nothing, but to be safely thus. (Macbeth: 3.1) It’s not enough that compilers generate efficient code, they must also generate safe ...
Toward a Best-of-Both-Worlds Binary Disassembler

Toward a Best-of-Both-Worlds Binary Disassembler

By Stefan Nagy This past winter, I was fortunate to have the opportunity to work for Trail of Bits as a graduate student intern under the supervision of Peter Goodman and Artem ...
Playing with GuLoader Anti-VM techniques

Playing with GuLoader Anti-VM techniques

GuLoader is one of the most widely used loaders to distribute malware throughout 2020. Among the malware families distributed by GuLoader, we can find FormBook, AgentTesla and other commodity malware. A recent ...
svcli

Verifying Windows binaries, without Windows

TL;DR: We’ve open-sourced a new library, μthenticode, for verifying Authenticode signatures on Windows PE binaries without a Windows machine. We’ve also integrated it into recent builds of Winchecksec, so that you can ...
Some of mishegos's output, visualized.

Destroying x86_64 instruction decoders with differential fuzzing

| | fuzzing, reversing
TL;DR: x86_64 decoding is hard, and the number and variety of implementations available for it makes it uniquely suited to differential fuzzing. We’re open sourcing mishegos, a differential fuzzer for instruction decoders ...
binja1

Reverse Taint Analysis Using Binary Ninja

by Henry Wildermuth, Horace Mann High School We open-sourced a set of static analysis tools, KRFAnalysis, that analyze and triage output from our system call (syscall) fault injection tool KRF. Now you ...

Announcing Automated Reverse Engineering Trainings

Consider our modular trainings. They can be organized to suit your company’s needs. You choose the number of skills and days to spend honing them ...
llil_example

Vulnerability Modeling with Binary Ninja

Plenty of static analyzers can perform vulnerability discovery on source code, but what if you only have the binary? How can we model a vulnerability and then check a binary to see ...