Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - HaDeS, -

#21
Me parece que existen varios archivos en windows que el mismo sistema operativo los protege, creo que uno de esos es el autoexec.bat, y por eso no es tan fácil leer su contenido, estos archivos van a retornar siempre el 32 de archivo.
acabe de investigar un poco, y encontre una api que te puede ayudar a averiguar si el archivo que estas averiguando por sus atributos es o no un archivo protegido por windows. El api es SfcIsFileProtected y podes encontrar sus especificaciones acá: http://msdn2.microsoft.com/en-us/library/aa382536.aspx.
En base a esas especificaciones arme este código:
Código (vb) [Seleccionar]

Private Declare Function SfcIsFileProtected Lib "sfc.dll" (ByVal Handle As Long, ByVal ProtFileName As Long) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long

Private Sub Command1_Click()
Dim res&
res = SfcIsFileProtected(0, StrPtr("C:\Windows\explorer.exe")) 'pasamos como parámetro, el handle 0, que no es necesario y la ruta del archivo
If res = 0 then
msgbox "Archivo no está protegido o no existe"
else
msgbox "Archivo protegido"
end if

msgbox GetLastError 'aca podemos mirar si el archivo no existe
End Sub


Bueno, mira a ver si te sirve
saludos ;)

aca el tema de los recursos protegidos por windows: http://msdn2.microsoft.com/en-us/library/aa382551.aspx
#22
Quzás te sirva este manual sobre winsock + http que postee hace varios días, y que no se le dió la suficiente importancia, pero te puede servir xD
Link: http://foro.elhacker.net/index.php/topic,186798.0.html

Ahora te explico yo variada cosa, para el login y el user logeado con éxito, podes mandar por un GET el user con su respectiva clave, algo como:

GET /login.php?u=usuario&p=password HTTP/1.1
Host: tupagina.com
Connection: Close


Y el login.php que contiene el código:
Código (php) [Seleccionar]

//conexión a mysql y la selección de la base de datos

$usuario=htmlspecialchars($_GET['u']);
$clave=htmlspecialchars($_GET['p']);
$sentencia='SELECT * FROM tabla_usuarios WHERE usuario = "'.$usuario.'" LIMIT 1';
$campos=mysql_fetch_array(mysql_query($sentencia));
//cerras conexión
if(strtolower($campos['usuario'])==strtolower($usuario) && $campos['clave']==$clave){
echo 'logged=1';
}else{
echo 'logged=0';
}


y en el dataarrival del winsock pones:
Código (vb) [Seleccionar]


dim Datos as string
winsock1.getdata datos

vars=split(datos,"=")(0)
cont=split(datos,"=")(1)

if vars="logged" then
   if cont="1" then
    msgbox "usuario loggeado"
   else
    msgbox "clave o usuario incorrectos"
end if


Bueno, que te sirva!
Saludos :P
#23
WarZone / Re: Para los Guerreros de: WarZone !
11 Noviembre 2007, 05:07 AM
Cita de: M4rcl4n0 en 11 Noviembre 2007, 03:48 AM
jaajajaj soy un fracaso xD

Bueeeenooo, si tú lo dices :xD
Mentiras man, explicate, en que se puede ayudar?

Saludos!
#24
Bueno, mira un code diferente :P, es que me gusta codear jaja
Código (vb) [Seleccionar]

Private Sub Command1_Click()
Dim Canal%, palabras$, palabra$, palabras_por_separado As Variant, ruta$, x% 'Declaramos todas las variables
Canal = FreeFile 'Abrimos un canal libre de escritura/lectura
Open "c:\palabras.txt" For Input As Canal 'Abrimos el archivo c:\palabras.txt en modo lectura por el canal "canal"
palabras = Input$(LOF(Canal), Canal) 'Leemos todo el contenido del archivo
Close #Canal 'Cerramos el canal
palabras_por_separado = Split(palabras, vbCrLf) 'Guardamos en un array todas las palabras que leimos delimitadas por enter
x = Random(0, UBound(palabras_por_separado)) 'Llamamos a la función Random, y nos retorna un número entre 0 y el número de palabras que hay
palabra = palabras_por_separado(x) 'La palabra (La que metemos en el text1.text) es el numero aleatorio que nos dió la función Random
Text1.Text = palabra
End Sub

