SlideShare uma empresa Scribd logo
1 de 58
TRABAJANDO PESCANDO Y
REVIRTIENDO SERIALES CON
OLLYDBG
Clase 11
15/05/2013
 Creo que una de los temas mas candentes de hoy en día es el tema de
hallar seriales, sobre todo luego de que existen fuertes encriptaciones que
pueden llegar a complicar la cosa, igual iremos paso a paso desde el caso
mas simple al mas complejo, tratando de practicar bastante para poder
afianzar los conceptos de trabajar con seriales.
 Bueno esta primera parte del trabajo con seriales lo dedicaremos a los
HARDCODED, que son los seriales que no son calculados a partir de un
nombre, o sea es un serial fijo que puede ser un texto, un numero pero es
siempre el mismo y muchas veces son sencillos otras no tanto, se tiene el
concepto que son los mas fáciles de hallar, por eso empezamos por este
tipo, pero hay de todo fáciles y mas difíciles ya verán los ejemplos en esta
parte.
 Allí esta en el inicio, el caso mas simple (el ejercicio1) es el que aparece la
clave correcta en las STRINGS o CADENAS DE TEXTO que utiliza el
programa, miremos si aquí aparece.
 Para hallar las cadenas de texto o strings, hacemos clic derecho SEARCH
FOR – ALL REFERENCED STRINGS.
Los resultados son
Los resultados son
 Pues allí se ve la palabra FIACA que puede ser la clave, si no tenemos
ganas de trabajar podemos probar algunas strings que salen en la lista y
por ahí acertamos, pero este método no es aconsejable, por las siguientes
causas:
1. En este caso hay 2 strings, pero hay programas que tienen miles de strings,
y probar una por una puede llevar a la locura total, así que aunque vemos
allí el posible serial correcto, haremos como que hay mil strings y que no
sabemos cual es.
2. Hay programas que ponen strings tramposas en la lista que no son la clave
y que al escribirlas al ingresar un serial provocan algún perjuicio ya que
son trampas para crackers, así que lo mejor es asegurarse y verificar que es
el serial correcto llegando hasta la comparación entre lo que escribes y la
string correcta.
 Lo primero es mirar las Apis que utiliza con clic derecho-SEARCH FOR-
NAMES
 Ahí salen las Apis utilizadas por el programa, veamos si hay alguna
conocida
 Ahí salen las Apis utilizadas por el programa, veamos si hay alguna
conocida
 Allí vemos que utiliza GetDlgItemTextA, seguro la usara para ingresar el
serial que nosotros escribimos y MessageBoxA para sacar los mensajes de si
es correcto o incorrecto nuestro serial, pongamos un BPX en cada una de
dichas Apis.
 Bueno pulsemos F9 para correr el crackme
 Bueno si pulsemos F9 de nuevo nos aparecerá la siguiente ventana
 Allí sale la ventana para escribir el serial, pongamos un nombre cualquiera
por ejemplo “Tu Nombre”, apretemos Verificar y vemos que para en el
OLLYDBG en uno de los BPX que colocamos
 Si miramos el stack, vemos que paro en la api GetDlgItemTextA para
ingresar el serial, allí en los parámetros de la api, vemos la dirección del
BUFFER donde guardara el serial que ingresa, en este caso es 403010.
 Así que veamos esa dirección en el DUMP haciendo clic derecho –
FOLLOW IN DUMP en la misma
 Hagamos EXECUTE TILL RETURN para que llegue al RET de la misma
 Y la Api guardo en el BUFFER el serial que ingrese
 Pues allí lo tengo si aprieto F7, vuelvo al programa
 Ya vemos viendo que estamos llegando a la comparación y al salto
condicional que según salte o no me llevara a los MessageBoxA de “Mal
Muy MAL” o “Muy BIEN” obviamente si ese salto condicional lo cambio por
un JMP 401087, lo obligo siempre a saltar al cartel de MUY BIEN y programa
crackeado y resuelto, pero aquí yo quiero hallar el serial, así que veamos
que compara.
 En 401066 moverá a EBX el contenido de la memoria 403010 como es un
