Nicolò Altamura's Avatar

Nicolò Altamura

@nicolo.dev

Reverse Engineer focused on decompilation, disassembly, and software internals. Website: https://nicolo.dev/en/

29
Followers
45
Following
7
Posts
09.02.2025
Joined
Posts Following

Latest posts by Nicolò Altamura @nicolo.dev

Diagram titled “Transformer attention.” It shows three steps of the attention computation with code snippets beside each step. The first step is “Scale factor 1/√dₖ,” highlighting code that computes the reciprocal square root. The second step is “Dot product Q · K,” showing code performing a dot-product accumulation. The third step is “Scaling + max tracking,” highlighting code that multiplies by the scale factor, stores the value, and updates a running maximum. The phrase “Transformer attention” appears prominently in the center.

Diagram titled “Transformer attention.” It shows three steps of the attention computation with code snippets beside each step. The first step is “Scale factor 1/√dₖ,” highlighting code that computes the reciprocal square root. The second step is “Dot product Q · K,” showing code performing a dot-product accumulation. The third step is “Scaling + max tracking,” highlighting code that multiplies by the scale factor, stores the value, and updates a running maximum. The phrase “Transformer attention” appears prominently in the center.

The slides from my @re-verse.io talk, "Challenges in Decompilation and Reverse Engineering of CUDA-based Kernels", are now online!

Slides: nicolo.dev/files/pdf/re...

Plugin: github.com/seekbytes/pt...

08.03.2026 13:06 👍 5 🔁 2 💬 1 📌 0
Disassembling a binary: linear sweep and recursive traversal Building your own set of analysis tools is a great exercise for those who already have some basics and allows you to later move on to implement more targeted analyses in reverse engineering. Even just...

Disassembly algorithms are often a trade-off. My new blog post analyzes linear sweep and recursive traversal, exploring their strengths and weaknesses in a self-built disassemblers.

nicolo.dev/en/blog/disa...

09.02.2025 10:40 👍 3 🔁 1 💬 0 📌 0

I’ll be speaking at RE//verse 2026 about reverse engineering CUDA-based kernels.

Don’t miss the opportunity to learn more about CUDA and challenges for decompilation!

12.01.2026 23:29 👍 3 🔁 1 💬 0 📌 0

It was a great honor to share the stage with Tim to present MBA deobfuscation using our powerful BinaryNinja plugin.

An incredible experience at REcon 2025 — thank you to everyone who made it unforgettable! Check out the recording!

18.10.2025 09:42 👍 4 🔁 1 💬 0 📌 0

We just presented our new Binary Ninja plugin for deobfuscation of Mixed Boolean Arithmetic expressions at REcon25. Check it out!

28.06.2025 14:25 👍 2 🔁 1 💬 0 📌 0

We just presented our new Binary Ninja plugin for deobfuscation of Mixed Boolean Arithmetic expressions at REcon25. Check it out!

28.06.2025 14:25 👍 2 🔁 1 💬 0 📌 0
The Role of the Control Flow Graph in Static Analysis The flow control graph is an important building block in static program analysis for applying a variety of analyses that consider the flow of a program. The “flow”, described informally, represents the evolution of the program during execution time, that is, at which the CPU jumps in order to continue program execution. The graph (also called CFG for brevity) allows the first high-level elements of software to be derived in a general way from a low- or medium-level representation (we cite as an example assembly code or intermediate code). High-level elements include high-level loops (while or for loops) and execution branches (switch, if, else) that can be critical in identifying how execution evolves over time.

Control Flow Graph is a critical element for any binary analysis framework, but its role has been underestimated sometimes (I'm looking at you, Ghidra!).

nicolo.dev/en/blog/role...

19.02.2025 18:27 👍 1 🔁 2 💬 0 📌 0
Video thumbnail

New #BinaryNinja plugin: Obfuscation Analysis

Simplifies arithmetic obfuscation (MBA) directly in the decompiler (see demo below). Also identifies functions with corrupted disassembly.

Co-authored by @nicolo.dev; available in the plugin manager.

github.com/mrphrazer/ob...

25.05.2025 21:39 👍 21 🔁 9 💬 1 📌 1

Excited to announce that together with Tim Blazytko, our talk has been accepted to REcon 2025! Don't miss this opportunity to learn how to break Mixed Boolean Arithmetic expressions :)

07.04.2025 16:14 👍 2 🔁 2 💬 0 📌 0

Excited to announce that together with Tim Blazytko, our talk has been accepted to REcon 2025! Don't miss this opportunity to learn how to break Mixed Boolean Arithmetic expressions :)

07.04.2025 16:14 👍 2 🔁 2 💬 0 📌 0
Post image

At @reconmtl.bsky.social, @nicolo.dev and I discuss the current state of MBA (de)obfuscation and their applications. We’ll also introduce a new #BinaryNinja plugin for simplifying MBAs in the decompiler.

Details: cfp.recon.cx/recon-2025/f...

I'll also give a training: recon.cx/2025/trainin...

07.04.2025 16:12 👍 7 🔁 4 💬 0 📌 1
The Role of the Control Flow Graph in Static Analysis The flow control graph is an important building block in static program analysis for applying a variety of analyses that consider the flow of a program. The “flow”, described informally, represents the evolution of the program during execution time, that is, at which the CPU jumps in order to continue program execution. The graph (also called CFG for brevity) allows the first high-level elements of software to be derived in a general way from a low- or medium-level representation (we cite as an example assembly code or intermediate code). High-level elements include high-level loops (while or for loops) and execution branches (switch, if, else) that can be critical in identifying how execution evolves over time.

Control Flow Graph is a critical element for any binary analysis framework, but its role has been underestimated sometimes (I'm looking at you, Ghidra!).

nicolo.dev/en/blog/role...

19.02.2025 18:27 👍 1 🔁 2 💬 0 📌 0
Disassembling a binary: linear sweep and recursive traversal Building your own set of analysis tools is a great exercise for those who already have some basics and allows you to later move on to implement more targeted analyses in reverse engineering. Even just...

Disassembly algorithms are often a trade-off. My new blog post analyzes linear sweep and recursive traversal, exploring their strengths and weaknesses in a self-built disassemblers.

nicolo.dev/en/blog/disa...

09.02.2025 10:40 👍 3 🔁 1 💬 0 📌 0