• Lunes 18 de Noviembre de 2024, 03:19

Autor Tema:  Ensamblador .net  (Leído 2114 veces)

Last Dragon

  • Miembro MUY activo
  • ***
  • Mensajes: 109
    • Ver Perfil
    • http://www.lastdragon.net
Ensamblador .net
« en: Sábado 19 de Agosto de 2006, 19:10 »
0
El ensamblador .NET orientado a objetos =)

Este ensamblador esta limpio que prácticamente puedo leerlo en C#, la parte mala es que siendo tan limpio al lenguaje sin requerir de herramientas adicionales se podría reescribir el código C# con solo leer el ensamblador y siendo mas ambiciosos se podría escribir una herramienta que desensamble un EXE y obtenga el código C# con punto y coma de cada parte del código

Código de un MSGBOX

Código: Text
  1. .assembly msgbox
  2. {
  3. }
  4.  
  5. .namespace msgbox
  6. {
  7.   .class public auto ansi beforefieldinit mensaje
  8.     extends [mscorlib]System.Object
  9.   {
  10.  
  11.  
  12.     .method public hidebysig  specialname  rtspecialname
  13.            instance default void .ctor ()  cil managed
  14.     {
  15.        
  16.   .maxstack 8
  17.   IL_0000:  ldarg.0
  18.   IL_0001:  call instance void object::.ctor()
  19.   IL_0006:  ldstr "Hola programadores de Solo Codigo"
  20.   IL_000b:  ldstr "Ventana de Mensajes"
  21.   IL_0010:  ldc.i4.0
  22.   IL_0011:  call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult class
  23.  
  24. [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype
  25.  
  26. [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons)
  27.   IL_0016:  pop
  28.   IL_0017:  ret
  29.     }
  30.  
  31.  
  32.     .method private static  hidebysig
  33.            default void Main (string[] args)  cil managed
  34.     {
  35.        
  36.   .entrypoint
  37.  
  38.   .maxstack 8
  39.   IL_0000:  newobj instance void class msgbox.mensaje::.ctor()
  40.   IL_0005:  pop
  41.   IL_0006:  ret
  42.     }
  43.  
  44.   }
  45. }
  46.  

Compilando con MONO en Windows

Servidor Personal de Last Dragon



www.lastdragon.net