modificar un net con reflexil

Upload: manolo-palacios

Post on 22-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Modificar Un NET Con Reflexil

    1/8

    Saludos familia.

    Hace unos dias, djKamal pidi ayuda para modificar ejecutables en .NET. El objetivo basico por el que queramos modificar un

    ejecutable, es cambiarle el aspecto visual del programa una ve iniciado quias cambiar su funcionamiento modo de trabajo.!maginemos una accion evento que deseemos cambiar cuando se inicie el formulario, cuando pulsemos un boton incluso cambiarcadenas de te"to que se utilien en el programa. En varios tutoriales sobre los .NET ya se describe cmo se pueden modificarutiando la utilidad #!ldasm# para desensamblar el ejecutable y su posterior re$ensamblado utiliando la orden #!lasm# bajo linea decomandos tipo msdos. %o les presento otra forma algo mas cmoda para tales fines. Se trata del plugin #&efle"il# para &eflector. 'on&eflector, podemos desensamblar un ejecutable NET para su estudio y seguido, utiliando el plugin #&efle"il#, modificar a nuestroantojo el ejecutable y salvar el resultado de forma sencilla. Este tutorial es un acercamiento presentacion del modo en el quetenemos que trabajar con (ste plugin pero no representa una solucion al )**+. Tengamos en cuenta que todos los ejecutables en .NETno funcionan de igual forma pues pueden estar protegidos con ofuscadores por ejemplo comprimidos y para tratar dicosejecutables necesitemos otros metodos. -e todas formas, podemos en general, utiliar el plugin para cualquier NET y si la protecciondel ejecutable .NET lo requiere, seguiremos utiliando mas metodos asta que nuestro ejecutable ya modificado quede totalmentefuncional. ara (ste tutorial, program( una aplicacin que podr/a simular algun programa con ciertas funcionalidades pero conalgunos detalles que desear/amos cambiar0

    1ijense en esto0 es una aplicacin que simula a cualquier otra en NET pero0 )2. Nos interesar/a cambiar el estado del boton que en estemomento est3 desabilitado, y que por supuesto queremos abilitarlo. 42. 5na etiqueta a la que le cambiaremos el te"to por algo mascercano a nosotros los 6atinos y 72. 5n timer que act8a sobre el programa y que lo cierra cuando pasan )9 segundos.:sto puederecordarnos el comportamiento de un programa estando en modo #No registrado# ;$-

  • 7/24/2019 Modificar Un NET Con Reflexil

    2/8

    a #?ie@# y clicAamos en #adiremos el plugin

  • 7/24/2019 Modificar Un NET Con Reflexil

    3/8

    Bien, aora cargamos en &eflector el programa de pruebas y se nos presenta lo siguiente0

    Tenemos en la ventana de la iquierda, el programa de pruebas cargado y en la ventana de la iquierda el desensamblado de dicoprograma. El programa cuando se ejecuta, inicialia los componentes y sus valores para que por ejemplo, el boton est( desabilitadoas/ que tendr( que seleccionar en la ventana de la iquierda precisamente eso0 la inicialiacion de los componentes. Si lo aprecian, yaest3 selecionado en grisaceo en la ventana iquierda y en la ventana de la dereca tendremos que buscar dnde se da la orden para queel boton est( desabilitado

  • 7/24/2019 Modificar Un NET Con Reflexil

    4/8

    Bien, a/ se vi la orden para desabilitar el boton y m3s abajo, el te"to que debe presentar la etiqueta. Cueremos cambiar eso y aqu/es donde entra en juego el plugin &efle"il. En &eflector, pulsamos el men8 #Tools# y activamos el plugin

    'uando lo activamos, la ventana de la iquierda en &eflector se divide en dos y a partir de aora disponemos de los opcodes y losoperandos con los que trabajan dicos opcodes. 'ada linea obviamente representa una instruccin. ues bien, con la barra dedesplaamiento buscamos dnde se ordena que el boton est( desabilitado y lo encontramos aqu/

  • 7/24/2019 Modificar Un NET Con Reflexil

    5/8

    En la imagen anterior,en la ventana de arriba el desensamblado y en la ventana de abajo las instrucciones donde se toma el boton. Secarga un integro y se llama a la orden que ace que est( abilitado no abilitado con #setDEnabled# y como valor un booleano. En lalinea *b se carga un * como integro F#ldc.i.*#G y ese cero ser3 el booleano #1alse# que se le entrega a #setDEnabled#.

    Necesitar/amos cambiar el integro que se carga por un #)# as/ que si seleccionamos la linea *b y acemos clicA con el boton derecodel raton, para editar esa linea

    :se es el opcode que tenemos que cambiar. 'ambiamos el #*# por un #)# y pulsamos el boton #5pdate#

    -espues de ello, ya vemos cmo qued cambiado

    Bien, aora busquemos el te"to que debe presentar la etiqueta

  • 7/24/2019 Modificar Un NET Con Reflexil

    6/8

  • 7/24/2019 Modificar Un NET Con Reflexil

    7/8

    %a tenemos los tres detalles modificados.

  • 7/24/2019 Modificar Un NET Con Reflexil

    8/8

    Ibviamente la prueba de que el boton est3 abilitado, es que al pulsarlo, nos sale un sgBo" que yo program( como resultado delevento de pulsacion del boton. adir instrucciones.

    Espero que este tuto le sirva a alguien que le interese los .NET y que poco a poco al resto de listeros que lo odian, se vayan metiendopaso a paso pues cuanta mas ayuda y erramientas tengamos, mas atractivo puede resultar atacar un .NET. Saludos y asta lapro"imaM