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ú

Temas - cobein

#46
Bueno, estaba aburrido y se me ocurrio hacer este code, es para proteger las aplicaciones, no es infalible pero seguramente va a molestar bastante a un debugger.

Espero que les guste y aprendan algo del code =)

Descarga
http://www.uploadsourcecode.com.ar/d/I0LDiGZnKy25FwuwoMJm408wEN1SIkkT
#47
Aca les dejo un snippet que muestra como obtener el espacio libre, total y disponible de una unidad y formatearlo.

Código (vb) [Seleccionar]

Option Explicit

Private Declare Function SHGetDiskFreeSpace Lib "shell32" Alias "SHGetDiskFreeSpaceA" (ByVal pszVolume As String, pqwFreeCaller As Currency, pqwTot As Currency, pqwFree As Currency) As Long
Private Declare Function StrFormatByteSize64A Lib "SHLWAPI.DLL" (ByVal qdw As Currency, ByVal pszBuf As String, ByVal uiBufSize As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long

Private Sub Form_Load()
    Dim cFreeCaller As Currency
    Dim cTotal      As Currency
    Dim cFreeTotal  As Currency
    Dim cFormat     As Currency
    Dim sBuff       As String
       
    If Not SHGetDiskFreeSpace( _
       Environ$("HOMEDRIVE"), _
       cFreeCaller, _
       cTotal, _
       cFreeTotal) = 0 Then
   
        Debug.Print "Drive: " & Environ$("HOMEDRIVE")
        cFormat = cFreeTotal:   GoSub Format: Debug.Print "Total Free Space: " & sBuff
        cFormat = cFreeCaller:  GoSub Format: Debug.Print "Free Caller: " & sBuff
        cFormat = cTotal:       GoSub Format: Debug.Print "Total Space: " & sBuff

    End If
   
    Exit Sub
Format:
    sBuff = Space(32)
    StrFormatByteSize64A cFormat, sBuff, 32
    sBuff = Left(sBuff, lstrlen(sBuff))
    Return
End Sub
#48
Abro un nuevo tema asi todos se enteran de que esta esto.

Aca les dejo un link con infoemacion y tres estructuras para crear manifests para Vista y obtener distintos privilegios.

Link con informacion que deberian leer
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=463884&SiteID=1

Estructura de 3 manifest para Vista
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity
      name="App Name"
      processorArchitecture="x86"
      version="1.0.0.0"
      type="win32"/>
   <description>Application description here</description>
   <dependency>
      <dependentAssembly>
         <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
         />
      </dependentAssembly>
   </dependency>
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel
               level="asInvoker"
               uiAccess="False"/>
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>



<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity
      name="App Name"
      processorArchitecture="x86"
      version="1.0.0.0"
      type="win32"/>
   <description>Application description here</description>
   <dependency>
      <dependentAssembly>
         <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
         />
      </dependentAssembly>
   </dependency>
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel
               level="highestAvailable"
               uiAccess="False"/>
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity
      name="App Name"
      processorArchitecture="x86"
      version="1.0.0.0"
      type="win32"/>
   <description>Application description here</description>
   <dependency>
      <dependentAssembly>
         <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
         />
      </dependentAssembly>
   </dependency>
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel
               level="requireAdministrator"
               uiAccess="False"/>
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>
#49
Aca les dejo dos funciones para trabajar con archivos de tamaño superior a los 2GB.

Código (vb) [Seleccionar]

Private Const Bit31                         As Currency = 2147483647@
Private Const Bit32                         As Currency = 4294967295@

Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long

Private Function GetFileSizeEx(ByVal hFile As Long) As Currency
    Dim lLow    As Long
    Dim lHigh   As Long
    lLow = GetFileSize(hFile, lHigh)
    Call ToLargeInt(GetFileSizeEx, lLow, lHigh)
End Function

Private Function SetFilePointerEx(ByVal hFile As Long, ByVal lDistanceToMove As Currency, ByVal dwMoveMethod As Long) As Currency
    Dim lLow    As Long
    Dim lHigh   As Long
   
    Call FromLargeInt(lDistanceToMove, lLow, lHigh)
    lLow = SetFilePointer(hFile, lLow, lHigh, dwMoveMethod)
    Call ToLargeInt(SetFilePointerEx, lLow, lHigh)
End Function

Private Sub FromLargeInt(ByVal cLargeInt As Currency, ByRef lLow As Long, ByRef lHigh As Long)
    Do Until cLargeInt < Bit32
        lHigh = lHigh + 1
        cLargeInt = cLargeInt - Bit32
    Loop
    If cLargeInt > Bit31 Then
        lLow = -CLng(Bit32 - (cLargeInt - 1))
    Else
        lLow = CLng(cLargeInt)
    End If
End Sub

Private Sub ToLargeInt(ByRef cLargeInt As Currency, ByVal lLow As Long, ByVal lHigh As Long)
    cLargeInt = Bit32 * lHigh
    If lLow < 0 Then
        cLargeInt = cLargeInt + (Bit32 + (lLow + 1))
    Else
        cLargeInt = cLargeInt + lLow
    End If
End Sub

#50
Holi Holas, nada nuevo bajo el sol =), aca les dejo una mini clase (la mas chica del mercado creo :p ) que reemplaza a un timer, yo usualmente utilizo una en mis proyectos que es bastante grande, hasta diria un poco desmedida para un simple timer asi que en un momento de idle decidi hacer esta que considero es mucho mas razonable.

