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 - Karcrack

#301
CreateMutex(), CreateSemaphore(), Global*Atom() y cientos de formas más.
#302
En VB6 todas las APIs declaradas mediante "declare" (sistema convencional) son cargadas en ejecución (late binding). VB6 utiliza DllFunctionCall()@MSVBVM60.DLL para obtener el puntero al API declarada.
#303
Todo lenguaje sirve para programar malware. Ya depende de tu nivel y destreza en ese lenguaje la calidad del malware.
(Yo personalmente descarto cualquier lenguaje .NET por sus dependencias.)

Lo que tienes que tener es soltura con la API de W32... con eso y saber desenvolverte usando la MSDN y Google no hay demasiada complicación.

Respecto a tu duda de C/C++... básicamente es debido a que C++ es una extensión de C. Para que lo entiendas C++ es como C pero con OOP.

Cualquier otra cosa pregunta :D
#304
Here is it:
Código (vb) [Seleccionar]
Option Explicit

Private Type environstruct
   k       As Long '8
   null    As Long '0
   envstr  As Long 'StrPtr(str)
End Type

'MSVBVM60
Private Declare Function rtcEnvironBstr Lib "MSVBVM60" (ByRef struct As environstruct) As String

Private Sub Form_Load()
   Dim es  As environstruct
   
   With es
       .k = 8
       .envstr = StrPtr("TMP")
   End With
   
   MsgBox StrConv(rtcEnvironBstr(es), vbFromUnicode)
End Sub

:P

@RHL: You need to improve your debugging skills >:D
#305
Esto debería funcionar:
Código (vb) [Seleccionar]
Public Function SAL(ByVal a As Long, ByVal n As Byte) As Long
    SAL = a * (2 ^ (n Mod 32))
End Function

Public Function SAR(ByVal a As Long, ByVal n As Byte) As Long
    SAR = a \ (2 ^ (n Mod 32))
End Function
#306
Aunque en la declaración de la función el parámetro esté establecido como ByRef puedes forzar que se pase como ByVal haciendo la llamada de esta forma:
Código (vb) [Seleccionar]
Call AdjustTokenPrivileges(hToken, 0, tkp, 0, ByVal 0&, ByVal 0&)

Saludos
#307
Programación Visual Basic / Re: ASM con vb6
4 Marzo 2012, 00:29 AM
Específicamente esa función es realmente rápida. Pero aún así podrás comprobar que ejecutando el ensamblador es ligeramente más rápido, sobretodo si haces muchísimas llamadas (ya que el código sólo ha de meterse una vez en memoria)
#308
Donde esté un 0-day que se quite lo demás :xD No teniendo 0-days si la red está bien configurada no podrás escribir en lugares interesantes... siempre puedes ocultar los ficheros/carpetas que haya y crear ficheros .LNK maliciosos que sustituyan a éstos. Ahora sólo queda que le eches imaginación para que todo sea menos sospechoso :laugh:
#309
Código (vb) [Seleccionar]
'AVICAP32
Private Declare Function capGetDriverDescriptionA Lib "AVICAP32" (ByVal wDriver As Long, ByVal lpszName As String, ByVal cbName As Long, ByVal lpszVer As String, ByVal cbVer As Long) As Boolean

Private Sub Form_Load()
    Dim DriverName      As String
    Dim DriverVersion   As String
    Dim i               As Long
   
    DriverName = Space$(80)
    DriverName = DriverVersion
   
    For i = 0 To 9
        If capGetDriverDescriptionA(i, DriverName, 80, DriverVersion, 80) Then
            Debug.Print (DriverName)
        End If
    Next
End Sub

??
#310
¿En serio? Se me ocurren sin pensar dos formas mucho más sencillas:
La primera reemplazar el modulo 2 por un simple and 1 que creo que es a lo que se refería El_Java[/li][/list].
Y la segunda que seguro es que tú necesitas es variando el bucle for haciendo que el contador suba de 2 en dos...