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
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Problema al limpiar variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al limpiar variable  (Leído 6,899 veces)
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Problema al limpiar variable
« Respuesta #10 en: 13 Abril 2013, 20:22 pm »

no son cadenas como en lenguajes de alto nivel y si estoy mal corrijanme

Cuando usas APIs de Windows desde MASM, el concepto de szstring se define como una secuencia de bytes que termina en un byte nulo (osea 0 en ASCII).

Osea, que cuando llamas, por ej. a MessageBoxA, en el parametro lpText debes pasar un ptr a una szstring. Mas info: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Problema al limpiar variable
« Respuesta #11 en: 13 Abril 2013, 21:20 pm »

Citar
Cuando usas APIs de Windows desde MASM,
el concepto de szstring se define como una
secuencia de bytes que termina en un byte
nulo (osea 0 en ASCII).
esa secuensia de bytes estan almasenadas en posiciones de memoria a la cual para acceder a ellas hacemos referencia a una variable la cual acupa dicho espacio en memoria, no creo que interponiendo un cero en medio evite leer los demas bytes siguientes si dicho espacio es parte de la variable asignada.

Nota: si tengo tiempo boy a ser pruebas en mi pc aver que pasa ya que lo que digo son solo opiniones.

Saludos flamer y para limpiar la variable tienes que sobreescribir todo o llenarla de ceros


En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Problema al limpiar variable
« Respuesta #12 en: 14 Abril 2013, 01:02 am »

http://en.wikipedia.org/wiki/Null_terminated_string

El problema aca no es ese igual, la historia es que recv no trabaja con cadenas y con poner en 0 el primer byte no es suficiente si por ejemplo pasa esta secuencia:

1) recv lee la cadena "hola"
2) ponemos 0 en el primer caracter
3) recv lee la cadena bol

¿Y donde esta el terminador de cadena? ¿En el primer caracter que ahora es 'b'? En fin, que limpie todo o sino que ponga el terminador usando de base el tamaño que devuelve recv que para algo esta.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Problema al limpiar variable
« Respuesta #13 en: 15 Abril 2013, 19:56 pm »

memfill funciono bien y rapido.. pero lo que dice Eternal es buena opcion.. el tamaño de la 'cadena' esta dada en recv,, seria poner un 0 al final y listo.. ;)
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

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