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

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (16)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

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