Desmontador
Um desmontador, desassemblador ou disassembler é um programa de computador que converte código de máquina em código escrito em linguagem de montagem. A diferença entre um desmontador e um descompilador é que este último reverte a compilação de uma linguagem de alto nível, enquanto o primeiro reverte a montagem de uma linguagem de montagem.
O código fonte em linguagem de montagem geralmente contém constantes simbólicas, comentários e rótulos de endereçamento que são normalmente removidos do código de máquina gerado. Assim, o desmontador consegue reverter apenas parcialmente o processo de montagem, pois o código fonte produzido não irá conter essas constantes e comentários. Por causa disso, o código produzido por um desmontador é mais difícil de entender (para um humano) que o código fonte original, com suas anotações.
[editar] Ver também
[editar] Ligações externas
- transformation Wiki on disassembly
- OpenRCE: Various Disassembler Resources and Plug-ins
- The free country
- Programmer's heaven
[editar] Disassemblers
- Muitos Depuradores incluem um desmontador, ex. objdump, parte do GNU Binutils, ou e2dbg, o Depurador Embutido ELF parte do ELF shell framework.
- BORG Desmontador com código fonte
- RosAsm - 32 bit Assembler (O Bottom Up Assembler que é grátis/GPL). Apesar dessa ferramenta ser basicamente um montador, ela também contém um desmontador muito poderoso (porém automatizado) que é capaz de reconstruir uma grande variedade de pequenas aplicações. Suporte para desmontagem de grandes aplicações ainda está em desenvolvimento.
- Interactive Disassembler - desmontador interativo (versão comercial).
- Sourcer - um desmontador baseado em arquivos.
- The Bastard Disassembler - Desmontador Linux. Não tem um front-end utilizável ainda, mas tem um modo de comando de linha interativo.
- x86 Disassembler Library - A biblioteca que na qual o Bastard é baseado.
- The Libasm do ELF shell (elfsh) vem com avançadas funcionalidades de resolução simbólica.
- Kopi Project
- DASMx - desmontador freeware comumente usado para sistemas microprocessados de 8 bits.
- PVDasm - Proview (PVDasm) é um desmontador online grátis, Multi-Cpu (x86/Chip8). Com funcionalidades como: Editor de Executáveis, Gerenciador de Processos e Dumper, Plugin SDK, MASM Generador de Código Fonte, Analisador de arquivos MAP, Editor Hexadecimal, Reconhecimento de Parametros de Funções e outros.
- Desmontador para Classes Java
- HT Editor - Editor Binário para console Linux and Windows.
- Desmontador PE Explorer - um desmontador de arquivos executáveis win32, projetado para reconstruir o código fonte da máquina binária win32 PE (Executável Portátil)(Portable Executable). Arquivos como .EXE, .DLL, Driver de dispositivo (.SYS), Controles OCX (OLE custom controls), and bibliotecas Borland (.dpl & .bpl).
- Udis86 Udis86 é uma biblioteca para desmontador minimalista fácil-de-usar para arquiteturas x86-IA32 e x86-AMD64, projetado para ajudar no desenvolvimento de projetos que envolvem análise de código binário.
- diStorm64 diStorm é uma biblioteca de desmontador código aberto altamente optimizado (x86 and AMD64) para streams.
- PostSharp - Desmonta módulos .NET para um modelo de objetos, deixa modificá-lo e remontá-o.
- OllyDbg - Pequeno, grátis e muito completo. Desmontador/Depurador para Win32.
- ChARMeD Disassembler - Um demonstador freeware para Windows Mobile, Pocket PC e Windows CE, rodando CPU ARM. Também possui uma versão para Windows.
- Desmontador de Programas Win32 - Desmontador código aberto para exes and dlls (i.e. PE) escrito por Sang Cho.
- Win32dasm
- BIEW - Desmontador para AVR/Java/Athlon64/Pentium 4.