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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: [1]
1  Programación / Ingeniería Inversa / Alguien Sabe De Esta Conversión/cifrado? en: 21 Septiembre 2011, 09:51 am
Bueno... Hola A Todos, Soy Nuevo Por Aqui Y Me Gustaria Que Me Ayudacen A Resolver La Siguiente Pregunta:

¿Como Es Que Se Obtienen Los Valores[Descritos Más Abajo]?, ¿ Que Conversión ó Tipo De cifrado Se Usa?:

Citar
4.20.020.0598 ----> 40368D
4.20.020.0604 ----> 40368D
4.20.021.0598 ----> 40368D
4.20.121.0613 ----> 4034F5
5.20.022.1125 ----> 4037E9
5.20.250.1125 ----> 408D34
5.30.021.1181 ----> 4037E9
5.30.150.1181 ----> 4037E9
5.50.021.1288 ----> 403860

Intente Con Lo Que Se De Conversiónes Y No Pude Hacer Mucho... También estuve Buscando Como Se Hacen Este Tipo De Conversiónes ó El Tipo De cifrado Usada Y Nada!... :-\

 :) ...Espero Me Puedan Ayudar... :)
2  Programación / Scripting / Documentación De: "Kill Bytes 2" en: 20 Septiembre 2011, 08:53 am
Bueno Como Comente En Mi Anterior Post:

http://foro.elhacker.net/scripting/batvbscodigo_dudoso-t338763.0.html

Y Como Prometi Al Compañero "S3kh" Documentaria El Code, Aqui Lo Dejo. "Aquel Por El Que Tube Una Duda Hace Tiempo, Pero Como Siempre La Paciencia y Estudio Me Llevaron A La Solución".

 ;-) ;-) Les Dejare Dos Codes: ;-) ;-)

1°; El "Script" Como Tal[Solo Servira Para Explicaciónes].

