|
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?: 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.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 "
|
|
|
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" 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...
|
|
|
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: 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: 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.
|
|
|
|
|
|
|