Private Function Random(ByVal Menor As Variant, ByVal Mayor As Variant) As Single 'Función para retornar un número aleatorio
Randomize 'Inicializamos el generador de números aleatorios
Random = Int((Mayor - Menor + 1) * Rnd + Menor) 'Restamos los do números  mas uno, lo multiplicamos por un valor cualquiera, y se lo sumamos de nuevo al menor, así garantizamos que el numero que multiplicamos no sea menor que el número menor
If Random > Mayor Then Random = Mayor 'Si el número que retorno es mayor que el número mayor, entonces retornamos el número mayor
End Function


Ahí te explique mi code, el tuyo tambíen esta bien, si te inicia siempre en la misma palabra, pon un "Randomize" antes de utilizar el "Rnd".

Saludos :)
#25
Programación Visual Basic / Re: Error al compilar
8 Noviembre 2007, 21:34 PM
Intenta poner el:
Código (vb) [Seleccionar]

Set cFtp = New FtpSend

Antes de que empezes a utilizar sus métodos y funciones, o sea, luego del "Private Sub Form_Load".
Saludos ;)
#26
Corrije está línea:
Código (vb) [Seleccionar]

        If Mid(tmp, i, 1) = "_" And LCase(Mid(Text1.Text, i, 1)) = Chr$(KeyAscii) Then

A:
Código (vb) [Seleccionar]

        If Mid(tmp, i, 1) = "_" And LCase(Mid(Text1.Text, i, 1)) = letra Then


Saludos!, ahora lo pruebo que no ando en mi compu ;)
#27
Claro!, mira, para hacer que se compare sin importar si esta en mayus o en minus, lo que haces es, hacer que la letra insertada se pase a minúsculas con la función Lcase(), y luego donde se comparan las letras "Mid(Text1.Text, i, 1) = Chr$(KeyAscii)", haces que la letra que se sacó del text1.text se ponga también a minúsculas. Así:

Código (vb) [Seleccionar]

Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim tmp As String, letra As String
letra = LCase(Chr$(KeyAscii))
tmp = Text2.Text
If InStr(1, Text1.Text, letra, vbTextCompare) <> 0 Then
    For i = 1 To Len(Text1.Text)
        If Mid(tmp, i, 1) = "_" And LCase(Mid(Text1.Text, i, 1)) = Chr$(KeyAscii) Then
            Mid(tmp, i, 1) = Mid(Text1.Text, i, 1)
        End If
    Next i
End If
Text2.Text = tmp
Text3.Text = ""
End Sub


Saludos!
#28
Ya voy aprendiendo :P
Código (vb) [Seleccionar]

Private WithEvents MSN As MessengerAPI.Messenger

Private Sub Form_Load()
Set MSN = New MessengerAPI.Messenger
Set contactos = MSN.MyContacts

For Each contacto In contactos
    If contacto.Status <> 1 Then '1 = offline, no utilizes tantos "or" en tu código...
        List1.AddItem contacto.SigninName
    End If
Next
End Sub


Editado. A parte de que me falto el "saludos :)", se me olvidó decirte que si estás usando el option explicit, tenes que declarar obligatoriamente cada variable, para el user, podes poner al principio del código "Dim user".
#29
:O
Código (vb) [Seleccionar]

Dim i As Integer

Private Sub Command1_Click()
Text2.Text = ""
For i = 1 To Len(Text1.Text)
    Text2.Text = Text2.Text & "_"
Next i
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
Dim tmp As String, letra As String
letra = Chr$(KeyAscii)
tmp = Text2.Text
If InStr(1, Text1.Text, letra) <> 0 Then
    For i = 1 To Len(Text1.Text)
        If Mid(tmp, i, 1) = "_" And Mid(Text1.Text, i, 1) = Chr$(KeyAscii) Then
            Mid(tmp, i, 1) = Chr$(KeyAscii)
        End If
    Next i
End If
Text2.Text = tmp
Text3.Text = ""
End Sub

No le agregue espacios después del "_" porque se me complicaba la cosa, pero ahí está!
Tenes que agregar tres textbox, el primero es el de la palabra, el segundo donde se dibujan los "____" y el tercero donde metes la letra. También agrega un commandbutton-

Saludos!
#30
Mmm, prueba esto:
Código (vb) [Seleccionar]

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Ese lo metes despues del "Public WithEvents MSN as MessengerApi.Messenger", y en el código que te puse, pon después del "DoEvents" esto:
Código (vb) [Seleccionar]

Sleep 1000

Así se asegura de que la ventana de opciones aparecerá, y el contenido sea insertado correctamente.

Lo del error que te sale es cuando corres un activex, y posiblemente la libreria a la que llames este dañada o simplemente no esté (Me parece que es así :P, alguién que por favor aclare).
Saludos!