Skip to content
EntityQ279650· pop 25· linked from 134 articles

反汇编器

Sign in to save

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.

Wikidata facts

Subclass of
translator
Show 6 more facts
topic's main category
Category:Disassemblers
opposite of
assembler
product or material produced
assembly language
different from
decompiler
Sources (1)

via Wikidata · CC0

Article · 中文

反汇编器(disassembler)是一种将机器语言转换为汇编语言的计算机程序——这与汇编器的目的相反。反汇编器与反编译器不同,反编译器的目标是高级语言而非汇编语言。反汇编器的反汇编输出通常格式化为适合人类阅读,而非用作汇编器的输入源,因此它主要是一个逆向工程工具。 汇编语言源代码通常允许使用常量和程序员注释,而这些通常会在汇编器汇编的机器语言中被移除。因此,以机器代码为基础完成的反汇编结果将没有这些常量和注释,阅读输出结果将比阅读源代码更有难度。一些反汇编器提供了内置的代码注释功能,其生成的输出增补了有关被调用API函数或被调用函数参数的注释。一些反汇编器会利用对象文件(例如ELF)中存在的信息。例如,IDA允许人类用户在交互式会话中为代码的值或区域标记助记符号。 反汇编不是一门精准科学:在有可变宽度指令的复杂指令集(CISC)平台上,使用级编程或存在程序自修改代码时,单个程序可能有两个或多个合理的反汇编结果。程序在运行期间决定实际执行哪个指令被歸約到停机问题,这是已知无法解决的问题。

Abstract from DBpedia / Wikipedia · CC BY-SA