lunes, 30 de septiembre de 2013

Meta-Compiladores y Decompiladores


Metacompilador.


Es un programa que recibe un lenguaje y genera un compilador para ese lenguaje. Un ejemplo es: Flex

   - ¿Qué es y qué hace FLEX?
La característica más destacable de las herramientas que vamos a utilizar es su capacidad para generar programas de forma automática.
FLEX es un generador de programas para lo cual toma una especificación léxica basada en expresiones regulares y produce un programa (Analizador) que encuentra en un texto (por ejemplo: entrada.txt) aquellas secuencias de caracteres que concuerdan con alguna de las expresiones regulares y ejecuta la acción que le haya sido asociada en la especificación léxica.

Sitio de descarga:


Decompilador.

Programa que recibe como entrada código máquina y lo traduce a un lenguaje de alto nivel.

Tipos de Decompiladores:
Código máquina
Ensamblador
Delphi
Visual Basic
Java
.NET
Python
Flash
C/C++
etc.

Aquí listamos unos ejemplos de decompiladores.

Decompiladores Java
  •  Jdec (libre) 
  • JODE (libre)
  • Jad (gratis)
  • Mocha (gratis, obsoleto)
  • JreversePro (libre)
  • ClassCracker 3 (comercial)
  • DJ Java Decompiler (gratis)
  • Más en http://java-decompiler.com DEMO!

Decompiladores .NET
  •  Salamander (.NET 2.0 comercial)
  •  Anakrino (.NET 1.1)
  •  LSW DotNet-Lab (decompilador, ofuscador y otros)
  •  Lutz Roeders Programming.NET (comercial)
  •  Dis# (.NET 2.0; comercial)
  •  Spices.net (.NET 2.0 decompilador, ofuscador y otros; comercial)
  •  Decompiler.NET (.NET 2.0 comercial)

Decompiladores Flash
  •  Sothink SWF Decompiler (gratis)http://www.sothink.com/product/flashdecompiler/
  •  Gordon Flash Decompiler (comercial) http://www.futurecandy.net/ DEMO!

Decompiladores C
  • dcc (i386,DOS) http://www.itee.uq.edu.au/~cristina/dcc.html#example 
  • boomerang http://boomerang.sourceforge.net/cando.php?hidemenu 
  • DisC (TurboC) http://www.debugmode.com/dcompile/disc.htm

Algunos de los links pueden o no estar vigentes al momento de su uso

No hay comentarios.:

Publicar un comentario