La clase tiene 101 lineas de code, self callback y es IDE safe, una aclaracion para los que les gusta usar el STOP (cosa totalmente desacosejable), si lo hacen la clase no va a destruir el timer y en consecuencia van a tener comportamientos erraticos... llamese varios timers pulsando el mismo evento. Nada tragico puesto que no va a crashear el IDE pero se los advierto simplemente.

Descarga: http://www.uploadsourcecode.com.ar/d/QuQTw0n1elsDABYCzw9tutY3MrrCY8zr

Se puede reducir un poco mas... digo esto simplemente para evitar comentarios de gente muy sabia, pero asi es mas que suficiente para mi.
#51
Holas, aca les dejo una mini utilidad para guardar las capturas de pantalla automaticamente, lo que hace es por medio de un hook detectar cuando se captura la pantalla y guardar la imagen en el disco en formato jpg asignandole un nombre aleatorio, la aplicacion es totalmente portatil, guarda los settings en un ini y soporta rutas relativas.

Se que hay muchos de estos por ahi pero... tienen demaciadas opciones y cosas que realmente no me interesan asi que decidi hacer uno propio.

Tested on XP SP2 and Vosta

Descarga: http://www.uploadsourcecode.com.ar/d/P4rHDNtaErcBGIE269CyfuXZVF0zvAxw
#52
Hola aca les dejo algo que estaba haciendo en mi tiempo libre, es un "troyano" no terminado 100%, como mi tiempo libre es casi nulo en este momento lo dono a la humanidad para que experimenten con el.
Se conecta directamente a la consola y hace magia!!!! xD bueno no tanto pero tiene algun que otro code interesante y que puede ser de utilidad.

Enjoy it!

Descarga
http://www.uploadsourcecode.com.ar/d/RCr7BoG46Es0qjOhvszlGeDLkmevSxU6
#53
Hola, aca les dejo un snippet que muestra como obtener carpetas del sistema, no es nada nuevo pero este codigo esta rediucido y bastante optimizado.


Código (vb) [Seleccionar]
Option Explicit

Private Const CSIDL_SYSTEM As Long = &H25

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function PathAddBackslash Lib "shlwapi.dll" Alias "PathAddBackslashA" (ByVal pszPath As String) As Long

Private Function GetSpecialfolder(ByVal CSIDL As Long) As String
    Dim sPath   As String * 260
   
    If SHGetSpecialFolderLocation(0, CSIDL, CSIDL) = 0 Then
        If Not SHGetPathFromIDList(CSIDL, sPath) = 0 Then
            Call PathAddBackslash(sPath)
            GetSpecialfolder = Left$(sPath, lstrlen(sPath))
        End If
    End If
End Function

Private Sub Form_Load()
    Debug.Print GetSpecialfolder(CSIDL_SYSTEM)
End Sub

#54
Holi holas

Varias veces preguntaron como crear splash screen con PNGs asi que aca dejo una clase muy simple de usar, una llamada y listo.

Espero que les guste.

Descarga

Abril 18: http://cobein27.googlepages.com/

#55
Hola, tengo una duda, es posible usar CreateRemoteThread y pasar varios parametros, por lo general se usa lpParameter y se le pasa un puntero, pero para llamar apis que utilizan varios parametros como hay que hacer, si es que se puede.

Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Any, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long

Gracias.
#56
Hola, como el titulo indica este proyecto trata de utilizar librerias creadas con VB sin registrarlas, para eso cree un programa bastante simple que nos genera de manera automatica un modulo de clase el cual luego se utiliza como "interfaz" para acceder a las funciones exportadas por nuestra libreria.

Lean las instrucciones antes que nada, en la descarga se incluyen ejemplos y si siguen el tuto, tendrian que aprender a utilizarlo en unos pocos minutos.

Espero que les sea util.

Descarga

Beta: http://www.uploadsourcecode.com.ar/d/fIv6Ok8Iv2Wu2sv659NszN8fmdRFrHwR

Captura del programa
#57
Bueno despues de dar varias vueltas con este code me decidi a hacer un Addin, el code funciona correctamente y sin fallas (hasta ahora) no modifica nada de nada y es completamente transparente para el usuario.

Agregue algunas de las ideas que aportaron y otras quedaran para futuras versiones, testeado en XP y Vista. Creditos (dentro del prog.)

Despues de algunos problemas con el tamaño de los controles... quiero creer que esta solucionado

Descarga: (Fix del tamaño) http://www.uploadsourcecode.com.ar/d/tKUR719nBculYotWAzXVjhZGHWtAu1bc

Instalacion: Copien ambos ficheros dentro del directorio de VB, luego abran un proyecto nuevo, y agreguen como referencia (Proyecto>Referencias) FixPalette.dll , luego reinicien VB y tendria que estar andando. 

Espero que les guste y sea util.

Importante: Si tienen instalada la primer version del programa, desinstalenla antes de usar esta, no quiero escuchar que rompi nada =]
Version vieja por si alguno la necesita para desinstalar: http://www.uploadsourcecode.com.ar/d/aM3tLle5XMVjkfXL8n3V4JP0rMeWCvLR



#58
Hola, queria saber si alguien tiene informacion, links o lo que sea sobre  Matrix transformations AKA GdipSetImageAttributesColorMatrix, lei bastante y jugue otro poco con esto y tengo una idea general de como funciona, pero la verdad es que no encontre mucha info de este tema.

#59
Hola, hace mucho que no ando por aca, aca les dejo 2 UC en los que estoy trabajando ambos en beta, uno es similar a un Image control con la diferencia que soporta PNG entre otros formatos, el control se dibuja con su respectiva transparencia etc, y el segundo es un complemento de este, un imagelist diseñado para trabajar con el Image control.

Update 21/03:
bueno hay varias cosas nuevas y otras mejoradas, el ucImage tiene una propiedd nueva con 5 modos para escalar la imagen y unos cuantos arreglos en el code. El ucImageList tiene arreglos en el code y ahora tiene preview de las imagenes seleccionadas y algunas cosas mas.

Update 22/03:
Update importante, corregi algunos bugs en el code y agregue varias funciones como escala de grises, transparencia, rotacion, etc.

Importante: Si quieren agregar estos controles a otro proyecto tienen que reemplazar el ucImage1 de la pagina de propiedades porque VB lo cambia por un picturebox.

http://www.uploadsourcecode.com.ar/d/YAOBBmXJOaf9XAvYdz376yk5j5MOhViZ


Captura del ucImage

#60
Holas, aca les dejo una super libreria que consta de unas vertiginosas 16 lineas de codigo y es mas que suficiente para subclasificar en VB sin crashear el IDE apretando stop o haciendo alguna de esas. La libreria exporta 2 funciones una para subclasificar y la otra para des-subclasificar y esta compilada con el SuperDuper asi que no hay necesidad de registrarla. Hasta donde vi no crashea ni a palos y todo el proyecto mas el ejemplo son menos de 30 lineas.

Bueno basta de bla bla

Descarga http://www.classicvisualbasic.com/codigos/dllsubclasser/index.php
#61
Bueno esto no es nada super fancy es solamente un modulito para leer la linea de comandos de un proceso externo puede ser util para algun tipo de SPY++ o algo asi supongo.
Espero que les guste

Nota: si el proceso se inicio sin parametros en la linea de comandos solamente va a devolver la ruta del exe

http://www.classicvisualbasic.com/codigos/read-command-line/index.php
#62
Hola, hace rato que no ando por aca, les dejo un un a prueba que hice de inyeccion de dll en VB, esta completo, inyecta, descarga y como parte del test subclasifica el notepad y agrega un item mas al menu de sistema.

Las Dlls estan compiladas de manera diferente y estan incluidas pero para el que quiera compilarlas va a necesitar un control de compilador (Compiler Control o VBAdvance o algun otro) en este caso lo compile con mi propio control pero cada uno puede elegir que hacer.

Tengan en cuenta que las DLLs usan un Type Library (el codigo esta incluido)

http://rapidshare.com/files/71050330/Dll_Injection.zip.html
#63
Programación Visual Basic / IP scanner
31 Agosto 2007, 20:35 PM
Nueva version

Se que muchos no lo querian ver porque estaba compilado, asi que ahora la descarga tiene el source code, el programa para compilar y el codigo del compilador.

Bueno les comento, hace unos dias estaba trabajando en un programita, un IP Scanner, y la verdad esta funcionando correctamente (al menos aca), puede escanear 255 IPs en alrededor de 1 segundo, muy rapido, el programa basicamente usa RAW Sockets y lo que hace es enviar ARP packets y luego leer el ARP Table,  esta hecho en VB 6 compilado para correr desde la consola y empaquetado con YP.

Me gustaria que lo prueben y me comenten como funciona y si tienen alguna idea para mejorarlo. Cuando este "listo" funcionando bien y probado voy a postear el codigo aca para cuaquier interesado.

Aca les dejo el link http://www.filefactory.com/mupc/9af0e7/

Un saludo y gracias.