Autor
|
Tema: ASCII c++ (Leído 4,351 veces)
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
Hola que tal andan? veran tengo este code: #include <C:\Dev-Cpp\All.h> using namespace std; int main(void) { int String = 82; HANDLE Fil = CreateFile("f.dll",GENERIC_READ+GENERIC_WRITE,0,0,OPEN_EXISTING,0,0); int SizeMax = GetFileSize(Fil,0); SizeMax <<1; HANDLE Map = CreateFileMapping(Fil,0,PAGE_READWRITE,0,SizeMax,0); void *ptr = MapViewOfFile(Map,FILE_MAP_ALL_ACCESS,0,0,0); char *ptr2 = (char*)ptr+0x54234; memcpy(ptr2,&String,sizeof(String)); return 0; }
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
|
|
|
En línea
|
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
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: char *String="asdf"; (...) char *ptr2=(char*)ptr+0x54234; for(int i=0;i<lstrlenA(String);i++) { ptr2[i]=String[i]; }
Saludos
|
|
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
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
|
|
|
En línea
|
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
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
|
|
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
Ok thanks peor una ultima kosa,no me reconoce WCHAR el Dev-C++:S esta en alguna libreia esecial o algo?
|
|
|
En línea
|
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
http://msdn.microsoft.com/en-us/library/ms684497(EXCHG.10).aspx Saludos
|
|
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
atamd
Desconectado
Mensajes: 1
|
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
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema al editar ascii
Ingeniería Inversa
|
0x98364
|
1
|
2,285
|
25 Enero 2011, 18:12 pm
por MCKSys Argentina
|
|
|
Traduccion a Ascii
Dudas Generales
|
Milo_EscorpioNN
|
2
|
3,758
|
23 Agosto 2011, 17:37 pm
por Milo_EscorpioNN
|
|
|
[Python] Ascii To Hex y Hex to Ascii
Scripting
|
Runex
|
0
|
3,315
|
8 Abril 2012, 15:09 pm
por Runex
|
|
|
[?] imprimir ASCII
Programación C/C++
|
dabaji
|
8
|
6,838
|
18 Junio 2012, 10:51 am
por Foxy Rider
|
|
|
lío ASCII
Ingeniería Inversa
|
paulagarcum
|
2
|
3,639
|
18 Octubre 2013, 16:49 pm
por paulagarcum
|
|