SlideShare una empresa de Scribd logo
Caso Examen con
Ollydbg
30-05-2013
 El caso siguiente es un paso mas, en este ya no compara directamente el
serial que escribimos sino que realiza algunas operaciones antes de
comparar veamos el ejemplo, este es el Examen, abrámoslo en OLLYDBG.
 Ya sabemos como ver las apis que utiliza, así que en la lista vemos
GetDlgItemTextA, pongámosle un BPX en dicha api.
 Ahora doy RUN con F9 y aparece la ventana para ingresar el serial
 Allí escribo mi serial falso
 Y aprieto el botón Check y para en la api
 En el stack miro los parámetros
 Allí vemos el BUFFER donde guardara el serial falso, marco esa línea y hago
CLICK DERECHO-FOLLOW IN DUMP
 Allí esta el buffer vacío, porque aun no se ejecuto la api, así que hago
DEBUG-EXECUTE TILL RETURN
 Con lo cual ejecuto la api y llego al RET de la misma.
 Aprieto F7 para volver al programa
 Y veo que en el BUFFER esta ahora el serial falso que ingrese.
 Allí veo una larga rutina con un numero constante, que si alguno tuvo la
idea de probar si es el serial correcto ya sabrá que no lo es.
 Allí mueve 401222 a EAX y en el registro EAX vemos que dicha dirección
apunta a la string del numero constante.
 En la siguiente línea como EAX vale 401222 ,
 MOV EDX,DWORD PTR DS:[EAX]
 En realidad es similar a
 MOV EDX,DWORD PTR DS:[401222]
 En la aclaración del OLLY se ve bien que son los 4 primeros bytes del
numero 10445678951
 Al ejecutar la línea con F7 se mueven a EDX (siempre se moverán al revés
al mover de la memoria a un registro)
 La siguiente línea esos bytes que están en EDX los mueve a [EBP-30]
 En la aclaración del OLLY vemos que [EBP-30] es en mi maquina 240f9e4, lo
busco en el DUMP
 Luego
 Mueve a EDX los siguientes cuatro bytes del número constante
 La aclaración del OLLY lo muestra, en este caso [eax+4] es en este caso el
contenido de 401226 y al ejecutar con F7 mueve los 4 bytes siguientes a
EDX.
 Y los copia a continuación de donde copio los anteriores
 Quedando el número completo copiado allí.
 Allí vemos que un poco mas abajo se acerca a una llamada a la api
memset, allí vemos los parámetros en OLLYDBG
 En este caso no hay problema mueve el primer byte de mi serial falso el 39
a EDX al ejecutar la línea vemos que EDX vale 39.
 La siguiente línea es un LEA
 Y como EDX vale 39, le resta 14 y como es un LEA mueve el resultado
directo a EAX.
 O sea que la operación que realizo es tomar 39 que es el valor hexa del
primer carácter de mi serial, y le resto 14 y quedo por ahora en 25, el cual
esta en EAX.
 La siguiente línea mueve el valor 0040136E que en mi maquina es 240f9E4
que apunta al inicio del numero constante guardado a EDX.
 Al apretar F7
 Queda EDX apuntando al inicio del número constante.
 Aquí vemos que mueve a ECX el valor cero y en cada pasada que haga
en el LOOP se incrementará, permitiendo a ECX+EDX apuntar a los distintos
bytes del numero constante
 Ahí vemos como ECX por ahora vale cero y EDX apunta al inicio del
numero, moverá a EDX en este primer paso por esta línea, el primer byte
del numero vemos en la aclaración del OLLYDBG.
 Que mueve el byte 31 que corresponde al 1 en ASCII, es la primera cifra
del número constante
 Allí llegamos a una comparación como recordamos
 Como estoy utilizando el serial falso, la comparación no es igual, solo serán
iguales ambos miembros cuando usemos el serial correcto ya que es el
valor que hace que la comparación llegue a ser una igualdad.
 CMP (PRIMER BYTE DE MI SERIAL CORRECTO – 14), 31
 Ya que la condición es que ambos miembros sean iguales
 PRIMER BYTE DEL SERIAL CORRECTO-14= PRIMER BYTE DEL NUMERO
CONSTANTE
 Por lo tanto
 PRIMER BYTE DEL SERIAL CORRECTO= PRIMER BYTE DEL NUMERO CONSTANTE
+14
 Y así sucesivamente
 Siguiendo la misma lógica, a cada byte del numero constante, le
sumamos 14 y obtenemos el valor del byte correspondiente a nuestro serial
correcto.
 31 30 34 34 35 36 37 38 10445678
 39 35 31 00 00 00 00 00 951.....
Equivalencias
 Y así sucesivamente
 31 +14=45 es la letra E en ASCII
 30 + 14= 44 es la letra D en ASCII
 34 + 14= 48 es la letra H en ASCII
 34 + 14= 48 es la letra H en ASCII
 35 + 14= 49 es la letra I en ASCII
 36 + 14 = 4A es la letra J en ASCII
 37 + 14= 4B es la letra K en ASCII
 38 + 14 = 4C es la letra L en ASCII
 39 + 14 = 4D es la letra M en ASCII
 35 + 14= 48 es la letra I en ASCII
 31 +14=45 es la letra E en ASCII
 Por lo cual el serial correcto es
 EDHHIJKLMIE
 Pongámoslo en la ventana del serial borrando todos los BPX.
Examen en olly dbg

Más contenido relacionado

La actualidad más candente

Analisis de comunicación serial rs232
Analisis de comunicación serial rs232Analisis de comunicación serial rs232
Analisis de comunicación serial rs232
AlejofasorT
 
Tipos de datos primitivos en c++
Tipos de datos primitivos en c++Tipos de datos primitivos en c++
Tipos de datos primitivos en c++
JOHN BONILLA
 
informe Computacion
informe Computacioninforme Computacion
informe Computacion
Toño Benavides
 
Diego alexis 8
Diego alexis 8Diego alexis 8
Diego alexis 8
diegobailachido
 
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
Marco Antonio Plascencia
 
¿Qué es la máquina de turing y como funciona?
¿Qué es la máquina de turing y como funciona?¿Qué es la máquina de turing y como funciona?
¿Qué es la máquina de turing y como funciona?
vmtorrealba
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++
Gustavo Castillo
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
Vanessa Burgos
 
Como funciona una maquina de turing
Como funciona una maquina de turingComo funciona una maquina de turing
Como funciona una maquina de turing
Jonathan Bastidas
 
Automatas
AutomatasAutomatas
Automatas
veriyo
 
Exposicion de teoria2
Exposicion de teoria2Exposicion de teoria2
Exposicion de teoria2
Carlos Manuel
 
1 ejercicio mt.
1 ejercicio mt.1 ejercicio mt.
1 ejercicio mt.
Rodrigo Sanabria
 
Desarrollo momento 3
Desarrollo momento 3Desarrollo momento 3
Desarrollo momento 3
Jose Rojas
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
Fernando Juhasz
 
Curso básico de electrònica digital
Curso básico de electrònica digitalCurso básico de electrònica digital
Curso básico de electrònica digital
Geovanny Ruiz
 
Clase De Colas
Clase De ColasClase De Colas
Clase De Colas
maria alejandra
 
Lenguaje latino
Lenguaje latinoLenguaje latino
Lenguaje latino
ReneSergio
 
2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada
Jorge Ivan Rivalcoba Rivas
 

La actualidad más candente (18)

Analisis de comunicación serial rs232
Analisis de comunicación serial rs232Analisis de comunicación serial rs232
Analisis de comunicación serial rs232
 
Tipos de datos primitivos en c++
Tipos de datos primitivos en c++Tipos de datos primitivos en c++
Tipos de datos primitivos en c++
 
informe Computacion
informe Computacioninforme Computacion
informe Computacion
 
Diego alexis 8
Diego alexis 8Diego alexis 8
Diego alexis 8
 
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
 
¿Qué es la máquina de turing y como funciona?
¿Qué es la máquina de turing y como funciona?¿Qué es la máquina de turing y como funciona?
¿Qué es la máquina de turing y como funciona?
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Como funciona una maquina de turing
Como funciona una maquina de turingComo funciona una maquina de turing
Como funciona una maquina de turing
 
Automatas
AutomatasAutomatas
Automatas
 