Código:
On Error Resume Next ' Omisión De Errores Durante La Ejecución[Para El Contro De Los Mismo].
Dim Port_Map() 'Declaración De La Matriz Para Unidades Extraibles.
ReDim Port_Map(10) 'Redimención De La Matriz "Port_Map".
Dim Bit_Map() ' Declaración De La Matriz Para Posibles Archivos Maliciosos.
ReDim Bit_Map(512) ' Redimención De La Matriz "Bit_Map"
Set WshFSO = CreateObject("Scripting.FileSystemObject") 'Declaración Del Objeto "Scripting.FileSystemObject"
Set WshShell = CreateObject("Wscript.Shell") 'Declaración Del Objeto "Wscript.Shell"
User = WshShell.ExpandEnvironmentStrings("%UserName%") ' Expandiendo La Variable %UserName% Para Fines De Escritura.
Temp = WshShell.ExpandEnvironmentStrings("%Temp%") ' Expandiendo La Variable %Temp% Para Fines De Escritura y Ejecución.
Unit = Array("D","E","F","G","H","I","J","K","L","M","N") ' Array De Posibles Unidades Extraibles.
ExtE = Array("bat","BAT","cmd","CMD","com","COM","dll","DLL","exe","EXE","hsh","HSH","js","JS","jse","JSE","lnk","LNK","pif","PIF","scr","SCR","vbs","VBS","vbe","VBE","wsf","WSF","wsh","WSH") ' Array De Posibles extensiones Maliciosas.
CarE = Array("Data","Restore","Recycler","System") ' Array De Posibles Carpetas De Malware.
ROOTF = WshFSO.GetAbsolutePathName(".\") ' Obtengo El Path Desde Donde Se Ejecuta El Script.
Set PATH = WshFSO.GetFolder(ROOTF & "\" & "LOGS") ' Tomo El Directorio LOGS
CPATH = PATH.ShortPath ' Obtengo El Nombre Corto Del "Path:LOGS".
Do ' Uso De "Do" Para Iniciar El Programa Renuentemente Si El Usuario Lo Desea.
MAPING = MsgBox("¿Desea Seguir Ejecutando El Programa?",vbYesNo+vbQuestion,"Confirmación") ' MsgBox Para Que El User Acepte ó Decline A Iniciar La Aplicación De Nuevo.
If MAPING = vbYes Then ' Desde Aqui, Empieza Normalmente El Programa.
Do ' Aqui Otro "Do", Esta Vez Para Que "Regrese" Al Usuario Si La Opción No Es Un Numero.
FASM = InputBox("Elija Por Numero La Opción Deseada:"+Chr(10)+"1;Eliminar Virus De Unidades Con Registros."+Chr(10)+"2;Desocultar Carpetas De Unidades."+Chr(10)+"3;Terminar Procesos Locales Por Selección.","KILL BYTES","2",5000,7000) ' Aqui El InputBox Para Teclear La Opción Deseada.
Loop Until IsNumeric(FASM) ' Aqui Se Fueza A Solo Admitir Numeros.
Select Case (FASM) ' Aqui El Inicio De Un Case, Dependiendo De Lo Que Puso El User.
Case (0): ' Aqui Entra El Programa Si La Entrada Fue "Nula" o Cancelada.
WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation ' Mensaje De Despedida.
WScript.Quit ' Aqui Se Cierra La Aplicación.
Case (1): ' Aqui Entra El Programa Si El Numero Fue "1".
e = 0 ' Declaración De "e=0".
For i=0 To 10 Step 1 ' Empieza un "For" Para Saber Que Unidades Removibles Existen.
If (WshFSO.DriveExists(Unit(i) & ":")) Then ' Aqui Comprueba Si Existe La Unidad.
Temp_Var = Unit(i) ' Guarda En Una Variable Temporal La Letra De La Unidad Encontrada.
Set LIST = WshFSO.Drives(Temp_Var & ":") ' Aqui Toma El "Drive" ó Unidad.
If LIST.DriveType = 1 Then ' Compruba El Tipo De Unidad[Removible=1].
Port_Map(e) = Temp_Var ' Se Almacena En El Array Con Posición "e" La Variable Temporal.
e = e + 1 ' Aqui Solo Ira Sumando "1" Cada Vez Que Se Tenga Una Unidad.
End If ' Aqui Termina La Comprobación Del Tipo.
End If ' Aqui Termina La Comprobación De Unidad.
Next ' Aqui La Repetición Del "For" De Unidades Removibles.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "Session: " & User & " - Files" ' Aqui Escribe La Cabezera "Files" En "K-B.LOG".
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
f = 0 ' Declaración De "f=0".
For k=0 To e-1 Step 1 ' Empieza un "For" Para Recorrer Las Unidades Antes Obtenidas.
Root = Port_Map(k) & ":\" ' Se Guarda En Una Variable La Letra De La Unidad Actual + ":\".
Set PathA = WshFSO.GetFolder(Root) ' Toma La Unidad Removible[No Use "GetDrive" Ya Que Con Esa Propiedad No Se Puede Listar Archivos].
Set FILES = PathA.Files ' Lista Los "Archivos De Raíz" Dentro De La Unidad.
For Each FILE In FILES ' Aqui Un "For" Que Va Listando Uno A Uno Los Archivos.
Bit_Map(f) = FILE ' Se Almacena En El Array Con Posición "f" La Ruta y Nombre Del Archivo.
f = f + 1 ' Aqui Solo Ira Sumando "1" Cada Vez Que Se Tenga Un Archivo.
Next ' Aqui La Repetición Del "For" Para La Colección De Archivos.
Next ' Aqui La Repetición Del "For" Para La Colección De Unidades.
For l=0 To f-1 Step 1 ' Aqui Un "For" Para Enlistar La Colección De Archivos Antes Obtenida.
Set Cmp_File = WshFSO.GetFile(Bit_Map(l)) ' Obtiene El Archivo Actual[El Que Se Almaceno En La Posición "l" De Bit_Map].
If Cmp_File.Attributes<>0 Then ' Aqui Comprueba Los Atributos De Dicho Archivo.
Cmp_File.Attributes = 0 ' Aqui Cambia Los Atributos Si Fueron Diferentes De "0"[Normal=0].
End If ' Aqui Termina De Comprobar Los Atributos.
RFILE = Bit_Map(l) ' Aqui Pone El Archivo Antes Mencionado En La Variable "RFILE".
For m=0 To 29 Step 1 ' Aqui un "For" Para Comprobar Que El Archivo No Tenga Una Extención Igual A Las Listadas Dentro Del Array "ExtE".
If WshFSO.GetExtensionName(RFILE) = ExtE(m) Then ' Aqui Comprueba La Extención.
WshFSO.DeleteFile RFILE, True ' Aqui Elimina El Archivo Si Tenia Una Extención Maliciosa.
If Err.Number<>0 Then ' Aqui Comprueba Si Hubo Error Al Eliminar El Archivo[Por Si Esta En Ejecución].
Err.Clear ' Aqui "Limpia El Error".
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&Bit_Map(l)&Chr(34) & " - Status:NoDeleted!" ' Escribe El Estatus De Dicho Archivo.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Else ' Aqui El "Else" Por Si No Hubo Error.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&Bit_Map(l)&Chr(34) & " - Status:Deleted!" ' Escribe El Estatus De Dicho Archivo.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
End If ' Aqui Termina La Comprobación De Error.
End If ' Aqui Termina La Comprobación De Extención.
Next ' Aqui La Repetición Del "For" Para La Colección De Extenciónes.
Next ' Aqui La Repetición Del "For" Para La Colección Selecta De Archivos.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "End Session Of: " & User & " - Files" ' Aqui Termina De Escribir La Cabezera "Files" En "K-B.LOG".
MFET.WriteBlankLines(1) ' Aqui Deja Un Espacio En Blanco En El Archivo LOG.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
ReDim Port_Map(10) 'Importante: Aqui Libera El Array "Port_Map".
ReDim Bit_Map(512) 'Importante: Aqui Libera El Array "Bit_Map".
' Salta Directamente A: "End Select".
Case (2): ' Aqui Entra El Programa Si El Numero Fue "2".
e = 0 ' Declaración De "e=0".
For i=0 To 10 Step 1 ' Empieza un "For" Para Saber Que Unidades Removibles Existen.
If (WshFSO.DriveExists(Unit(i) & ":")) Then ' Aqui Comprueba Si Existe La Unidad.
Temp_Var = Unit(i) ' Guarda En Una Variable Temporal La Letra De La Unidad Encontrada.
Set LIST = WshFSO.Drives(Temp_Var & ":") ' Aqui Toma El "Drive" ó Unidad.
If LIST.DriveType = 1 Then ' Compruba El Tipo De Unidad[Removible=1].
Port_Map(e) = Temp_Var ' Se Almacena En El Array Con Posición "e" La Variable Temporal.
e = e + 1 ' Aqui Solo Ira Sumando "1" Cada Vez Que Se Tenga Una Unidad.
End If ' Aqui Termina La Comprobación Del Tipo.
End If ' Aqui Termina La Comprobación De Unidad.
Next ' Aqui La Repetición Del "For" De Unidades Removibles.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "Session: " & User & " - Folders" ' Aqui Escribe La Cabezera "Folders" En "K-B.LOG".
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
For t=0 To e-1 Step 1 ' Empieza un "For" Para Recorrer Las Unidades Antes Obtenidas.
STEAM = Port_Map(t) & ":\" ' Se Guarda En Una Variable La Letra De La Unidad Actual + ":\".
Set FSTEAM = WshFSO.GetFolder(STEAM) ' Toma La Unidad Removible[No Use "GetDrive" Ya Que Con Esa Propiedad No Se Puede Listar Directorios].
Set RSTEAM = FSTEAM.SubFolders ' Lista Las "Carpetas De Raíz" Dentro De La Unidad.
For u=0 To 3 Step 1 ' Aqui Un "For" Para Listar Las Posibles Carpetas Maliciosas Dentro Del Array "CarE".
CARPF = STEAM & CarE(u) ' Aqui Guarda En Una Variable El PATH Completo De La Carpeta.
Set CARPA = WshFSO.GetFolder(CARPF) ' Aqui Toma El Directorio.
CARPA.Attributes = 16 ' Aqui Intenta Cambiar Los Atributos Del Directorio.
If Err.Number=0 Then ' Aqui Comprueba Si Hubo Error[Significa Que Tal Vez La Carpeta No Exista ó Este Protegida].
If (WshFSO.FolderExists(CARPF)) Then ' Aqui Comprueba Si Realmente Existe La Carpeta.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:Deleted!" ' Escribe El Estatus De Dicho Directorio.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
WshFSO.DeleteFolder CARPF, True ' Aqui Elimina El Posible Directorio Del Malware.
End If ' Aqui Termina La Comprobación De La Existenciá Del Directorio.
Else ' Aqui El "Else" Por Si Hubo Error.
Err.Clear ' Aqui "Limpia El Error".
If Not (WshFSO.FolderExists(CARPF)) Then ' Aqui Compruba Si No Existio La Carpeta.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:NotFound!" ' Escribe El Estatus De Dicho Directorio.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Else ' Aqui El "Else" Por Si Existio El Directorio.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:NoDeleted!" ' Escribe El Estatus De Dicho Directorio.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
End If ' Aqui Termina La Comprobación De La Existenciá Del Directorio.
End If ' Aqui Termina La Comprobación De Error.
Next ' Aqui La Repetición Del "For" Que Listo Los Probables Directorios De Malware.
For Each FALL In RSTEAM ' Aqui Un "For" Que Va Listando Uno A Uno Los Directorios.
If FALL.Attributes<>16 Then ' Aqui Comprueba Los Atributos De Dicho Directorio.
FALL.Attributes = 16 ' Aqui Cambia Los Atributos Si Fueron Diferentes De "0"[Normal=0].
If Err.Number<>0 Then ' Aqui Comprueba Si Hubo Error Al Cambiar Los Atributos.
Err.Clear ' Aqui "Limpia El Error".
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:NoRestablished!" ' Escribe El Estatus De Dicho Directorio.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Else ' Aqui El "Else" Por Si No Hubo Error.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:Restablished!" ' Escribe El Estatus De Dicho Directorio.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
End If ' Aqui Termina La Comprobación De Error.
End If ' Aqui Termina La Comprobación De Atributos.
Next ' Aqui La Repetición Del "For" Para La Colección De Los Demas Directorios.
Next ' Aqui La Repetición Del "For" Para La Colección De Unidades.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "End Session Of: " & User & " - Folders" ' Aqui Termina De Escribir La Cabezera "Folders" En "K-B.LOG".
MFET.WriteBlankLines(1) ' Aqui Deja Un Espacio En Blanco En El Archivo LOG.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
ReDim Port_Map(10) 'Importante: Aqui Libera El Array "Port_Map".
' Salta Directamente A: "End Select".
Case (3): ' Aqui Entra El Programa Si El Numero Fue "3".
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "Session: " & User & " - TaskKiller 2.0" ' Aqui Escribe La Cabezera "TaskKiller 2.0" En "K-B.LOG".
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Do ' Aqui un "Do" Para Repetir Este Modulo Si El Usuario Lo Desea.
MASK = MsgBox("¿Desea Terminar Más Procesos?",vbYesNo+vbQuestion,"¿Opción?") ' Aqui El "MsgBox" Para Que El User Continue ó Salga del Modulo.
If MASK = vbYes Then ' Desde Aqui, Empieza Normalmente El Modulo.
TASK = InputBox("Escriba El Nombre Del Proceso Que Desea Terminar:","TaskKiller 2.0","EXPLORER.EXE",5000,7000) ' Aqui Un "InputBox" Para Ingresar El Nombre Del Proceso é Inyectar Codigo BATCH.
VAR = Len(TASK) ' Aqui Comprueba La Entrada.
If VAR<>0 Then ' Aqui Comprueba Que La Entrada No Sea Nula.
Set FET = WshFSO.OpenTextFile(Temp & "\" & "K-B\" & "KB.BAT",2,True) ' Aqui Crea El Archivo "K-B.BAT".
FET.WriteLine "@echo off" ' Aqui Empieza A Escribir El BATCH.
FET.WriteLine "taskkill /f /im " & TASK ' Aqui Es La Continuación é Inyección Del Code[Agrgar:"& comando"].
FET.WriteLine "If %ErrorLevel%==0 echo NOERR>%Temp%\K-B\0" ' Condición "1" En La Que Termino El Proceso[NoError=0]
FET.WriteLine "If %ErrorLevel%==1 echo ERR1>%Temp%\K-B\1" ' Condición "2" En La Que Termino El Proceso[Error=1]
FET.WriteLine "If %ErrorLevel%==128 echo ERR128>%Temp%\K-B\128" ' Condición "3" En La Que Termino El Proceso[NotFound=128]
FET.WriteLine "@exit" ' Aqui Termina De Escribir El BATCH.
FET.Close ' Aqui Cierra El Archivo "K-B.BAT".
' Dependiendo Del Nivel De Error Escribe Un Archivo Con El Num. De Error.
WshShell.Run Temp & "\" & "K-B\" & "KB.BAT", 0, True ' Aqui Ejecuta El Archivo "K-B.BAT".
If (WshFSO.FileExists(Temp & "\" & "K-B\" & "0")) Then 'Entra Aqui Si Existe El Archivo "0"[Significa Que No Hubo Error].
WshShell.PopUp "Se Pudo Terminar El Proceso:¡Terminado!",5,"¡Terminado!",vbOKOnly+vbInformation ' Aqui Avisa Del Estado Del Error.
WshFSO.DeleteFile Temp & "\" & "K-B\" & "0", True ' Aqui Elimina El Archivo Del Estatus Del Error.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": No Error" ' Aqui Escribe La Descripción Del Error.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
ElseIf (WshFSO.FileExists(Temp & "\" & "K-B\" & "1")) Then 'Entra Aqui Si Existe El Archivo "1"[Significa Que Hubo Error].
WshShell.PopUp "No Se Pudo Terminar El Proceso:¡No Terminado!",5,"¡No Terminado!",vbOKOnly+vbCritical ' Aqui Avisa Del Estado Del Error.
WshFSO.DeleteFile Temp & "\" & "K-B\" & "1", True ' Aqui Elimina El Archivo Del Estatus Del Error.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": Error 1" ' Aqui Escribe La Descripción Del Error.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
ElseIf (WshFSO.FileExists(Temp & "\" & "K-B\" & "128")) Then 'Entra Aqui Si Existe El Archivo "128"[Significa Que Hubo Error].
WshShell.PopUp "No Se Pudo Encontrar El Proceso:¡No Encontrado!",6,"¡No Encontrado!",vbOKOnly+vbCritical ' Aqui Avisa Del Estado Del Error.
WshFSO.DeleteFile Temp & "\" & "K-B\" & "128", True ' Aqui Elimina El Archivo Del Estatus Del Error.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Abre El Archivo LOG.
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": Error 128" ' Aqui Escribe La Descripción Del Error.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Else ' Aqui El "Else" Por Si Ocurrio Otra Clase De Error.
WshShell.PopUp "Ha Ocurrido Un Error Desconocido:¡Error!",7,"¡Desconocido!",vbOKOnly+vbCritical ' Aqui Avisa Que El Estado Del Error Es Desconocido.
End If ' Aqui Termina La "Comprobación Del Error".
WshFSO.DeleteFile Temp & "\" & "K-B\" & "KB.BAT", True ' Aqui Elimina El Archivo "K-B.BAT".
ElseIf TASK = 0 Then ' Aqui Entra El Programa Si La Entrada Del 2° "InputBox" Fue "Nula" o Cancelada.
WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation ' Mensaje De Despedida.
Exit Do ' Sale Del "Do" De "MASK"["MsgBox" De Confirmación].
Else ' Aqui El "Else" Por Si En "TASK" Fallo Algo.
WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation ' Mensaje De Despedida.
Exit Do ' Sale Del "Do" De "MASK"["MsgBox" De Confirmación].
End If ' Aqui Termina La Comprobación De "TASK".
Else ' Aqui El "Else" De "MASK"["MsgBox" De Confirmación].
Exit Do ' Sale Del "Do" De "MASK"["MsgBox" De Confirmación].
End If ' Aqui Termina La Comprobación De "MASK"["MsgBox" De Confirmación].
Loop ' Aqui Termina El "Do" De "MASK"["MsgBox" De Confirmación].
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True) ' Aqui Abre El Archivo "K-B.LOG" De La Carpeta "LOGS".
MFET.WriteLine "End Session Of: " & User & " - TaskKiller 2.0" ' Aqui Termina De Escribir La Cabezera "TaskKiller 2.0" En "K-B.LOG".
MFET.WriteBlankLines(1) ' Aqui Deja Un Espacio En Blanco En El Archivo LOG.
MFET.Close ' Aqui Se Termina De Escribir[Se Cierra "K-B.LOG"].
Case Else: ' Aqui Entra El Programa Si El Numero Fue Diferente De Las "3" Opciones Posibles.
WshShell.PopUp "Comando Desconocido:¡Error!",5,"¡Error!",vbOKOnly+vbCritical ' Aqui Avisa Del Error Es Desconocido.
End Select ' Aqui Termina El "Case".
Else ' Aqui Es Por Si Se Rechaza Iniciar De Nueva Cuenta El Programa.
WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation ' Mensaje De Despedida.
Exit Do ' Sale Del "Do" De "MAPING"["MsgBox" De Confirmación].
End If ' Aqui Termina La Comprobación De "MAPING"["MsgBox" De Confirmación].
Loop ' Aqui Termina El "Do" De "MAPING"["MsgBox" De Confirmación].
On Error Goto 0 ' Omisión De Errores[Para El Contro De Los Mismo].

2°; El Code Que Libera y Apoya Al "Script" Anterior.

Código:
@echo off
If Exist %Temp%\K-B (
If Not Exist %Temp%\K-B\K-B.LOG (
echo [Mutex]>%Temp%\K-B\K-B.LOG
If Exist LOGS (
echo On Error Resume Next>%Temp%\K-B\K-B.VBS
echo Dim Port_Map^(^)>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo Dim Bit_Map^(^)>>%Temp%\K-B\K-B.VBS
echo ReDim Bit_Map^(512^)>>%Temp%\K-B\K-B.VBS
echo Set WshFSO = CreateObject^("Scripting.Filesystemobject"^)>>%Temp%\K-B\K-B.VBS
echo Set WshShell = CreateObject^("Wscript.Shell"^)>>%Temp%\K-B\K-B.VBS
echo User = WshShell.ExpandEnvironmentStrings^("%%UserName%%"^)>>%Temp%\K-B\K-B.VBS
echo Temp = WshShell.ExpandEnvironmentStrings^("%%Temp%%"^)>>%Temp%\K-B\K-B.VBS
echo Unit = Array^("D","E","F","G","H","I","J","K","L","M","N"^)>>%Temp%\K-B\K-B.VBS
echo ExtE = Array^("bat","BAT","cmd","CMD","com","COM","dll","DLL","exe","EXE","hsh","HSH","js","JS","jse","JSE","lnk","LNK","pif","PIF","scr","SCR","vbs","VBS","vbe","VBE","wsf","WSF","wsh","WSH"^)>>%Temp%\K-B\K-B.VBS
echo CarE = Array^("Data","Restore","Recycler","System"^)>>%Temp%\K-B\K-B.VBS
echo ROOTF = WshFSO.GetAbsolutePathName^(".\"^)>>%Temp%\K-B\K-B.VBS
echo Set PATH = WshFSO.GetFolder^(ROOTF ^& "\" ^& "LOGS"^)>>%Temp%\K-B\K-B.VBS
echo CPATH = PATH.ShortPath>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo MAPING = MsgBox^("¿Desea Seguir Ejecutando El Programa?",vbYesNo+vbQuestion,"Confirmación"^)>>%Temp%\K-B\K-B.VBS
echo If MAPING = vbYes Then>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo FASM = InputBox^("Elija Por Numero La Opción Deseada:"+Chr^(10^)+"1;Eliminar Virus De Unidades Con Registros."+Chr^(10^)+"2;Desocultar Carpetas De Unidades."+Chr^(10^)+"3;Terminar Procesos Locales Por Selección.","KILL BYTES","2",5000,7000^)>>%Temp%\K-B\K-B.VBS
echo Loop Until IsNumeric^(FASM^)>>%Temp%\K-B\K-B.VBS
echo Select Case ^(FASM^)>>%Temp%\K-B\K-B.VBS
echo Case ^(0^):>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo WScript.Quit>>%Temp%\K-B\K-B.VBS
echo Case ^(1^):>>%Temp%\K-B\K-B.VBS
echo e = ^0>>%Temp%\K-B\K-B.VBS
echo For i=0 To 10 Step ^1>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.DriveExists^(Unit^(i^) ^& ":"^)^) Then>>%Temp%\K-B\K-B.VBS
echo Temp_Var = Unit^(i^)>>%Temp%\K-B\K-B.VBS
echo Set LIST = WshFSO.Drives^(Temp_Var ^& ":"^)>>%Temp%\K-B\K-B.VBS
echo If LIST.DriveType = 1 Then>>%Temp%\K-B\K-B.VBS
echo Port_Map^(e^) = Temp_Var>>%Temp%\K-B\K-B.VBS
echo e = e + ^1>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - Files">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo f = ^0>>%Temp%\K-B\K-B.VBS
echo For k=0 To e-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo Root = Port_Map^(k^) ^& ":\">>%Temp%\K-B\K-B.VBS
echo Set PathA = WshFSO.GetFolder^(Root^)>>%Temp%\K-B\K-B.VBS
echo Set FILES = PathA.Files>>%Temp%\K-B\K-B.VBS
echo For Each FILE In FILES>>%Temp%\K-B\K-B.VBS
echo Bit_Map^(f^) = FILE>>%Temp%\K-B\K-B.VBS
echo f = f + ^1>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo For l=0 To f-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo Set Cmp_File = WshFSO.GetFile^(Bit_Map^(l^)^)>>%Temp%\K-B\K-B.VBS
echo If Cmp_File.Attributes^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Cmp_File.Attributes = ^0>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo RFILE = Bit_Map^(l^)>>%Temp%\K-B\K-B.VBS
echo For m=0 To 29 Step ^1>>%Temp%\K-B\K-B.VBS
echo If WshFSO.GetExtensionName^(RFILE^) = ExtE^(m^) Then>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile RFILE, True>>%Temp%\K-B\K-B.VBS
echo If Err.Number^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&Bit_Map^(l^)^&Chr^(34^) ^& " - Status:NoDeleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&Bit_Map^(l^)^&Chr^(34^) ^& " - Status:Deleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - Files">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo ReDim Bit_Map^(512^)>>%Temp%\K-B\K-B.VBS
echo Case ^(2^):>>%Temp%\K-B\K-B.VBS
echo e = ^0>>%Temp%\K-B\K-B.VBS
echo For i=0 To 10 Step ^1>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.DriveExists^(Unit^(i^) ^& ":"^)^) Then>>%Temp%\K-B\K-B.VBS
echo Temp_Var = Unit^(i^)>>%Temp%\K-B\K-B.VBS
echo Set LIST = WshFSO.Drives^(Temp_Var ^& ":"^)>>%Temp%\K-B\K-B.VBS
echo If LIST.DriveType = 1 Then>>%Temp%\K-B\K-B.VBS
echo Port_Map^(e^) = Temp_Var>>%Temp%\K-B\K-B.VBS
echo e = e + ^1>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - Folders">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo For m=0 To e-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo STEAM = Port_Map^(m^) ^& ":\">>%Temp%\K-B\K-B.VBS
echo Set FSTEAM = WshFSO.GetFolder^(STEAM^)>>%Temp%\K-B\K-B.VBS
echo Set RSTEAM = FSTEAM.SubFolders>>%Temp%\K-B\K-B.VBS
echo For u=0 To 3 Step ^1>>%Temp%\K-B\K-B.VBS
echo CARPF = STEAM ^& CarE^(u^)>>%Temp%\K-B\K-B.VBS
echo Set CARPA = WshFSO.GetFolder^(CARPF^)>>%Temp%\K-B\K-B.VBS
echo CARPA.Attributes = 16>>%Temp%\K-B\K-B.VBS
echo If Err.Number=0 Then>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.FolderExists^(CARPF^)^) Then>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:Deleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFolder CARPF, True>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo If Not ^(WshFSO.FolderExists^(CARPF^)^) Then>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:NotFound!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:NoDeleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo For Each FALL In RSTEAM>>%Temp%\K-B\K-B.VBS
echo If FALL.Attributes^<^>16 Then>>%Temp%\K-B\K-B.VBS
echo FALL.Attributes = 16>>%Temp%\K-B\K-B.VBS
echo If Err.Number^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&FALL^&Chr^(34^) ^& " - Status:NoRestablished!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&FALL^&Chr^(34^) ^& " - Status:Restablished!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - Folders">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo Case ^(3^):>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - TaskKiller 2.0">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo MASK = MsgBox^("¿Desea Terminar Más Procesos?",vbYesNo+vbQuestion,"¿Opción?"^)>>%Temp%\K-B\K-B.VBS
echo If MASK = vbYes Then>>%Temp%\K-B\K-B.VBS
echo TASK = InputBox^("Escriba El Nombre Del Proceso Que Desea Terminar:","TaskKiller 2.0","EXPLORER.EXE",5000,7000^)>>%Temp%\K-B\K-B.VBS
echo VAR = Len^(TASK^)>>%Temp%\K-B\K-B.VBS
echo If VAR^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Set FET = WshFSO.OpenTextFile^(Temp ^& "\" ^& "K-B\" ^& "KB.BAT",2,True^)>>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "@echo off">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "taskkill /f /im " ^& TASK>>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==0 echo NOERR>%%Temp%%\K-B\0">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==1 echo ERR1>%%Temp%%\K-B\1">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==128 echo ERR128>%%Temp%%\K-B\128">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "@exit">>%Temp%\K-B\K-B.VBS
echo FET.Close>>%Temp%\K-B\K-B.VBS
echo WshShell.Run Temp ^& "\" ^& "K-B\" ^& "KB.BAT", 0, True>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "0"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Se Pudo Terminar El Proceso:¡Terminado!",5,"¡Terminado!",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "0", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": No Error">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ElseIf ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "1"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "No Se Pudo Terminar El Proceso:¡No Terminado!",5,"¡No Terminado!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "1", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": Error 1">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ElseIf ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "128"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "No Se Pudo Encontrar El Proceso:¡No Encontrado!",6,"¡No Encontrado!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "128", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": Error 128">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Ha Ocurrido Un Error Desconocido:¡Error!",7,"¡Desconocido!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "KB.BAT", True>>%Temp%\K-B\K-B.VBS
echo ElseIf TASK = 0 Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Loop>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - TaskKiller 2.0">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Case Else:>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Comando Desconocido:¡Error!",5,"¡Error!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo End Select>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Loop>>%Temp%\K-B\K-B.VBS
echo On Error Goto ^0>>%Temp%\K-B\K-B.VBS
ping -n 3 127.0.0.1>>nul
start /WAIT /HIGH %Temp%\K-B\K-B.VBS
ping -n 2 127.0.0.1>>nul
START /WAIT NOTEPAD.EXE LOGS\K-B.LOG
) Else (
echo On Error Resume Next>ERR.VBS
echo Set shell = CreateObject^("WScript.Shell"^)>>ERR.VBS
echo shell.PopUp "No Existe El Directorio:'LOGS'",8,"Error:Path",vbOKOnly+vbCritical>>ERR.VBS
echo On Error GoTo ^0>>ERR.VBS
ping -n 2 127.0.0.1>>nul
START /WAIT ERR.VBS
ping -n 2 127.0.0.1>>nul
DEL /F /Q ERR.VBS
)
RD /S /Q %Temp%\K-B
)
) Else (
md %Temp%\K-B
If Not Exist %Temp%\K-B\K-B.LOG (
echo [Mutex]>%Temp%\K-B\K-B.LOG
If Exist LOGS (
echo On Error Resume Next>%Temp%\K-B\K-B.VBS
echo Dim Port_Map^(^)>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo Dim Bit_Map^(^)>>%Temp%\K-B\K-B.VBS
echo ReDim Bit_Map^(512^)>>%Temp%\K-B\K-B.VBS
echo Set WshFSO = CreateObject^("Scripting.Filesystemobject"^)>>%Temp%\K-B\K-B.VBS
echo Set WshShell = CreateObject^("Wscript.Shell"^)>>%Temp%\K-B\K-B.VBS
echo User = WshShell.ExpandEnvironmentStrings^("%%UserName%%"^)>>%Temp%\K-B\K-B.VBS
echo Temp = WshShell.ExpandEnvironmentStrings^("%%Temp%%"^)>>%Temp%\K-B\K-B.VBS
echo Unit = Array^("D","E","F","G","H","I","J","K","L","M","N"^)>>%Temp%\K-B\K-B.VBS
echo ExtE = Array^("bat","BAT","cmd","CMD","com","COM","dll","DLL","exe","EXE","hsh","HSH","js","JS","jse","JSE","lnk","LNK","pif","PIF","scr","SCR","vbs","VBS","vbe","VBE","wsf","WSF","wsh","WSH"^)>>%Temp%\K-B\K-B.VBS
echo CarE = Array^("Data","Restore","Recycler","System"^)>>%Temp%\K-B\K-B.VBS
echo ROOTF = WshFSO.GetAbsolutePathName^(".\"^)>>%Temp%\K-B\K-B.VBS
echo Set PATH = WshFSO.GetFolder^(ROOTF ^& "\" ^& "LOGS"^)>>%Temp%\K-B\K-B.VBS
echo CPATH = PATH.ShortPath>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo MAPING = MsgBox^("¿Desea Seguir Ejecutando El Programa?",vbYesNo+vbQuestion,"Confirmación"^)>>%Temp%\K-B\K-B.VBS
echo If MAPING = vbYes Then>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo FASM = InputBox^("Elija Por Numero La Opción Deseada:"+Chr^(10^)+"1;Eliminar Virus De Unidades Con Registros."+Chr^(10^)+"2;Desocultar Carpetas De Unidades."+Chr^(10^)+"3;Terminar Procesos Locales Por Selección.","KILL BYTES","2",5000,7000^)>>%Temp%\K-B\K-B.VBS
echo Loop Until IsNumeric^(FASM^)>>%Temp%\K-B\K-B.VBS
echo Select Case ^(FASM^)>>%Temp%\K-B\K-B.VBS
echo Case ^(0^):>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo WScript.Quit>>%Temp%\K-B\K-B.VBS
echo Case ^(1^):>>%Temp%\K-B\K-B.VBS
echo e = ^0>>%Temp%\K-B\K-B.VBS
echo For i=0 To 10 Step ^1>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.DriveExists^(Unit^(i^) ^& ":"^)^) Then>>%Temp%\K-B\K-B.VBS
echo Temp_Var = Unit^(i^)>>%Temp%\K-B\K-B.VBS
echo Set LIST = WshFSO.Drives^(Temp_Var ^& ":"^)>>%Temp%\K-B\K-B.VBS
echo If LIST.DriveType = 1 Then>>%Temp%\K-B\K-B.VBS
echo Port_Map^(e^) = Temp_Var>>%Temp%\K-B\K-B.VBS
echo e = e + ^1>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - Files">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo f = ^0>>%Temp%\K-B\K-B.VBS
echo For k=0 To e-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo Root = Port_Map^(k^) ^& ":\">>%Temp%\K-B\K-B.VBS
echo Set PathA = WshFSO.GetFolder^(Root^)>>%Temp%\K-B\K-B.VBS
echo Set FILES = PathA.Files>>%Temp%\K-B\K-B.VBS
echo For Each FILE In FILES>>%Temp%\K-B\K-B.VBS
echo Bit_Map^(f^) = FILE>>%Temp%\K-B\K-B.VBS
echo f = f + ^1>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo For l=0 To f-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo Set Cmp_File = WshFSO.GetFile^(Bit_Map^(l^)^)>>%Temp%\K-B\K-B.VBS
echo If Cmp_File.Attributes^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Cmp_File.Attributes = ^0>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo RFILE = Bit_Map^(l^)>>%Temp%\K-B\K-B.VBS
echo For m=0 To 29 Step ^1>>%Temp%\K-B\K-B.VBS
echo If WshFSO.GetExtensionName^(RFILE^) = ExtE^(m^) Then>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile RFILE, True>>%Temp%\K-B\K-B.VBS
echo If Err.Number^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&Bit_Map^(l^)^&Chr^(34^) ^& " - Status:NoDeleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&Bit_Map^(l^)^&Chr^(34^) ^& " - Status:Deleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - Files">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo ReDim Bit_Map^(512^)>>%Temp%\K-B\K-B.VBS
echo Case ^(2^):>>%Temp%\K-B\K-B.VBS
echo e = ^0>>%Temp%\K-B\K-B.VBS
echo For i=0 To 10 Step ^1>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.DriveExists^(Unit^(i^) ^& ":"^)^) Then>>%Temp%\K-B\K-B.VBS
echo Temp_Var = Unit^(i^)>>%Temp%\K-B\K-B.VBS
echo Set LIST = WshFSO.Drives^(Temp_Var ^& ":"^)>>%Temp%\K-B\K-B.VBS
echo If LIST.DriveType = 1 Then>>%Temp%\K-B\K-B.VBS
echo Port_Map^(e^) = Temp_Var>>%Temp%\K-B\K-B.VBS
echo e = e + ^1>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - Folders">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo For t=0 To e-1 Step ^1>>%Temp%\K-B\K-B.VBS
echo STEAM = Port_Map^(t^) ^& ":\">>%Temp%\K-B\K-B.VBS
echo Set FSTEAM = WshFSO.GetFolder^(STEAM^)>>%Temp%\K-B\K-B.VBS
echo Set RSTEAM = FSTEAM.SubFolders>>%Temp%\K-B\K-B.VBS
echo For u=0 To 3 Step ^1>>%Temp%\K-B\K-B.VBS
echo CARPF = STEAM ^& CarE^(u^)>>%Temp%\K-B\K-B.VBS
echo Set CARPA = WshFSO.GetFolder^(CARPF^)>>%Temp%\K-B\K-B.VBS
echo CARPA.Attributes = 16>>%Temp%\K-B\K-B.VBS
echo If Err.Number=0 Then>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.FolderExists^(CARPF^)^) Then>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:Deleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFolder CARPF, True>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo If Not ^(WshFSO.FolderExists^(CARPF^)^) Then>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:NotFound!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&CARPF^&Chr^(34^) ^& " - Status:NoDeleted!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo For Each FALL In RSTEAM>>%Temp%\K-B\K-B.VBS
echo If FALL.Attributes^<^>16 Then>>%Temp%\K-B\K-B.VBS
echo FALL.Attributes = 16>>%Temp%\K-B\K-B.VBS
echo If Err.Number^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Err.Clear>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&FALL^&Chr^(34^) ^& " - Status:NoRestablished!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&FALL^&Chr^(34^) ^& " - Status:Restablished!">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Next>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - Folders">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ReDim Port_Map^(10^)>>%Temp%\K-B\K-B.VBS
echo Case ^(3^):>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "Session: " ^& User ^& " - TaskKiller 2.0">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Do>>%Temp%\K-B\K-B.VBS
echo MASK = MsgBox^("¿Desea Terminar Más Procesos?",vbYesNo+vbQuestion,"¿Opción?"^)>>%Temp%\K-B\K-B.VBS
echo If MASK = vbYes Then>>%Temp%\K-B\K-B.VBS
echo TASK = InputBox^("Escriba El Nombre Del Proceso Que Desea Terminar:","TaskKiller 2.0","EXPLORER.EXE",5000,7000^)>>%Temp%\K-B\K-B.VBS
echo VAR = Len^(TASK^)>>%Temp%\K-B\K-B.VBS
echo If VAR^<^>0 Then>>%Temp%\K-B\K-B.VBS
echo Set FET = WshFSO.OpenTextFile^(Temp ^& "\" ^& "K-B\" ^& "KB.BAT",2,True^)>>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "@echo off">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "taskkill /f /im " ^& TASK>>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==0 echo NOERR>%%Temp%%\K-B\0">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==1 echo ERR1>%%Temp%%\K-B\1">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "If %%ErrorLevel%%==128 echo ERR128>%%Temp%%\K-B\128">>%Temp%\K-B\K-B.VBS
echo FET.WriteLine "@exit">>%Temp%\K-B\K-B.VBS
echo FET.Close>>%Temp%\K-B\K-B.VBS
echo WshShell.Run Temp ^& "\" ^& "K-B\" ^& "KB.BAT", 0, True>>%Temp%\K-B\K-B.VBS
echo If ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "0"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Se Pudo Terminar El Proceso:¡Terminado!",5,"¡Terminado!",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "0", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": No Error">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ElseIf ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "1"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "No Se Pudo Terminar El Proceso:¡No Terminado!",5,"¡No Terminado!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "1", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": Error 1">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo ElseIf ^(WshFSO.FileExists^(Temp ^& "\" ^& "K-B\" ^& "128"^)^) Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "No Se Pudo Encontrar El Proceso:¡No Encontrado!",6,"¡No Encontrado!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "128", True>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine Chr^(34^)^&TASK^&Chr^(34^) ^& ": Error 128">>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Ha Ocurrido Un Error Desconocido:¡Error!",7,"¡Desconocido!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo WshFSO.DeleteFile Temp ^& "\" ^& "K-B\" ^& "KB.BAT", True>>%Temp%\K-B\K-B.VBS
echo ElseIf TASK = 0 Then>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Loop>>%Temp%\K-B\K-B.VBS
echo Set MFET = WshFSO.OpenTextFile^(CPATH ^& "\" ^& "K-B.LOG",8,True^)>>%Temp%\K-B\K-B.VBS
echo MFET.WriteLine "End Session Of: " ^& User ^& " - TaskKiller 2.0">>%Temp%\K-B\K-B.VBS
echo MFET.WriteBlankLines^(1^)>>%Temp%\K-B\K-B.VBS
echo MFET.Close>>%Temp%\K-B\K-B.VBS
echo Case Else:>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "Comando Desconocido:¡Error!",5,"¡Error!",vbOKOnly+vbCritical>>%Temp%\K-B\K-B.VBS
echo End Select>>%Temp%\K-B\K-B.VBS
echo Else>>%Temp%\K-B\K-B.VBS
echo WshShell.PopUp "¡Gracias Por Usar Kill Bytes 2 By Leminy!",7,"Agradecimiento",vbOKOnly+vbInformation>>%Temp%\K-B\K-B.VBS
echo Exit Do>>%Temp%\K-B\K-B.VBS
echo End If>>%Temp%\K-B\K-B.VBS
echo Loop>>%Temp%\K-B\K-B.VBS
echo On Error Goto ^0>>%Temp%\K-B\K-B.VBS
ping -n 3 127.0.0.1>>nul
start /WAIT /HIGH %Temp%\K-B\K-B.VBS
ping -n 2 127.0.0.1>>nul
START /WAIT NOTEPAD.EXE LOGS\K-B.LOG
) Else (
echo On Error Resume Next>ERR.VBS
echo Set shell = CreateObject^("WScript.Shell"^)>>ERR.VBS
echo shell.PopUp "No Existe El Directorio:'LOGS'",5,"Error:Path",vbOKOnly+vbCritical>>ERR.VBS
echo On Error GoTo ^0>>ERR.VBS
ping -n 2 127.0.0.1>>nul
START /WAIT ERR.VBS
ping -n 2 127.0.0.1>>nul
DEL /F /Q ERR.VBS
)
RD /S /Q %Temp%\K-B
)
)
@exit

 ;D ...Cualquier Duda ó Sugerencia Es Bienvenida... ;D

" From Concept :huh: To Completion :-* "
3  Programación / Scripting / Overwrite Technique In The Registry[Dirigido A Expertos Del VBS]. en: 20 Septiembre 2011, 03:59 am
Hola A Todos, Hoy Quiero Compartirles Una "Tecnica" Que Estuve Intentando Sacar Desde Hace Ya Varios Meses.

Una Vez Pense Que, En Lo Que Respecta Windows Vista y Windows 7, No Se Puede Escribir En El Registro(Regedit/Regedt32) Mediante Batch ó VBS Si No Se Le Dan Los Permisos Necesarios Al Programa("BAT,CMD,VBS,VBE"), Simplemente No Te Lo Dejara Hacer, Asi Que Debia Haber Algun Metodo... Asi Que Me Puse A Penser Durante Meses(Obvio No Todo El Dia, Tenia Que Ir A Clases y Demas):
"¿Como Se Puede Escribir Una Valor En El Registro Sin Los Permisos Necesarios Para El Programa?", Hasta Que Se Me Ocurrio Esto:

1; Necesitaba Una Referencia De, Por Ejemplo, Todos Los Valores Que Existen Dentro De La Subclave "Run".

2; Necesitaba Listarlo... ¿Pero Como?, Si Ni En BATCH ó VBS Existe Una Función Asi.

Entonces Haciendo Uso De La Combinación De Los Lenguajes, Obtuve Algo Como Lo Que Uds. Podran Obtener Si Prestan Atención:

1; Copien El Codigo BATCH Siguiente En Un Archivo y Ese Mismo Ponganlo En Un Lugar Donde Pueda Crear Archivos.
(Ejemplo:"%Temp%\Su_Carpeta\ACA_El_BAT.BAT" ó "%Desk%\Su_Carpeta\ACA_El_BAT.BAT").
Nota: %Temp%="C:\Users\Nombre_De_Usuario\AppData\Local\Temp"
Nota: %Desk%="C:\Users\Nombre_De_Usuario\Desk"

Código:
1; @ECHO OFF
2; REG EXPORT HKLM\Software\Microsoft\Windows\CurrentVersion\Run GL.TXT /y
3; TYPE GL.TXT>LS.TXT
4; DEL /F /Q GL.TXT
5; @EXIT

Explico... La 2° Linea Sirve Para Exportar Los Valores y Las Subclaves Dentro de "Run"(Solo Nos Importa Los Valores En Si) Al Archivo: "GL.TXT".
Como Todos Sabran En VBS "No Deja Leer Lineas" De Archivos UNICODE y Para Mala Suerte En Ese Formato Nos Arrojan "GL.TXT", Para Lo Cual Recurrimos A La 3° Linea: Se "Leera" El Contenido De "GL.TXT" Y Lo Pasara Al Archivo "LS.TXT" En Formato ANSI! - La 4° Linea Es Solo Para Borrar El Archivo "UNICODE" No Legible Para VBS.

Asi Es Como Se Veria El Archivo: "LS.TXT":

Código:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"egui"="\"C:\\Program Files\\ESET\\ESET Smart Security\\egui.exe\" /hide /waitservice" rem Salta Hasta Esta Linea.
"vmware-tray"="\"C:\\Program Files\\VMware\\VMware Workstation\\vmware-tray.exe\""
"BCSSync"="\"C:\\Programs\\Microsoft Office\\Office14\\BCSSync.exe\" /DelayServices"
"RTHDVCPL"="C:\\Program Files\\Realtek\\Audio\\HDA\\RtHDVCpl.exe -s"
"NeroFilterCheck"="C:\\Program Files\\Common Files\\Ahead\\Lib\\NeroCheck.exe" rem Llega A Esta Linea[Antes Del Espacio En Blanco].

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents]
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\IMAIL]
"Installed"="1"
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\MAPI]
"NoChange"="1"
"Installed"="1"
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\MSFS]
"Installed"="1"
@=""

Nota: Varia Dependiendo De Sus Programas Instalados.

Ya Obtenido El Archivo "LS.TXT", Proseguimos A "Leerlo", Para Ello Es El Siguiente Script(Archivo.vbs), Que Debe De Ser Creado Junto Al Archivo: "LS.TXT"(Deben Estar En La Misma Carpeta).

Código:
On Error Resume Next
Dim LOCKUP()
ReDim LOCKUP(256)
Set shell = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.Filesystemobject")
LOCAL = fso.GetAbsolutePathName(".\")
Set HD = fso.OpenTextFile(LOCAL & "\" & "LS.TXT",1,True)
r = 0
While(r < 3)
TADM = HD.SkipLine
r = r + 1
Wend
Do
TADM = HD.ReadLine
VAR = Len(TADM)
If VAR<>0 Then
If Err.Number=0 Then
LOCKUP(c) = TADM
c = c + 1
Else
Err.Clear
Exit Do
End If
Else
Exit Do
End If
Loop
e = c
u = c * 2
ua = u
For i=0 To c-1 Step 1
FS = InStr(1,LOCKUP(i),"=")
LOCKUP(e) = FS - 3
AX = Mid(LOCKUP(i),2,LOCKUP(e))
LOCKUP(u) = AX
u = u + 1
e = e + 1
Next
For t=ua To u-1 Step 1
EAV = shell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & LOCKUP(t))
MsgBox EAV,vbOKOnly+vbInformation,LOCKUP(t)
Next
HD.Close
On Error GoTo 0

Explicación:
1; Lo Que Se Hace Es Abrir El Archivo "LS.TXT" En Modo Lectura.
2; Despues Salta Tres Lineas Del Archivo("LS.TXT").
3; Usa Una Tecnica Para "Saber Cuando Terminar Las Lineas Importantes".
4; Mientras No Encuentre Una Linea En Blanco Seguira Leyendo.
5; Al Encontrarla Sale Del: "Do" Y ¡Empieza Lo Interesante!.
6; Se Inicia Un "For" Que Contara Hasta El Numero De Lineas Que Se Leyó Antes De Encontrar Una Linea En Blanco.
Dentro De Ese "For" Se Buscara El Caracter "=" Que Indica Que Hasta Alli Llega La Lectura De La Linea "1" De "c-1" Lineas Que Se Leyeron.
7; Ahora, Se Le Restan 3 Espacios A La Variable "FS" Mientras Se Guarda En "LOCKUP(e)" Ya Que No Queremos Contar Los Caracteres (=) & ("), También Se Empezara A Leer Desde El 2° Caracter De Cada Linea Por La Misma Razon.
8; Por Ende En LOCKUP(u) Se Escribira La Variable Que Almacena La Parte De La Linea Que Se Leyó(Ejemplo ---> Se Tenia: ""egui"=...." - Al Solo Leer Desde El 2° Caracter Y Restar Los 3 Espacios Desde "=", Solo Se Alamacenara: "egui" En LOCKUP(u), Sin Doble Comillado) Y Asi Lo Hara Para Cada Linea Que Se Extrajo Del Archivo: "LS.TXT".

Ahora... Si Ejecutan El "Script" Les Saldran En Un "MsgBox": 1; El Nombre De Los "Valores" Como Titulo. - 2; Su Valor En Si Como El Mensaje.

Ya Saben, Podran Tomar Los Valores Que Tenga LOCKUP(u), Haciendo Referencia Que "u" Son Las Ultimas Posiciónes Donde Se Guardaron Los Nombres De Los Valores Encontrados, Para Hacer Lo Que Querais, Como Sobreescribir El Valor De, En Mi Caso, "egui" y Poner Otra Ruta.

Esta Tecnica Va Más Orientada Para Los Programadores De Malware En VBS.  :xD

Dudas Y Sugerencias, Favor De Comentar... ;D
4  Programación / Scripting / BAT&VBS:Codigo Dudoso en: 12 Septiembre 2011, 07:57 am
Bien, pues para empezar quisiera agradecer de antemano a quien pueda ayudarme con mi poblema.
-Hace un tiempo hice una aplicación para:
1; Eliminar archivos con extenciónes maliciosas.
2; Desocultar carpetas, ademas, eliminar aquellas que tengan un nombre como: "RECYCLER ó DaTa".
3;Terminar Procesos Locales y en la Misma Instancia "Inyectar Codigo" al archivo que terminara los procesos("kb.bat").

Nota: Todo Esto Lo Hara Sobre Unidades Extraibles, Excepto la Opción "3".

Code entero para que sepan como funciona:

Código:
On Error Resume Next
Dim Drive_Map()
ReDim Drive_Map(10)
Dim Port_Map()
ReDim Port_Map(10)
Dim Bit_Map()
ReDim Bit_Map(512)
Set WshFSO = CreateObject("Scripting.Filesystemobject")
Set WshShell = CreateObject("Wscript.Shell")
User = WshShell.ExpandEnvironmentStrings("%UserName%")
Temp = WshShell.ExpandEnvironmentStrings("%Temp%")
Unit = Array("D","E","F","G","H","I","J","K","L","M","N")
ExtE = Array("bat","BAT","cmd","CMD","com","COM","dll","DLL","exe","EXE","hsh","HSH","js","JS","jse","JSE","lnk","LNK","pif","PIF","scr","SCR")
CarE = Array("Data","Restore","Recycler","System") 'Aqui las Probables Carpetas de Malware.
ROOTF = WshFSO.GetAbsolutePathName(".\")
Set PATH = WshFSO.GetFolder(ROOTF & "\" & "LOGS")
CPATH = PATH.ShortPath
c = 0
For i=0 To 10 Step 1
If (WshFSO.DriveExists(Unit(i))) Then
Drive_Map(c) = Unit(i)
c = c + 1
End If
Next
e = 0
For j=0 To c-1 Step 1
Set LIST = WshFSO.Drives(Drive_Map(j) & ":")
If LIST.DriveType = 1 Then
Port_Map(e) = Drive_Map(j)
e = e + 1
End If
Next
Do
FASM = InputBox("Elija Por Numero La Opción Deseada:"+Chr(10)+"1;Eliminar Virus De Unidades Con Registros."+Chr(10)+"2;Desocultar Carpetas De Unidades."+Chr(10)+"3;Terminar Procesos Locales Por Selección.","KILL BYTES","2",5000,7000)
Loop Until IsNumeric(FASM)
Select Case (FASM)
Case (0):
WScript.Quit
Case (1):
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "Session: " & User & " - Files"
MFET.Close
f = 0
For k=0 To e-1 Step 1
Root = Port_Map(k) & ":\"
Set PathA = WshFSO.GetFolder(Root)
Set FILES = PathA.Files
For Each FILE In FILES
Bit_Map(f) = FILE
f = f + 1
Next
Next
For l=0 To f-1 Step 1
Set Cmp_File = WshFSO.GetFile(Bit_Map(l))
If Cmp_File.Attributes<>0 Then
Cmp_File.Attributes = 0
End If
RFILE = Bit_Map(l)
For m=0 To 29 Step 1
If WshFSO.GetExtensionName(RFILE) = ExtE(m) Then
WshFSO.DeleteFile RFILE, True
If Err.Number<>0 Then
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&Bit_Map(l)&Chr(34) & " - Status:NoDeleted!"
MFET.Close
Else
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&Bit_Map(l)&Chr(34) & " - Status:Deleted!"
MFET.Close
End If
End If
Next
Next
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "End Session Of: " & User & " - Files"
MFET.WriteBlankLines(1)
MFET.Close
Case (2):
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "Session: " & User & " - Folders"
MFET.Close
For m=0 To e-1 Step 1
STEAM = Port_Map(m) & ":\"
Set FSTEAM = WshFSO.GetFolder(STEAM)
Set RSTEAM = FSTEAM.SubFolders
For u=0 To 3 Step 1
CARPF = STEAM & CarE(u)
Set CARPA = WshFSO.GetFolder(CARPF)
CARPA.Attributes = 16
If Err.Number=0 Then
If (WshFSO.FolderExists(CARPF)) Then
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:Deleted!"
MFET.Close
WshFSO.DeleteFolder CARPF, True
End If
Else
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:NoDeleted!"
MFET.Close
End If
Next
For Each FALL In RSTEAM
If FALL.Attributes<>16 Then
FALL.Attributes = 16
If Err.Number<>0 Then
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:NoRestablished!"
MFET.Close
Else
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:Restablished!"
MFET.Close
End If
End If
Next
Next
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "End Session Of: " & User & " - Folders"
MFET.WriteBlankLines(1)
MFET.Close
Case (3):
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "Session: " & User & " - TaskKiller 2.0"
MFET.Close
Do
MASK = MsgBox("¿Desea Terminar Más Procesos?",vbYesNo+vbQuestion,"¿Opción?")
If MASK = vbYes Then
TASK = InputBox("Escriba El Nombre Del Proceso Que Desea Terminar:","TaskKiller 2.0","EXPLORER.EXE",5000,7000) 'Aqui el InputBox.
VAR = Len(TASK)
If VAR<>0 Then
Set FET = WshFSO.OpenTextFile(Temp & "\" & "K-B\" & "KB.BAT",2,True)
FET.WriteLine "@echo off"
FET.WriteLine "taskkill /f /im " & TASK '<---- En El InputBox se Prodra Agregar Codigo Batch Con: "& comando" - Inyectar Codigo.
FET.WriteLine "If %ErrorLevel%==0 echo NOERR>%Temp%\K-B\0"
FET.WriteLine "If %ErrorLevel%==1 echo ERR1>%Temp%\K-B\1"
FET.WriteLine "If %ErrorLevel%==128 echo ERR128>%Temp%\K-B\128"
FET.WriteLine "@exit"
FET.Close
WshShell.Run Temp & "\" & "K-B\" & "KB.BAT", 0, True
If (WshFSO.FileExists(Temp & "\" & "K-B\" & "0")) Then
WshShell.PopUp "Se Pudo Terminar El Proceso:¡Terminado!",5,"¡Terminado!",vbOKOnly+vbInformation
WshFSO.DeleteFile Temp & "\" & "K-B\" & "0", True
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": No Error"
MFET.Close
ElseIf (WshFSO.FileExists(Temp & "\" & "K-B\" & "1")) Then
WshShell.PopUp "No Se Pudo Terminar El Proceso:¡No Terminado!",5,"¡No Terminado!",vbOKOnly+vbCritical
WshFSO.DeleteFile Temp & "\" & "K-B\" & "1", True
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": Error 1"
MFET.Close
ElseIf (WshFSO.FileExists(Temp & "\" & "K-B\" & "128")) Then
WshShell.PopUp "No Se Pudo Encontrar El Proceso:¡No Encontrado!",6,"¡No Encontrado!",vbOKOnly+vbCritical
WshFSO.DeleteFile Temp & "\" & "K-B\" & "128", True
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&TASK&Chr(34) & ": Error 128"
MFET.Close
Else
WshShell.PopUp "Ocurrio Un Error Desconocido:¡Desconocido!",5,"¡Desconocido!",vbOKOnly+vbCritical
End If
WshFSO.DeleteFile Temp & "\" & "K-B\" & "KB.BAT", True
End If
Else
Exit Do
End If
Loop
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine "End Session Of: " & User & " - TaskKiller 2.0"
MFET.WriteBlankLines(1)
MFET.Close
Case Else:
WshShell.PopUp "Comando Desconocido:¡Error!",5,"¡Error!",vbOKOnly+vbCritical
End Select
On Error GoTo 0

Mi duda radica en esta parte del code:

Código:
For m=0 To e-1 Step 1
STEAM = Port_Map(m) & ":\" 'Aqui Empieza a Listar.
Set FSTEAM = WshFSO.GetFolder(STEAM)
Set RSTEAM = FSTEAM.SubFolders 'Aqui Acaba de Listar.
For u=0 To 3 Step 1
CARPF = STEAM & CarE(u)
Set CARPA = WshFSO.GetFolder(CARPF) 'Aqui la Probable Ruta de La Carpeta con Malware.
CARPA.Attributes = 16 'Aqui Intenta Quitar Los Atributos a la Carpeta del Malware.
If Err.Number=0 Then 'Aqui, Si Falla al Cambiar los Atributos Tal Vez no Existe la Carpeta.
If (WshFSO.FolderExists(CARPF)) Then 'Aqui Comprueba si Verdaderamente Existe la Carpeta.
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:Deleted!"
MFET.Close
WshFSO.DeleteFolder CARPF, True 'Aqui Elimina la Carpeta(Si Existio)
End If
Else
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&CARPF&Chr(34) & " - Status:NoDeleted!"
MFET.Close
End If
Next
For Each FALL In RSTEAM 'Aqui la Parte Dudosa - Accediendo a Cada Carpeta Listada.
If FALL.Attributes<>16 Then 'Aqui Es la Parte Para Comprobar los Atributos de las Carpetas Antes Listadas(No Malware se Supone).
FALL.Attributes = 16 'Cambio de Atributos Principal. ¿Fallara? <---- Aqui la Linea de la Duda.
If Err.Number<>0 Then
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:NoRestablished!"
MFET.Close
Else
Set MFET = WshFSO.OpenTextFile(CPATH & "\" & "K-B.LOG",8,True)
MFET.WriteLine Chr(34)&FALL&Chr(34) & " - Status:Restablished!"
MFET.Close
End If
End If
Next
Next 'Aqui Termina la Parte Dudosa.

Aqui lo que hago es Listar los Subdirectorios de las Unidades Removibles uno por uno, pero mi pregunta principal es:
¿No Afecta Listar las Subcarpetas Primero y Luego Eliminar las que Estan en el Array "CarE"?.
Es decir, en la comprobación de Atributos que hago despues ¿No me saltara algún error por que falten las carpetas antes mencionadas?, si es que existen en la USB claro.
No se si ¿me di a entender bien?... :(

Modificado Para Mejor Entendimiento y Corregir Unas Faltas de Ortografía.  ;D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines