A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. The output of disassembly is typically formatted for human-readability rather than for input to an assembler, making disassemblers primarily a reverse-engineering tool. Common uses include analyzing the output of high-level programming language compilers and their optimizations, recovering source code when the original is lost, performing malware analysis, modifying software (such as binary patching), and software cracking.
Deasembler, dezasembler (czasem „disasembler” od ang. disassembler) – program komputerowy, który tłumaczy język maszynowy lub kod bajtowy na język asemblera (tj. do postaci mnemonicznej). Deasembler jest niskopoziomowym odpowiednikiem dekompilatora. Warunkiem prawidłowej dezasemblacji jest posiadanie przez dezasembler informacji o rozmieszczeniu kodu w analizowanym zbiorze danych (zazwyczaj pliku) – wynika to z braku możliwości skutecznego odróżnienia danych od kodu maszynowego. Do uzyskania tych informacji niektóre dezasemblery używają metadanych zawartych w plikach wykonywalnych oraz zestawu heurystyk. Kod maszynowy może być dodatkowo zaciemniony – w takim wypadku jego poprawna, automatyczna deasemblacja przy użyciu ogólnych dezasemblerów jest utrudniona lub niemożliwa. Deasembler nie jest również w stanie odzyskać komentarzy ani stałych użytych w oryginalnym kodzie analizowanego programu; dane te są usuwane w procesie kompilacji lub asemblacji kodu do postaci kodu maszynowego. Większość debuggerów posiada wbudowane dezasemblery; dotyczy to szczególnie debuggerów przystosowanych do pracy z kodem maszynowym lub z programami stworzonymi w językach wysokiego poziomu, ale skompilowanych do postaci kodu maszynowego.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).