# Dekompilacja z użyciem modeli językowych

EN: **Neural and LLM-based decompilation** · id `llmdecompile` · aliases: LLM decompilation, neural decompilation, decompiler output refinement, binary-to-source translation, dekompilacja neuronowa

Path: [AI Atlas](https://aiatlasgraph.com/llms.txt) › [AI w cyberbezpieczeństwie](https://aiatlasgraph.com/t/cyberai.md) › [Analiza programów binarnych i inżynieria wsteczna z AI](https://aiatlasgraph.com/t/binaryai.md) › Dekompilacja z użyciem modeli językowych

## Description

- PL: Przekładanie kodu maszynowego lub wyniku klasycznego dekompilatora na czytelny, kompilowalny kod źródłowy przy pomocy modeli językowych.
- EN: Translating machine code, or a classic decompiler's output, into readable, compilable source code with language models.

## In one sentence

- PL: Model zamienia nieczytelny program na kod zbliżony do tego, co mógł napisać człowiek, z pętlami, warunkami i sensownymi nazwami.
- EN: A model turns an unreadable program into code close to what a person might have written, with loops, conditions and sensible names.

## Problem it solves

- PL: Klasyczne dekompilatory dają kod, który formalnie odpowiada programowi, ale jest tak zawiły, że trudno go zrozumieć lub ponownie uruchomić.
- EN: Classic decompilers produce code that formally matches the program but is so convoluted it's hard to understand or run again.

## What it does

- PL: Jak redaktor poprawiający dosłowny przekład maszynowy: sens zostaje, ale tekst wreszcie da się czytać.
- EN: Like an editor polishing a word-for-word machine translation: the meaning stays, but the text finally reads well.

## Everyday example

- PL: Firma ma starą aplikację bez kodu źródłowego; model odtwarza z niej czytelny kod, który programiści kompilują i porównują z działaniem oryginału.
- EN: A company has an old app without source code; a model reconstructs readable code that developers compile and compare against the original's behaviour.

## This concerns you if you…

- PL: analizujesz programy bez kodu źródłowego
- PL: używasz klasycznego dekompilatora i męczysz się z jego wynikiem
- PL: badasz tłumaczenie między językami programowania
- EN: analyse programs without source code
- EN: use a classic decompiler and struggle with its output
- EN: research translation between programming languages

## Keywords

LLM4Decompile · Ghidra · ExeBench · Decompile-Eval · HumanEval · re-executability · decompiler refinement · x86-64

## How it works

- PL: Model uczy się na milionach par: kod źródłowy i jego wersja po kompilacji na różnych poziomach optymalizacji. W trybie bezpośrednim tłumaczy asembler na kod źródłowy; w trybie poprawiania dostaje wynik klasycznego dekompilatora i go upraszcza. Oceną jest ponowna kompilowalność i to, czy kod przechodzi testy oryginału.
- EN: The model trains on millions of pairs: source code and its compiled form at various optimisation levels. In direct mode it translates assembly into source; in refinement mode it takes a classic decompiler's output and simplifies it. It is scored on recompilability and on whether the code passes the original's tests.

## Limits

- PL: Skuteczność spada przy wysokich poziomach optymalizacji, długich funkcjach i zaciemnionym kodzie. Wynik może wyglądać przekonująco, a działać inaczej niż oryginał. Większość badań dotyczy pojedynczych funkcji w C na jednej architekturze, a nie całych programów.
- EN: Accuracy drops at high optimisation levels, on long functions and on obfuscated code. Output can look convincing yet behave differently from the original. Most research covers single C functions on one architecture, not whole programs.

## Key terms

- PL: **ponowna wykonywalność**: Czy odtworzony kod kompiluje się i przechodzi testy oryginału.
- PL: **poziom optymalizacji**: Jak mocno kompilator przekształcił kod, utrudniając jego odczytanie.
- PL: **asembler**: Czytelny dla ludzi zapis instrukcji procesora.
- EN: **re-executability**: Whether reconstructed code compiles and passes the original's tests.
- EN: **optimisation level**: How heavily the compiler transformed code, making it harder to read.
- EN: **assembly**: A human-readable notation for processor instructions.

## Know first

- [Enkoder, dekoder i enkoder–dekoder (BERT, GPT, T5) (Encoder-only, decoder-only and encoder–decoder models)](https://aiatlasgraph.com/t/transformerfamilies.md)
- [Dotrenowanie na tekstach z dziedziny (continued pretraining) (Continued (domain-adaptive) pretraining)](https://aiatlasgraph.com/t/continuedpretraining.md)

## Sources

- [LLM4Decompile: Decompiling Binary Code with Large Language Models](<https://arxiv.org/abs/2403.05286>) `tan-llm4decompile-2024` · by Hanzhuo Tan, Qi Luo, Jing Li, Yuqun Zhang

---

AI Atlas revision 122 (2026-10-30) · HTML: https://aiatlasgraph.com/t/llmdecompile · index: https://aiatlasgraph.com/llms.txt · everything: https://aiatlasgraph.com/llms-full.txt · updated 2026-10-30
