elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Comparacion por imagenes, duda ;D.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparacion por imagenes, duda ;D.  (Leído 2,578 veces)
Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Comparacion por imagenes, duda ;D.
« en: 14 Diciembre 2008, 04:07 am »

Hola jeje, otra vez molestando yo, solo tengo una pequeña inquietud, y es por ejemplo como puedo saber yo con Olly si un programita hecho en VB que tiene el siguiente code:

Código
  1. if(picture1.picture = picture2.picture) then
  2.  
  3. algo
  4. algo
  5. algo
  6. F1ACA
  7. end if

Como me doy cuenta yo en olly que se esta comparando la propiedad picture y no otra como caption, backolor, etc, etc? El unico avamce que he tenido fue que cree dos app en vb, cada una con dos controles picture, un commandButton, y dos control image, que es el que tiene cargada una imagen cualquiera.

En el evento load del form esta lo siguiente:

Código
  1. picture1.picture = image1.picture
  2. picture2.picture = image2.picture

Es decir que cada control tiene ya una imagen distinta :P, y el code del command es el siguiente:

Código
  1. if(picture1.picture = picture2.picture) then
  2. msgbox "son iguales"
  3. else
  4. msgbox "no son iguales"
  5. end if

Bueno el command lo que hace es comparar si tienen la misma imagen, ahora, el otro programita hace lo mismo pero los dos controles images poseen la misma imagen, y dara como resultado "son iguales" contrario al otro. Traceando con Olly obtuve esto (para el caso que son iguales):

Código
  1. 0042FB9A   .  8B45 E4         MOV EAX,DWORD PTR SS:[EBP-1C] ;Mueve el valor susodicho XD (0D05099D)
  2. 0042FB9D   .  53              PUSH EBX
  3. 0042FB9E   .  53              PUSH EBX
  4. 0042FB9F   .  8D4D BC         LEA ECX,DWORD PTR SS:[EBP-44]
  5. 0042FBA2   .  50              PUSH EAX
  6. 0042FBA3   .  51              PUSH ECX
  7. 0042FBA4   .  8995 3CFFFFFF   MOV DWORD PTR SS:[EBP-C4],EDX
  8. 0042FBAA   .  FFD6            CALL ESI
  9. 0042FBAC   .  83C4 10         ADD ESP,10
  10. 0042FBAF   .  50              PUSH EAX
  11. 0042FBB0   .  FFD7            CALL EDI
  12. 0042FBB2   .  8B8D 3CFFFFFF   MOV ECX,DWORD PTR SS:[EBP-C4]
  13. 0042FBB8   .  33D2            XOR EDX,EDX
  14. 0042FBBA   .  3BC1            CMP EAX,ECX ;Lo compara con el del otro control (ambos son "0D05099D")
  15. 0042FBBC   .  8D45 DC         LEA EAX,DWORD PTR SS:[EBP-24]
  16.  
  17.  

y mas abajo hay esto:

Código
  1. 0042FBFA   .  66:3BFB         CMP DI,BX ;(DI=FFFF, BX=0000)
  2. 0042FBFD   .  894D A4         MOV DWORD PTR SS:[EBP-5C],ECX
  3. 0042FC00   .  8945 9C         MOV DWORD PTR SS:[EBP-64],EAX
  4. 0042FC03   .  894D B4         MOV DWORD PTR SS:[EBP-4C],ECX
  5. 0042FC06   .  8945 AC         MOV DWORD PTR SS:[EBP-54],EAX
  6. 0042FC09   .  894D C4         MOV DWORD PTR SS:[EBP-3C],ECX
  7. 0042FC0C   .  8945 BC         MOV DWORD PTR SS:[EBP-44],EAX
  8. 0042FC0F   .  74 43           JE SHORT Iguales.0042FC54 ; en este caso no saltaria y daria "Son iguales"
  9. 0042FC11   .  8D55 8C         LEA EDX,DWORD PTR SS:[EBP-74]
  10. 0042FC14   .  8D4D CC         LEA ECX,DWORD PTR SS:[EBP-34]
  11. 0042FC17   .  C745 94 7CF5420>MOV DWORD PTR SS:[EBP-6C],Iguales.0042F57C             ;  UNICODE "Son iguales"
  12. 0042FC1E   .  C745 8C 0800000>MOV DWORD PTR SS:[EBP-74],8
  13. 0042FC25   .  FF15 7C104000   CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDup>]            ;  MSVBVM60.__vbaVarDup
  14. 0042FC2B   .  8D55 9C         LEA EDX,DWORD PTR SS:[EBP-64]
  15.  
  16.  

Bueno eso fue lo que logre, interceptar los valores que segun esto podrian ser las referencias a la propiedad picture (es una teoria nada mas), ya que con el otro ejemplo son distintos y dan diferente, pero como sabre yo generalmente de que propiedad se trata, ya que no son comparaciones tan directas como la propiedad .text de un campo, o algo asi por el estilo, ya que esto podria enredarnos mucho.

Salu2 y gracias de antemano.

AmeRiK@nO
En línea





Mi blog:
http://amerikanocls.blogspot.com
Shaddy


Desconectado Desconectado

Mensajes: 722


one_bit_manipulator()


Ver Perfil WWW
Re: Comparacion por imagenes, duda ;D.
« Respuesta #1 en: 14 Diciembre 2008, 05:59 am »

Pues siguiendo las pautas de la Ing Inversa, puedes ir traceando inversamente para ver que es lo que hacía la comparación de CMP DI, BX o algo así que he visto, ver donde toma los valores y verás las "variables" que contienen ese picture, normalmente las estructuras suelen tener un puntero que indican donde están y luego una especie de estructura de bytes, no siempre aprovechada al máximo pero si se rigen por unos datos, es cuestión de probar y mirar, tal y como lo haces :).

Saludos.
En línea

"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com
Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Comparacion por imagenes, duda ;D.
« Respuesta #2 en: 14 Diciembre 2008, 23:22 pm »

Ok shaddy gracias por la respuesta, de todas formas tocara revisar a fondo y ver diferencias para poder llegar a algo  :rolleyes:.

salu2  ;D

amerikano
En línea





Mi blog:
http://amerikanocls.blogspot.com
KJD


Desconectado Desconectado

Mensajes: 314



Ver Perfil
Re: Comparacion por imagenes, duda ;D.
« Respuesta #3 en: 15 Diciembre 2008, 11:51 am »

Tambien lo que suele hacer es obtener el hash de cada imagen o tambien, convertir la imagent en una cadena Base64 y despues comparar dos cadenas de texto, eso si, para imagenees medianas a chicas porque muy grandes se vuelve algo lenta la rutina. :rolleyes:
En línea

"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines