[duda] sobre punteros y signed

Iniciado por AlxSpy, 9 Enero 2011, 03:54 AM

0 Miembros y 1 Visitante están viendo este tema.

AlxSpy

hola amigos, me estoy iniciando en c++, estoy leyendo varios tutos , y unas refeencias que encontre en unos libros acerca de este lenguaje, anteriormente practicaba vb6, pero por querer aprender más y debido a las limitaciones de vb6 pues agarre c++, es que me recomendaron que este lenguaje es el ideal para continuar aprendiendo, hace poco encontre un tuto de apihooking de mazard me parecio interesante el tema (seguro uds. se habran topado con este buen tuto).
, asi que me concentre en lo que son punteros para entenderlo bien, y tengo dudas acerca de estas lineas:

BYTE *Buffer;
Buffer=(BYTE *)malloc(10);
...
*((signed int *) Buffer)=(DirApi+1)-Buffer;

mi duda no es en si el funcionamiento del codigo, sino la manera de manejar los punteros.
solo puse estas lineas donde se encuentra mi duda,lo que entiendo: aki Buffer es un puntero a un tipo BYTE,
el signed cambia el rango de valores, pero el "int*" para que está ahi?, si el tipo de dato del puntero Buffer es BYTE.
ojala me saquen de esta duda.
saludos.

Oblivi0n

Esa trozo de linea convierte a signed int el dato de Buffer

Hace cuanto que empzaste en C++? No se si con "tutos" te referiras a libros, pero creo que es mejor que te leas un buen libro para comprender bien el lenguaje y saber bien el standart, y luego meterte en otras cosas.

Por cierto en el codico, usas C, no C++, malloc() es una funcion del encabezado stdio.h

Saludos!!

Zzombi

bueno en ese código primero se hace un "cast" a (signed int *) y esto creo que lo hace para que le caiga lo que quiere meter  :xD a y por cierto.. ese método del trampolín ya es algo antiguo... ahora hay otros métodos que no requieren pisar bytes  :)

AlxSpy

Ok entonces esa linea convierte el buffer a signed int, para salir totalmente de dudas: en que casos es necesariohacer esto? , en este code por que es necesario hacerlo? que pasa con los datos cuando haces esto, es decir cambia en algo los datos?
zzombi dices que ya es antiguo esto y hay otros mejores, me recomiendas alguno?
ok ahora me busco un buen  libro para estudiar.

Zzombi

Cita de: alxspy en  9 Enero 2011, 14:26 PM
Ok entonces esa linea convierte el buffer a signed int, para salir totalmente de dudas: en que casos es necesariohacer esto? , en este code por que es necesario hacerlo? que pasa con los datos cuando haces esto, es decir cambia en algo los datos?
zzombi dices que ya es antiguo esto y hay otros mejores, me recomiendas alguno?
ok ahora me busco un buen  libro para estudiar.

me gusta mas el api hooking por método VEH  :)

Garfield07

Bueno, es un metodo un poco rudimentario no? :P
usad malloc de toda la vida...
http://c.conclase.net/librerias/?ansifun=malloc

Y sanseacabó xD


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

AlxSpy

#6
oks gracias.