Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Riki_89D en 24 Mayo 2010, 21:31 pm



Título: ASCII c++
Publicado por: Riki_89D en 24 Mayo 2010, 21:31 pm
Hola que tal andan?

veran tengo este code:
Código
  1. #include <C:\Dev-Cpp\All.h>
  2. using namespace std;
  3.  
  4. int main(void)
  5. {
  6.  
  7. int String = 82;
  8. HANDLE Fil = CreateFile("f.dll",GENERIC_READ+GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
  9. int SizeMax = GetFileSize(Fil,0);
  10. SizeMax <<1;
  11. HANDLE Map = CreateFileMapping(Fil,0,PAGE_READWRITE,0,SizeMax,0);
  12. void *ptr = MapViewOfFile(Map,FILE_MAP_ALL_ACCESS,0,0,0);
  13. char *ptr2 = (char*)ptr+0x54234;
  14. memcpy(ptr2,&String,sizeof(String));
  15.  
  16.  
  17.  
  18.  
  19. return 0;
  20. }
  21.  
  22.  

ese code escribe en la direccion de memoria especificada un caracter,escribe la letra R que es 82 en ascii,pero necesito escribir mas de un caracter i nose como hacerlo ,los espacio etc etc como escribo mas de un caracter en ASCII,la variable String es  = 82,no puedo poner String =82105 etc...es decir no puedo poner todos los caracteres juntos en ASCII,tengo k hacerlo asi por k es unicode por desgracia mia


un saludo


Título: Re: ASCII c++
Publicado por: [Zero] en 24 Mayo 2010, 21:40 pm
Ahí no estás escribiendo un 82, estás escribiendo un 00000082, que no es lo mismo. Utiliza 'char caracter=82'.

Para copiar más de una letra no tienes más que usar un bucle:

Código
  1. char *String="asdf";
  2. (...)
  3.  
  4. char *ptr2=(char*)ptr+0x54234;
  5. for(int i=0;i<lstrlenA(String);i++)
  6. {
  7.     ptr2[i]=String[i];
  8. }

Saludos


Título: Re: ASCII c++
Publicado por: Riki_89D en 24 Mayo 2010, 21:55 pm
Heii k tal?

lo k pasa es que no quiero escribir un 82 sino el caracter R,es que lo k quiero modificar esta en UNICODE i klaro no puedo escribir Directamente una cadena normal...menudo un problemo k me ronda...i claro es facil decir Busca en Google si yo lo entiendo...pero yo YA BUSCQUE!! xD i no encontre nada! por eso estoy aki ando ya desesperado

gracias por tu respuesta


Título: Re: ASCII c++
Publicado por: [Zero] en 24 Mayo 2010, 22:16 pm
Para unicode es casi lo mismo, en unicode las letas se alternan con ceros, y el caracter nulo es un doble cero: {'a',0,'s',0,'d',0,'f',0,0}

Puedes usar el mismo code de antes utilizando lstrlenW en vez de lstrelenA y (wchar*) en vez de (char*).

Saludos


Título: Re: ASCII c++
Publicado por: Riki_89D en 24 Mayo 2010, 22:28 pm
Ok thanks peor una ultima kosa,no me reconoce WCHAR el Dev-C++:S esta en alguna libreia esecial o algo?


Título: Re: ASCII c++
Publicado por: [Zero] en 25 Mayo 2010, 14:43 pm
Código:
http://msdn.microsoft.com/en-us/library/ms684497(EXCHG.10).aspx

Saludos


Título: Re: ASCII c++
Publicado por: atamd en 29 Mayo 2010, 04:58 am
Para unicode es casi lo mismo, en unicode las letas se alternan con ceros, y el caracter nulo es un doble cero: {'a',0,'s',0,'d',0,'f',0,0}

Puedes usar el mismo code de antes utilizando lstrlenW en vez de lstrelenA y (wchar*) en vez de (char*).

Saludos