SlideShare una empresa de Scribd logo
1 de 24
A brief introduction to reversing code


              Longinos Recuero Bustos
         http://longinox.blogspot.com.es


         longinos.recuero.bustos@gmail.com


         @L0ngin0s




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
definición

     Es el proceso para el descubrimiento de los
     principios tecnológicos de un dispositivo,
                  objeto o sistema


                                     Necesidad            Proceso de           Producto o
                                     o problema           Ingeniería            solución



       Principios           Proceso de
                            Ing. Inversa           Producto
     tecnológicos




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
dominios


      Ingeniería inversa del hardware

      Ingeniería inversa del software




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Motivaciones / usos

    Compatibilidad e Interoperabilidad

    Espionaje: industrial, militar.

    Documentación.

    Auditorias de seguridad.

    Eliminación de restricciones.

    Análisis: forense, malware, ...

    Académicos.

    Curiosidad.

4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
requisitos




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conocimientos

    Arquitectura de computadores (x86, x64, ARM, ...)

         Opcodes

         Registros

         Direccionamientos

         Endianess

         Interrupciones, ...

    Programación (Assembler, C++, ...)

         MOV AL, 61h               ; Load AL with 97 decimal (61 hex)

4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conocimientos

    Sistemas operativos:

         Kernel

         Anillos de privilegio

         Subprocesos, Hilos

         API

         Mensajes

        ...



4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conocimientos

    Estructura de los ficheros binarios:

               PE (Portable and executable)

               ELF (Executable and Linkable Format)

               ...




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conocimientos

    Estructuras del SS.OO:

               TIB o TEB (Thread Information Block)

               PEB (Process Information Block)

               IAT (Import Address Table)

               TLS (Thread Local Storage)

               ...




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
herramientas


       Descompiladores (Decompilers)
          ILSpy, DJ Java Decompiler, ...

       Desensambladores (Disassemblers)
          IDA Pro, OllyDbg, ...

       Depuradores (Debugguers)
          IDA Pro, OllyDbg, ...

       Editores PE
          PEEditor, CCF Explorer Sute




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
herramientas


       Editores hexadecimales
          Ultra Edit, HxD, ...

       Dumps de memoria
          LordPE Deluxe, ProcDump, ...

       Monitorización
          PortMon, Process Explorer, ...

       Analizadores
          RDG Packer Detector, PEiD, ...




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
aproximaciones

    Caja blanca

         Análisis estático.

    Caja negra

         Análisis funcional.

    Caja gris

         Caja blanca + Caja negra.




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Learn by example



    Decompilación y análisis estático con
                    ILSpy




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Ollydbg: Breve descripción

    Desensamblador   /   depurador   de   32-bits                                            para
   ejecutables Microsoft Windows (.Exe, .Dll, ...)

    Reconoce:
       Rutinas
       Procedimientos
       Llamadas a las APIs
       Interrupciones
       Instrucciones
       ...

    Depura aplicaciones multiThread.

    Parchea archivos ejecutables.


4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Learn by example


          Desensamblado y análisis dinámico
                     con OllyDbg




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Learn by example




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Learn by example




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Learn by example




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conclusiones




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
Conclusiones

    No   tengo   talentos    especiales,                                  pero        sí      soy
   profundamente curioso. Albert Einstein

    If a program runs, then it’s crackable

    Métodos de protección:
      o Ofuscación
      o AntiDebug
      o AntiTracing
      o AntiDumping (Packing / Unpacking)
          Nanomites (Armadillo)
               Stolen Bytes (ASProtect)
               Virtual Machines (Themida)
        o Criptograficos, ...

    !Muchas horas de diversión!
4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
agradecimientos




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
agradecimientos


                   A la organización de Navaja Negra


                   A sus patrocinadores



                    Muy   especialmente                                        a         todos
                  vosotros!!!




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
¿preguntas?




4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
The end




                   ALBACETE – 0x01 / 0x0C / 0x07DC



4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65

Más contenido relacionado

Más de navajanegra

Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficasnavajanegra
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudnavajanegra
 
Divulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación TecnológicaDivulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación Tecnológicanavajanegra
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nochenavajanegra
 
1100101001001110
11001010010011101100101001001110
1100101001001110navajanegra
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técniconavajanegra
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5navajanegra
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?navajanegra
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsnavajanegra
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensicnavajanegra
 
HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!navajanegra
 
Show me your intents
Show me your intentsShow me your intents
Show me your intentsnavajanegra
 
Take a walk on the wild side
Take a walk on the wild sideTake a walk on the wild side
Take a walk on the wild sidenavajanegra
 
From mail to jail: Exploit your ex-girlfriend
From mail to jail: Exploit your ex-girlfriendFrom mail to jail: Exploit your ex-girlfriend
From mail to jail: Exploit your ex-girlfriendnavajanegra
 
All your appliances are belong to us
All your appliances are belong to usAll your appliances are belong to us
All your appliances are belong to usnavajanegra
 
IPv6 vs. IDS, se aceptan apuestas...
IPv6 vs. IDS, se aceptan apuestas...IPv6 vs. IDS, se aceptan apuestas...
IPv6 vs. IDS, se aceptan apuestas...navajanegra
 
Charla honeypots
Charla honeypotsCharla honeypots
Charla honeypotsnavajanegra
 
Charla antifingerprinting
Charla antifingerprintingCharla antifingerprinting
Charla antifingerprintingnavajanegra
 

Más de navajanegra (20)

Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficas
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraud
 
Divulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación TecnológicaDivulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación Tecnológica
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta noche
 
1100101001001110
11001010010011101100101001001110
1100101001001110
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técnico
 
Zeus-R-Us
Zeus-R-UsZeus-R-Us
Zeus-R-Us
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communications
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensic
 
HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!
 
Show me your intents
Show me your intentsShow me your intents
Show me your intents
 
Take a walk on the wild side
Take a walk on the wild sideTake a walk on the wild side
Take a walk on the wild side
 
From mail to jail: Exploit your ex-girlfriend
From mail to jail: Exploit your ex-girlfriendFrom mail to jail: Exploit your ex-girlfriend
From mail to jail: Exploit your ex-girlfriend
 
All your appliances are belong to us
All your appliances are belong to usAll your appliances are belong to us
All your appliances are belong to us
 
IPv6 vs. IDS, se aceptan apuestas...
IPv6 vs. IDS, se aceptan apuestas...IPv6 vs. IDS, se aceptan apuestas...
IPv6 vs. IDS, se aceptan apuestas...
 
Charla ipv6
Charla ipv6Charla ipv6
Charla ipv6
 
Charla honeypots
Charla honeypotsCharla honeypots
Charla honeypots
 
Charla antifingerprinting
Charla antifingerprintingCharla antifingerprinting
Charla antifingerprinting
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

A brief introduction to reversing code with OllyDbg and other tools

  • 1. A brief introduction to reversing code Longinos Recuero Bustos http://longinox.blogspot.com.es longinos.recuero.bustos@gmail.com @L0ngin0s 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 2. definición Es el proceso para el descubrimiento de los principios tecnológicos de un dispositivo, objeto o sistema Necesidad Proceso de Producto o o problema Ingeniería solución Principios Proceso de Ing. Inversa Producto tecnológicos 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 3. dominios  Ingeniería inversa del hardware  Ingeniería inversa del software 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 4. Motivaciones / usos  Compatibilidad e Interoperabilidad  Espionaje: industrial, militar.  Documentación.  Auditorias de seguridad.  Eliminación de restricciones.  Análisis: forense, malware, ...  Académicos.  Curiosidad. 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 5. requisitos 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 6. Conocimientos  Arquitectura de computadores (x86, x64, ARM, ...)  Opcodes  Registros  Direccionamientos  Endianess  Interrupciones, ...  Programación (Assembler, C++, ...)  MOV AL, 61h ; Load AL with 97 decimal (61 hex) 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 7. Conocimientos  Sistemas operativos:  Kernel  Anillos de privilegio  Subprocesos, Hilos  API  Mensajes ... 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 8. Conocimientos  Estructura de los ficheros binarios:  PE (Portable and executable)  ELF (Executable and Linkable Format)  ... 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 9. Conocimientos  Estructuras del SS.OO:  TIB o TEB (Thread Information Block)  PEB (Process Information Block)  IAT (Import Address Table)  TLS (Thread Local Storage)  ... 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 10. herramientas  Descompiladores (Decompilers)  ILSpy, DJ Java Decompiler, ...  Desensambladores (Disassemblers)  IDA Pro, OllyDbg, ...  Depuradores (Debugguers)  IDA Pro, OllyDbg, ...  Editores PE  PEEditor, CCF Explorer Sute 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 11. herramientas  Editores hexadecimales  Ultra Edit, HxD, ...  Dumps de memoria  LordPE Deluxe, ProcDump, ...  Monitorización  PortMon, Process Explorer, ...  Analizadores  RDG Packer Detector, PEiD, ... 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 12. aproximaciones  Caja blanca  Análisis estático.  Caja negra  Análisis funcional.  Caja gris  Caja blanca + Caja negra. 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 13. Learn by example Decompilación y análisis estático con ILSpy 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 14. Ollydbg: Breve descripción  Desensamblador / depurador de 32-bits para ejecutables Microsoft Windows (.Exe, .Dll, ...)  Reconoce:  Rutinas  Procedimientos  Llamadas a las APIs  Interrupciones  Instrucciones  ...  Depura aplicaciones multiThread.  Parchea archivos ejecutables. 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 15. Learn by example Desensamblado y análisis dinámico con OllyDbg 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 16. Learn by example 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 17. Learn by example 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 18. Learn by example 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 19. Conclusiones 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 20. Conclusiones  No tengo talentos especiales, pero sí soy profundamente curioso. Albert Einstein  If a program runs, then it’s crackable  Métodos de protección: o Ofuscación o AntiDebug o AntiTracing o AntiDumping (Packing / Unpacking)  Nanomites (Armadillo)  Stolen Bytes (ASProtect)  Virtual Machines (Themida) o Criptograficos, ...  !Muchas horas de diversión! 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 21. agradecimientos 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 22. agradecimientos  A la organización de Navaja Negra  A sus patrocinadores  Muy especialmente a todos vosotros!!! 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 23. ¿preguntas? 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65
  • 24. The end ALBACETE – 0x01 / 0x0C / 0x07DC 4E 61 76 61 6A 61 20 4E 65 67 72 61 20 43 6F 6E 66 65 72 65 6E 63 65 20 3A 3A 20 41 6C 62 61 63 65 74 65