Exposicion de teoria2
Exposicion de teoria2Exposicion de teoria2
Exposicion de teoria2
 
1 ejercicio mt.
1 ejercicio mt.1 ejercicio mt.
1 ejercicio mt.
 
Desarrollo momento 3
Desarrollo momento 3Desarrollo momento 3
Desarrollo momento 3
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Curso básico de electrònica digital
Curso básico de electrònica digitalCurso básico de electrònica digital
Curso básico de electrònica digital
 
Clase De Colas
Clase De ColasClase De Colas
Clase De Colas
 
Lenguaje latino
Lenguaje latinoLenguaje latino
Lenguaje latino
 
2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada
 

Similar a Examen en olly dbg

Trabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbgTrabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbg
Tensor
 
5 curso
5 curso5 curso
5 curso
ERWIN AGUILAR
 
Ensayo
EnsayoEnsayo
Capítulo 1 Qbasic entrada y salida básica
Capítulo 1  Qbasic entrada y salida básicaCapítulo 1  Qbasic entrada y salida básica
Capítulo 1 Qbasic entrada y salida básica
Julio Ayala Rolón
 
Asignacion 3. microcomputadoras
Asignacion 3. microcomputadoras Asignacion 3. microcomputadoras
Asignacion 3. microcomputadoras
AronisH12
 
Elementos de programacion t1
Elementos de programacion t1Elementos de programacion t1
Elementos de programacion t1
Juan David Sanchez S
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbg
Tensor
 
Objetos geometrico en flash
Objetos geometrico en flashObjetos geometrico en flash
Objetos geometrico en flash
Danita Viteri
 
Como crear un programa de ciclo FOR en lenguaje C++
Como crear un programa de ciclo FOR en lenguaje C++Como crear un programa de ciclo FOR en lenguaje C++
Como crear un programa de ciclo FOR en lenguaje C++
JoseRamonG
 
4 curso
4 curso4 curso
4 curso
ERWIN AGUILAR
 
Numeros primos
Numeros primosNumeros primos
Numeros primos
Durero
 
Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas Numéricos
MaxChacon4
 
Hack x crack_batch2
Hack x crack_batch2Hack x crack_batch2
Hack x crack_batch2
Juan Jose Garcia Sanchez
 
Conversión de un numero decimal a binario
Conversión de un numero decimal a binarioConversión de un numero decimal a binario
Conversión de un numero decimal a binario
Darwin Linares
 
Investigacion trabajo
Investigacion trabajoInvestigacion trabajo
Investigacion trabajo
Jakeline Llanos
 
Curso De Excel Básico (Sesión 5 )
Curso De Excel Básico (Sesión 5 )Curso De Excel Básico (Sesión 5 )
Curso De Excel Básico (Sesión 5 )
Hugo Malpartida
 
Ada 4 ammc
Ada 4 ammcAda 4 ammc
Visual basic... tattyerick... for
Visual basic... tattyerick... forVisual basic... tattyerick... for
Visual basic... tattyerick... for
Stalyn Cruz
 
Sistemas de num_y_conversion
Sistemas de  num_y_conversionSistemas de  num_y_conversion
Sistemas de num_y_conversion
andresfc7
 
Trucos de excel y vba v3
Trucos de excel y vba v3Trucos de excel y vba v3
Trucos de excel y vba v3
tenientesw
 

Similar a Examen en olly dbg (20)

Trabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbgTrabajando pescando y revirtiendo seriales con ollydbg
Trabajando pescando y revirtiendo seriales con ollydbg
 
5 curso
5 curso5 curso
5 curso
 
Ensayo
EnsayoEnsayo
Ensayo
 
Capítulo 1 Qbasic entrada y salida básica
Capítulo 1  Qbasic entrada y salida básicaCapítulo 1  Qbasic entrada y salida básica
Capítulo 1 Qbasic entrada y salida básica
 
Asignacion 3. microcomputadoras
Asignacion 3. microcomputadoras Asignacion 3. microcomputadoras
Asignacion 3. microcomputadoras
 
Elementos de programacion t1
Elementos de programacion t1Elementos de programacion t1
Elementos de programacion t1
 
Ejercicio 2 con ollydbg
Ejercicio 2 con ollydbgEjercicio 2 con ollydbg
Ejercicio 2 con ollydbg
 
Objetos geometrico en flash
Objetos geometrico en flashObjetos geometrico en flash
Objetos geometrico en flash
 
Como crear un programa de ciclo FOR en lenguaje C++
Como crear un programa de ciclo FOR en lenguaje C++Como crear un programa de ciclo FOR en lenguaje C++
Como crear un programa de ciclo FOR en lenguaje C++
 
4 curso
4 curso4 curso
4 curso
 
Numeros primos
Numeros primosNumeros primos
Numeros primos
 
Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas Numéricos
 
Hack x crack_batch2
Hack x crack_batch2Hack x crack_batch2
Hack x crack_batch2
 
Conversión de un numero decimal a binario
Conversión de un numero decimal a binarioConversión de un numero decimal a binario
Conversión de un numero decimal a binario
 
Investigacion trabajo
Investigacion trabajoInvestigacion trabajo
Investigacion trabajo
 
Curso De Excel Básico (Sesión 5 )
Curso De Excel Básico (Sesión 5 )Curso De Excel Básico (Sesión 5 )
Curso De Excel Básico (Sesión 5 )
 
Ada 4 ammc
Ada 4 ammcAda 4 ammc
Ada 4 ammc
 
Visual basic... tattyerick... for
Visual basic... tattyerick... forVisual basic... tattyerick... for
Visual basic... tattyerick... for
 
Sistemas de num_y_conversion
Sistemas de  num_y_conversionSistemas de  num_y_conversion
Sistemas de num_y_conversion
 
Trucos de excel y vba v3
Trucos de excel y vba v3Trucos de excel y vba v3
Trucos de excel y vba v3
 

Más de Tensor

Libertad
LibertadLibertad
Libertad
Tensor
 
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
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
Tensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
Tensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
Tensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
Tensor
 
Game maker
Game makerGame maker
Game maker
Tensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
Tensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
Tensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
Tensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
Tensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
Tensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
Tensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
Tensor
 
Ondas em
Ondas emOndas em
Ondas em
Tensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
Tensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
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)
 
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
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
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
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Examen en olly dbg

  • 2.  El caso siguiente es un paso mas, en este ya no compara directamente el serial que escribimos sino que realiza algunas operaciones antes de comparar veamos el ejemplo, este es el Examen, abrámoslo en OLLYDBG.
  • 3.
  • 4.  Ya sabemos como ver las apis que utiliza, así que en la lista vemos GetDlgItemTextA, pongámosle un BPX en dicha api.
  • 5.
  • 6.
  • 7.
  • 8.  Ahora doy RUN con F9 y aparece la ventana para ingresar el serial
  • 9.
  • 10.  Allí escribo mi serial falso
  • 11.
  • 12.  Y aprieto el botón Check y para en la api
  • 13.
  • 14.  En el stack miro los parámetros
  • 15.
  • 16.  Allí vemos el BUFFER donde guardara el serial falso, marco esa línea y hago CLICK DERECHO-FOLLOW IN DUMP
  • 17.
  • 18.  Allí esta el buffer vacío, porque aun no se ejecuto la api, así que hago DEBUG-EXECUTE TILL RETURN
  • 19.
  • 20.  Con lo cual ejecuto la api y llego al RET de la misma.
  • 21.
  • 22.  Aprieto F7 para volver al programa
  • 23.
  • 24.  Y veo que en el BUFFER esta ahora el serial falso que ingrese.
  • 25.
  • 26.  Allí veo una larga rutina con un numero constante, que si alguno tuvo la idea de probar si es el serial correcto ya sabrá que no lo es.  Allí mueve 401222 a EAX y en el registro EAX vemos que dicha dirección apunta a la string del numero constante.
  • 27.
  • 28.
  • 29.  En la siguiente línea como EAX vale 401222 ,  MOV EDX,DWORD PTR DS:[EAX]  En realidad es similar a  MOV EDX,DWORD PTR DS:[401222]
  • 30.
  • 31.  En la aclaración del OLLY se ve bien que son los 4 primeros bytes del numero 10445678951
  • 32.
  • 33.  Al ejecutar la línea con F7 se mueven a EDX (siempre se moverán al revés al mover de la memoria a un registro)
  • 34.
  • 35.  La siguiente línea esos bytes que están en EDX los mueve a [EBP-30]
  • 36.
  • 37.  En la aclaración del OLLY vemos que [EBP-30] es en mi maquina 240f9e4, lo busco en el DUMP
  • 38.
  • 39.
  • 40.
  • 41.
  • 43.
  • 44.  Mueve a EDX los siguientes cuatro bytes del número constante
  • 45.
  • 46.  La aclaración del OLLY lo muestra, en este caso [eax+4] es en este caso el contenido de 401226 y al ejecutar con F7 mueve los 4 bytes siguientes a EDX.
  • 47.
  • 48.  Y los copia a continuación de donde copio los anteriores
  • 49.
  • 50.  Quedando el número completo copiado allí.  Allí vemos que un poco mas abajo se acerca a una llamada a la api memset, allí vemos los parámetros en OLLYDBG
  • 51.
  • 52.  En este caso no hay problema mueve el primer byte de mi serial falso el 39 a EDX al ejecutar la línea vemos que EDX vale 39.
  • 53.
  • 54.  La siguiente línea es un LEA
  • 55.
  • 56.  Y como EDX vale 39, le resta 14 y como es un LEA mueve el resultado directo a EAX.
  • 57.
  • 58.  O sea que la operación que realizo es tomar 39 que es el valor hexa del primer carácter de mi serial, y le resto 14 y quedo por ahora en 25, el cual esta en EAX.
  • 59.
  • 60.  La siguiente línea mueve el valor 0040136E que en mi maquina es 240f9E4 que apunta al inicio del numero constante guardado a EDX.
  • 61.
  • 63.
  • 64.  Queda EDX apuntando al inicio del número constante.
  • 65.
  • 66.  Aquí vemos que mueve a ECX el valor cero y en cada pasada que haga en el LOOP se incrementará, permitiendo a ECX+EDX apuntar a los distintos bytes del numero constante
  • 67.
  • 68.  Ahí vemos como ECX por ahora vale cero y EDX apunta al inicio del numero, moverá a EDX en este primer paso por esta línea, el primer byte del numero vemos en la aclaración del OLLYDBG.
  • 69.
  • 70.  Que mueve el byte 31 que corresponde al 1 en ASCII, es la primera cifra del número constante
  • 71.
  • 72.  Allí llegamos a una comparación como recordamos
  • 73.
  • 74.  Como estoy utilizando el serial falso, la comparación no es igual, solo serán iguales ambos miembros cuando usemos el serial correcto ya que es el valor que hace que la comparación llegue a ser una igualdad.  CMP (PRIMER BYTE DE MI SERIAL CORRECTO – 14), 31  Ya que la condición es que ambos miembros sean iguales  PRIMER BYTE DEL SERIAL CORRECTO-14= PRIMER BYTE DEL NUMERO CONSTANTE  Por lo tanto  PRIMER BYTE DEL SERIAL CORRECTO= PRIMER BYTE DEL NUMERO CONSTANTE +14
  • 75.
  • 76.  Y así sucesivamente  Siguiendo la misma lógica, a cada byte del numero constante, le sumamos 14 y obtenemos el valor del byte correspondiente a nuestro serial correcto.  31 30 34 34 35 36 37 38 10445678  39 35 31 00 00 00 00 00 951.....
  • 78.  Y así sucesivamente  31 +14=45 es la letra E en ASCII  30 + 14= 44 es la letra D en ASCII  34 + 14= 48 es la letra H en ASCII  34 + 14= 48 es la letra H en ASCII  35 + 14= 49 es la letra I en ASCII  36 + 14 = 4A es la letra J en ASCII  37 + 14= 4B es la letra K en ASCII  38 + 14 = 4C es la letra L en ASCII  39 + 14 = 4D es la letra M en ASCII
  • 79.  35 + 14= 48 es la letra I en ASCII  31 +14=45 es la letra E en ASCII  Por lo cual el serial correcto es  EDHHIJKLMIE
  • 80.  Pongámoslo en la ventana del serial borrando todos los BPX.