Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: .:UND3R:. en 17 Noviembre 2013, 05:08 am



Título: Duda con vbaStrVarVal
Publicado por: .:UND3R:. en 17 Noviembre 2013, 05:08 am
¿Que hace exactamente vbaStrVarVal?, sería ideal si me dan un ejemplo, tengo esto:

vbaStrVarVal
uno de sus argumentos apunta a:
08 00 43 00
y otro con cero, me retorna:

72

Saludos


Título: Re: Duda con vbaStrVarVal
Publicado por: Danyfirex en 17 Noviembre 2013, 17:46 pm
bueno no se si esto te ayude. realmente no se que hace la función.  :rolleyes:


lo que si te puedo decir que se cumple (vbaStrVarVal)en esta parte de codigo

Text1.Text = Format(10, "Currency")


pero solo si se asigna a un control directamente.

si se hace de esta forma no se cumple (vbaStrVarVal)
dim x as courrency
x = Format(10, "Currency")


cuando digo se cumple quiero decir que si se usa.

saludos




Título: Re: Duda con vbaStrVarVal
Publicado por: Karcrack en 17 Noviembre 2013, 18:17 pm
Simplemente duplica la cadena almacenada en una variable de tipo Variant... No tengo aquí VB6 pero este código debería de llamarla:
Código
  1. Dim a As Variant
  2. a = "Test"
  3. MsgBox CStr(a)
Imagino que sin CStr() también se haría el casting implícito pero sin poder compilarlo ni idea... El compilador de VB6 es tan estúpido que siquiera eliminará la variable innecesaria jaja

Por cierto, el valor que te retorna es el tamaño de la cadena copiada devuelto por __vbaStrVarCopy()


Título: Re: Duda con vbaStrVarVal
Publicado por: ThunderCls en 17 Noviembre 2013, 18:31 pm
¿Que hace exactamente vbaStrVarVal?, sería ideal si me dan un ejemplo, tengo esto:

vbaStrVarVal
uno de sus argumentos apunta a:
08 00 43 00
y otro con cero, me retorna:

72

Saludos

Si mal no recuerdo es una funcion de conversion de cadena a numero...o visceversa, no estoy seguro para que lado... :P


Título: Re: Duda con vbaStrVarVal
Publicado por: MCKSys Argentina en 18 Noviembre 2013, 04:07 am
__vbaStrVarVal convierte un valor string en numero. Recibe 2 parametros:

El primero es un ptr a la variable variant (tipo string) que se convertira en numero.
El segundo es un ptr que PARECE ser siempre 0.

El resultado se devuelve en eax.

Como el parametro a convertir es un variant string, el valor real del string (el que se convertira) esta almacenado 2 DWORD's despues del que apunta el ptr. (Como referencia, el primer byte de un variant string es 08).

En otras palabras, (en Olly) haces followInDump del parametro, verificas el 08 al inicio y haces un followDWORDInDump del 3er DWORD. Asi llegas al string (es "UNICODE").

Saludos!


Título: Re: Duda con vbaStrVarVal
Publicado por: Karcrack en 18 Noviembre 2013, 10:13 am
Pues patiné :rolleyes: