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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Buscar cadena UNICODE en un exe
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar cadena UNICODE en un exe  (Leído 2,203 veces)
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Buscar cadena UNICODE en un exe
« en: 30 Mayo 2010, 18:35 pm »

Hola que tal ?

veran intento buscar una cadena que esta en unicode i que esta dentro de un ejecutable,loo que yo e echo es lo sigueinte:
Código
  1. DWORD Bytes;
  2.  
  3. HANDLE File = CreateFile("Ar.exe",GENERIC_READ+GENERIC_WRITE,FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0);
  4. int Size = GetFileSize(File,0);
  5. LPVOID Buffer[Size];
  6. ReadFile(File,Buffer,Size,&Bytes,0);
  7.  
  8.  

Bueno eso me lee el erchivo y me guarda el contenitdo en Buffer,pero como ago ahora para buscar en el buffer una palabra que esta en unicode?,mi idea era con un bucle For buscar los numeros corespondientes a los caracteres,pero nose como plantearlo exactamente :S

Código
  1. for(int i=0;i< sizeof(Buffer);i++)
  2. {
  3. /* aqui que nose que hacer :S */
  4.  
  5. }
  6.  

alguna sugerencia?

saludos


« Última modificación: 30 Mayo 2010, 19:17 pm por Riki_89D » En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: Buscar cadena UNICODE en un exe
« Respuesta #1 en: 30 Mayo 2010, 20:08 pm »

La idea del for() es buena. Tienes que hacer un puntero al buffer e ir pasando con un bucle y guardarlo supongo.

Saludos :P


« Última modificación: 26 Agosto 2010, 01:35 am por Horricreu » En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Buscar cadena UNICODE en un exe
« Respuesta #2 en: 30 Mayo 2010, 20:15 pm »

Ya,estoi probando cosas pero no me sale del todo,por ejemplo quiero busar la cadena: Ver",seria asin:
Código
  1. char Letras[6] = {86,0,101,0,114};
  2. int inc = 0;
  3.  
  4. for(int i=0;i< sizeof(Buffer);i++)
  5. if(Buffer[inc] == Letra)
  6. {
  7. ...
  8. break;
  9.  
  10. }
  11. inc +=1;
  12. }
  13.  

pero nose como puedo comparar Todo el ARRAY letra con Buffer[inc] es deci comparar todos los parametros del array no solo el primero que seria la primera letra "V"

saluts
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: Buscar cadena UNICODE en un exe
« Respuesta #3 en: 30 Mayo 2010, 20:18 pm »

Para comparar matrices puedes usar memcmp().

Saludos :P
« Última modificación: 26 Agosto 2010, 01:34 am por Horricreu » En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Buscar cadena UNICODE en un exe
« Respuesta #4 en: 30 Mayo 2010, 20:36 pm »

El bucle me queda asin:
Código
  1. for(int i=0;i< sizeof(Buffer);i++)
  2. {
  3. if(memcmp(Buffer,Letras,5))
  4. {
  5.                MessageBox(0,"Ecnontrado",0,0);
  6.                break;
  7.                }
  8.  
  9. inc +=1;
  10. }
  11.  

pero tiene que estar  mal,por que si me lo encuentra pero si cambio el priemr valor de array Letra me lo encunetra igual i no puede ser,ose en vez de "Ver" si le quito la V i pnogo otro caracter,por ejemplo la L seria "Ler" en ves de "Ver" i me lo "Encuentra" igual osea que esta mal,ya nse que hacer :(
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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