DWORD solo moverá los 4 bytes pero es suficiente, veamos que hay en
403010 en el dump.
 Marco la línea y hago clic derecho FOLLOW IN DUMP-MEMORY ADDRESS y
veré que esta leyendo
 En la aclaración veo que esta leyendo 73726547 que son los 4 bytes que se
encuentran en el contenido de 403010 leídos al revés como vimos, y son
los primeros 4 bytes del serial falso que yo escribí los cuales los moverá a
EBX.
 Ahora aprieto F7 y paso a la siguiente línea
 Aquí vemos que compara EBX que como recordaran son los primeros 4
bytes de mi serial falso, con el contenido de la dirección 403008, veamos
que hay allí en el dump, de la misma forma que hicimos en la línea
anterior.
 Vemos que esta leyendo los 4 primeros bytes de la palabra FIACA,
comparándolos con los primeros cuatro bytes que escribi, por lo cual
deduzco que si ambos fueran iguales en esta comparación, se activaría el
flag Z, al ser la diferencia entre ambos cero, y el JE saltaría, mandándome
el cartel de MUY BIEN, por ahora como no son iguales recibiré el mensaje
de que mi serial es incorrecto.
 Como no fueron iguales no salta y va directo al cartel MAL MUY MAL, pues
apretemos F9
 Nos para en la otra api MessageBoxA
 Demos run o F9
 Como vemos salió el cartel malo, aceptémoslo y escribamos la clave
correcta FIACA.
 Ya la aclaración nos muestra que son iguales, por lo cual se restaran y dará
cero el resultado el flag Z se activara al ejecutar la comparación.
Trabajando pescando y revirtiendo seriales con ollydbg

Mais conteúdo relacionado

Mais procurados (18)

Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
PDF 14
PDF 14PDF 14
PDF 14
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control java
 
As3
As3As3
As3
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
 
Algoritmos clase 4
Algoritmos clase 4Algoritmos clase 4
Algoritmos clase 4
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
1.1 palabras reservadas para hacer un pseudocódigo
1.1 palabras reservadas para hacer un pseudocódigo1.1 palabras reservadas para hacer un pseudocódigo
1.1 palabras reservadas para hacer un pseudocódigo
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopez
 
2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar
 
2 poo u1 5 operaciones
2 poo u1 5 operaciones2 poo u1 5 operaciones
2 poo u1 5 operaciones
 
Examen en olly dbg
Examen en olly dbgExamen en olly dbg
Examen en olly dbg
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De Flujo
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
PDF 3
PDF 3PDF 3
PDF 3
 
Manual
ManualManual
Manual
 
PDF 5
PDF 5PDF 5
PDF 5
 
Variables Visual
Variables VisualVariables Visual
Variables Visual
 

Destaque

Ollydbg introducción
Ollydbg introducciónOllydbg introducción
Ollydbg introducciónTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Curso de crackeo para empezar desde cero leccion 1 clase10
Curso de crackeo para empezar desde cero leccion 1 clase10Curso de crackeo para empezar desde cero leccion 1 clase10
Curso de crackeo para empezar desde cero leccion 1 clase10Tensor
 
Solución examen 1 con ollydbg
Solución examen 1 con ollydbgSolución examen 1 con ollydbg
Solución examen 1 con ollydbgTensor
 
Introduccion a ollydbg clase 11a
Introduccion a ollydbg clase 11aIntroduccion a ollydbg clase 11a
Introduccion a ollydbg clase 11aTensor
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos okTensor
 
Condicional if en c++
Condicional if en c++Condicional if en c++
Condicional if en c++Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Tensor
 
Curso de crackeo para empezar desde cero leccion 1 clase11
Curso de crackeo para empezar desde cero leccion 1 clase11Curso de crackeo para empezar desde cero leccion 1 clase11
Curso de crackeo para empezar desde cero leccion 1 clase11Tensor
 
Introducción
IntroducciónIntroducción
IntroducciónTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloqueTensor
 
Pse int
Pse intPse int
Pse intTensor
 
