|
Mostrar Mensajes
|
Páginas: [1] 2
|
1
|
Programación / Scripting / Re: [VBS] Ruta con paréntesis
|
en: 14 Febrero 2012, 06:04 am
|
Joder, esto es increible, támpoco me funciona!! Sigo tus pasos: Set fso = CreateObject("Scripting.FileSystemObject") Set shell = CreateObject("WScript.Shell") Set TuPath = fso.GetFolder("C:\Program Files (x86)\Hot Corners") SPTuFolder = TuPath.ShortPath msgbox SPTuFolder & Chr(92) & "RUN.bat" shell.run SPTuFolder & Chr(92) & "RUN.bat"
Y a pesar de que en el msgbox sale bien la ruta, no me encuentra la ruta para ejecutar el bat --- EDITO --- Mi Code No Sirve Por Lo Mismo De La Desactivación De Nombres Cortos... Por Cierto, ¿"Por Que Los Has Desactivado"?
|
|
|
2
|
Programación / Scripting / Re: [VBS] Ruta con paréntesis
|
en: 13 Febrero 2012, 07:20 am
|
Puedes Intentar "Tomando El Folder" Primero Y Convertirlo A Su "Nombre Corto" En Otra Variable, Esto Seria: Set fso = CreateObject("Scripting.FileSystemObject") Set shell = CreateObject("WScript.Shell") Set TuPath = fso.GetFolder("C:\Program Files (x86)\Hot Corners") SPTuFolder = TuPath.ShortPath shell.run SPTuFolder & Chr(92) & "RUN.bat"
Cualquier Problema Con El "Code" Comenta.
|
|
|
3
|
Programación / Scripting / Re: almacenar salida de un programa en una variable Vbscript ??
|
en: 28 Septiembre 2011, 07:42 am
|
Lo Que Dice NovLucker Es Cierto, Aunque... Sin Ir En Tu Contra NovLucker, Es Que También Puedes: Direcciónes la Salida A Una Archivo Y Leas Las Lineas De Ese Archivo En Busca De Un String Constante("Para Saber Que Esa Es La Linea Indicada"), Y Para Cada Linea Que Corresponda, Meterla En Un "Array"... Si Quieres Un "Code Example" Deberas Indicarme Que Es Lo Que Buscas Exactamente... Suerte
|
|
|
4
|
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?: 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...
|
|
|
5
|
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.htmlY 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]. 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. @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
...Cualquier Duda ó Sugerencia Es Bienvenida... " From Concept To Completion "
|
|
|
7
|
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" 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": 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). 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. Dudas Y Sugerencias, Favor De Comentar...
|
|
|
8
|
Programación / Scripting / Re: BAT&VBS:Codigo Dudoso
|
en: 14 Septiembre 2011, 05:46 am
|
Esta Bien, En Estos Dias Hare Prubas con BreakPoints y Demas para Saber si Me Afectaria o No, Lo que He Venido Comentando desde Hace unos Dias... Gracias por Todo S3kh y Cuidate También... Moderador.... ¿Ya Puedes Dar El Tema Como Cerrado?.... Por Cierto El Fin De Semana Hare la Documentación del Code, A Quien Le Interese...
|
|
|
9
|
Programación / Scripting / Re: BAT&VBS:Codigo Dudoso
|
en: 13 Septiembre 2011, 07:16 am
|
Bueno Pues... Gracias de Nuevo S3kh, Ahora Por La Información... Con Los Links Que Me Proporcionaste y Googleando Un Rato... No Pude Hayar Mucho Sobre Ese Metodo y Sus Propiedades.... Pero Aun Asi, Se Agradece la Ayuda...
|
|
|
10
|
Programación / Scripting / Re: BAT&VBS:Codigo Dudoso
|
en: 12 Septiembre 2011, 19:45 pm
|
De nuevo S3kh estas en lo correcto, pero aun asi queda la duda, voy a intentar explicarlo por Bloques: -Lista Cada Subdirectorio Dentro de la Unidad Extraible. ..................................... ..................................... -Intento Cambiar los Atributos De las Posibles Carpetas de Malware. Nota: Si Hubo Error Al Cambiar Los Atributos Significa que Tal Vez la Carpeta No Existe Y Se Salta la Vefificación Final. ..................................... -Si No Hubo Error Cambia Los Atributos Significa que, Si Existe la Carpeta Va a La Verificación Final(Lineas de Abajo.) ..................................... -Verifico Si Enrealidad Existe Alguna De Esas Carpetas de Malware. ..................................... ..................................... -Si Existe La Elimina y Escribe en Un Archivo LOG. Si No Existe Solo Sale de La Comprobación. ..................................... ..................................... -Y Aca Restablece Los Atributos de las Demas Carpetas (No Malware se Supone). Como Ya Se Han Listado Las Subcarpetas Y... Si Existieron Posibles Carpetas de Malware las Elimina, Despues, ¿No Afectara En El: "For Each FALL In RSTEAM" si Faltan las Carpetas Que Pudo Eliminar el Programa? -Perdon Si No Entiendo Bien Los Metodos Que Se Usan en La Propiedad, Ejemplo: STEAM = "E:\" Set FSTEAM = WshFSO.GetFolder(STEAM) Set RSTEAM = FSTEAM.SubFolders <--- Esta Es la Propiedad.
|
|
|
|
|
|
|