Clase 0 presentación
Clase 0  presentaciónClase 0  presentación
Clase 0 presentaciónTensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloqueTensor
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.J Luis Salguero Fioratti
 

Destaque (20)

Ollydbg introducción
Ollydbg introducciónOllydbg introducción
Ollydbg introducción
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Curso de crackeo para empezar desde cero leccion 1 clase10
Curso de crackeo para empezar desde cero leccion 1 clase10Curso de crackeo para empezar desde cero leccion 1 clase10
Curso de crackeo para empezar desde cero leccion 1 clase10
 
Solución examen 1 con ollydbg
Solución examen 1 con ollydbgSolución examen 1 con ollydbg
Solución examen 1 con ollydbg
 
Introduccion a ollydbg clase 11a
Introduccion a ollydbg clase 11aIntroduccion a ollydbg clase 11a
Introduccion a ollydbg clase 11a
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
Condicional if en c++
Condicional if en c++Condicional if en c++
Condicional if en c++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
 
Curso de crackeo para empezar desde cero leccion 1 clase11
Curso de crackeo para empezar desde cero leccion 1 clase11Curso de crackeo para empezar desde cero leccion 1 clase11
Curso de crackeo para empezar desde cero leccion 1 clase11
 
Introducción
IntroducciónIntroducción
Introducción
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Pse int
Pse intPse int
Pse int
 
Clase 0 presentación
Clase 0  presentaciónClase 0  presentación
Clase 0 presentación
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.
 

Semelhante a Trabajando pescando y revirtiendo seriales con ollydbg

Revirtiendo seriales con ollydbg clase 11b
Revirtiendo seriales con ollydbg clase 11bRevirtiendo seriales con ollydbg clase 11b
Revirtiendo seriales con ollydbg clase 11bTensor
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbgTensor
 
Introduccion al cracking con ollydbg partes 1 a 10
Introduccion al cracking con ollydbg partes 1 a 10Introduccion al cracking con ollydbg partes 1 a 10
Introduccion al cracking con ollydbg partes 1 a 10juanchiy2k
 
Gissel resumen videos 5,7,8,9,13,14
Gissel resumen videos 5,7,8,9,13,14Gissel resumen videos 5,7,8,9,13,14
Gissel resumen videos 5,7,8,9,13,14XiomaraGLM616
 
Angel resumen videos 5,7,8,9,13,14
Angel resumen videos 5,7,8,9,13,14Angel resumen videos 5,7,8,9,13,14
Angel resumen videos 5,7,8,9,13,14ReynelM199610
 
SCRATCH: "Operadores"
SCRATCH: "Operadores"SCRATCH: "Operadores"
SCRATCH: "Operadores"gonzalo008
 
Aprendiendo los fundamentos de python facil
Aprendiendo los fundamentos de python facilAprendiendo los fundamentos de python facil
Aprendiendo los fundamentos de python facilJUANJOSEPEREZCORDERO
 
Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1fehrhuichapa
 
VBScript Tutorial
VBScript TutorialVBScript Tutorial
VBScript TutorialLeminy
 

Semelhante a Trabajando pescando y revirtiendo seriales con ollydbg (20)

Revirtiendo seriales con ollydbg clase 11b
Revirtiendo seriales con ollydbg clase 11bRevirtiendo seriales con ollydbg clase 11b
Revirtiendo seriales con ollydbg clase 11b
 
5 curso
5 curso5 curso
5 curso
 
manual-batch-desde-0
manual-batch-desde-0manual-batch-desde-0
manual-batch-desde-0
 
Manual batch
Manual batchManual batch
Manual batch
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbg
 
4 curso
4 curso4 curso
4 curso
 
Lucelly php
Lucelly phpLucelly php
Lucelly php
 
Estructura basica del_c_(2)
Estructura basica del_c_(2)Estructura basica del_c_(2)
Estructura basica del_c_(2)
 
Repaso excel nivel medio
Repaso excel nivel medioRepaso excel nivel medio
Repaso excel nivel medio
 
Introduccion al cracking con ollydbg partes 1 a 10
Introduccion al cracking con ollydbg partes 1 a 10Introduccion al cracking con ollydbg partes 1 a 10
Introduccion al cracking con ollydbg partes 1 a 10
 
Gissel resumen videos 5,7,8,9,13,14
Gissel resumen videos 5,7,8,9,13,14Gissel resumen videos 5,7,8,9,13,14
Gissel resumen videos 5,7,8,9,13,14
 
1 curso
1 curso1 curso
1 curso
 
Angel resumen videos 5,7,8,9,13,14
Angel resumen videos 5,7,8,9,13,14Angel resumen videos 5,7,8,9,13,14
Angel resumen videos 5,7,8,9,13,14
 
SCRATCH: "Operadores"
SCRATCH: "Operadores"SCRATCH: "Operadores"
SCRATCH: "Operadores"
 
4. errores en los datos
4. errores en los datos4. errores en los datos
4. errores en los datos
 
Aprendiendo los fundamentos de python facil
Aprendiendo los fundamentos de python facilAprendiendo los fundamentos de python facil
Aprendiendo los fundamentos de python facil
 
Resumenes
ResumenesResumenes
Resumenes
 
Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1
 
3 curso
3 curso3 curso
3 curso
 
VBScript Tutorial
VBScript TutorialVBScript Tutorial
VBScript Tutorial
 

Mais de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Practicas 8 2016
Practicas 8 2016Practicas 8 2016
Practicas 8 2016Tensor
 
Practica 4 2016
Practica 4 2016Practica 4 2016
Practica 4 2016Tensor
 
Practicas 3 2016
Practicas 3 2016Practicas 3 2016
Practicas 3 2016Tensor
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016Tensor
 

Mais de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Ondas em
Ondas emOndas em
Ondas em
 
Practicas 8 2016
Practicas 8 2016Practicas 8 2016
Practicas 8 2016
 
Practica 4 2016
Practica 4 2016Practica 4 2016
Practica 4 2016
 
Practicas 3 2016
Practicas 3 2016Practicas 3 2016
Practicas 3 2016
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016
 

Último

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 

Último (20)

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 

Trabajando pescando y revirtiendo seriales con ollydbg

  • 1. TRABAJANDO PESCANDO Y REVIRTIENDO SERIALES CON OLLYDBG Clase 11 15/05/2013
  • 2.  Creo que una de los temas mas candentes de hoy en día es el tema de hallar seriales, sobre todo luego de que existen fuertes encriptaciones que pueden llegar a complicar la cosa, igual iremos paso a paso desde el caso mas simple al mas complejo, tratando de practicar bastante para poder afianzar los conceptos de trabajar con seriales.  Bueno esta primera parte del trabajo con seriales lo dedicaremos a los HARDCODED, que son los seriales que no son calculados a partir de un nombre, o sea es un serial fijo que puede ser un texto, un numero pero es siempre el mismo y muchas veces son sencillos otras no tanto, se tiene el concepto que son los mas fáciles de hallar, por eso empezamos por este tipo, pero hay de todo fáciles y mas difíciles ya verán los ejemplos en esta parte.
  • 3.
  • 4.
  • 5.  Allí esta en el inicio, el caso mas simple (el ejercicio1) es el que aparece la clave correcta en las STRINGS o CADENAS DE TEXTO que utiliza el programa, miremos si aquí aparece.  Para hallar las cadenas de texto o strings, hacemos clic derecho SEARCH FOR – ALL REFERENCED STRINGS.
  • 6.
  • 9.  Pues allí se ve la palabra FIACA que puede ser la clave, si no tenemos ganas de trabajar podemos probar algunas strings que salen en la lista y por ahí acertamos, pero este método no es aconsejable, por las siguientes causas: 1. En este caso hay 2 strings, pero hay programas que tienen miles de strings, y probar una por una puede llevar a la locura total, así que aunque vemos allí el posible serial correcto, haremos como que hay mil strings y que no sabemos cual es. 2. Hay programas que ponen strings tramposas en la lista que no son la clave y que al escribirlas al ingresar un serial provocan algún perjuicio ya que son trampas para crackers, así que lo mejor es asegurarse y verificar que es el serial correcto llegando hasta la comparación entre lo que escribes y la string correcta.
  • 10.  Lo primero es mirar las Apis que utiliza con clic derecho-SEARCH FOR- NAMES
  • 11.
  • 12.
  • 13.  Ahí salen las Apis utilizadas por el programa, veamos si hay alguna conocida
  • 14.  Ahí salen las Apis utilizadas por el programa, veamos si hay alguna conocida
  • 15.  Allí vemos que utiliza GetDlgItemTextA, seguro la usara para ingresar el serial que nosotros escribimos y MessageBoxA para sacar los mensajes de si es correcto o incorrecto nuestro serial, pongamos un BPX en cada una de dichas Apis.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.  Bueno pulsemos F9 para correr el crackme
  • 21.
  • 22.  Bueno si pulsemos F9 de nuevo nos aparecerá la siguiente ventana
  • 23.
  • 24.  Allí sale la ventana para escribir el serial, pongamos un nombre cualquiera por ejemplo “Tu Nombre”, apretemos Verificar y vemos que para en el OLLYDBG en uno de los BPX que colocamos
  • 25.
  • 26.
  • 27.  Si miramos el stack, vemos que paro en la api GetDlgItemTextA para ingresar el serial, allí en los parámetros de la api, vemos la dirección del BUFFER donde guardara el serial que ingresa, en este caso es 403010.
  • 28.
  • 29.  Así que veamos esa dirección en el DUMP haciendo clic derecho – FOLLOW IN DUMP en la misma
  • 30.
  • 31.
  • 32.  Hagamos EXECUTE TILL RETURN para que llegue al RET de la misma
  • 33.
  • 34.
  • 35.  Y la Api guardo en el BUFFER el serial que ingrese
  • 36.  Pues allí lo tengo si aprieto F7, vuelvo al programa
  • 37.
  • 38.  Ya vemos viendo que estamos llegando a la comparación y al salto condicional que según salte o no me llevara a los MessageBoxA de “Mal Muy MAL” o “Muy BIEN” obviamente si ese salto condicional lo cambio por un JMP 401087, lo obligo siempre a saltar al cartel de MUY BIEN y programa crackeado y resuelto, pero aquí yo quiero hallar el serial, así que veamos que compara.  En 401066 moverá a EBX el contenido de la memoria 403010 como es un DWORD solo moverá los 4 bytes pero es suficiente, veamos que hay en 403010 en el dump.
  • 39.
  • 40.  Marco la línea y hago clic derecho FOLLOW IN DUMP-MEMORY ADDRESS y veré que esta leyendo
  • 41.
  • 42.  En la aclaración veo que esta leyendo 73726547 que son los 4 bytes que se encuentran en el contenido de 403010 leídos al revés como vimos, y son los primeros 4 bytes del serial falso que yo escribí los cuales los moverá a EBX.
  • 43.  Ahora aprieto F7 y paso a la siguiente línea
  • 44.
  • 45.  Aquí vemos que compara EBX que como recordaran son los primeros 4 bytes de mi serial falso, con el contenido de la dirección 403008, veamos que hay allí en el dump, de la misma forma que hicimos en la línea anterior.
  • 46.
  • 47.
  • 48.  Vemos que esta leyendo los 4 primeros bytes de la palabra FIACA, comparándolos con los primeros cuatro bytes que escribi, por lo cual deduzco que si ambos fueran iguales en esta comparación, se activaría el flag Z, al ser la diferencia entre ambos cero, y el JE saltaría, mandándome el cartel de MUY BIEN, por ahora como no son iguales recibiré el mensaje de que mi serial es incorrecto.  Como no fueron iguales no salta y va directo al cartel MAL MUY MAL, pues apretemos F9
  • 49.
  • 50.  Nos para en la otra api MessageBoxA
  • 51.
  • 53.
  • 54.  Como vemos salió el cartel malo, aceptémoslo y escribamos la clave correcta FIACA.
  • 55.
  • 56.
  • 57.  Ya la aclaración nos muestra que son iguales, por lo cual se restaran y dará cero el resultado el flag Z se activara al ejecutar la comparación.