Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: flony en 1 Diciembre 2009, 15:01 pm



Título: mejorar code taskkill exe molestos (batch)
Publicado por: flony en 1 Diciembre 2009, 15:01 pm
hola gente amiga  ;D
este code lo que hace es borrar los exe que no deseo que funcionen,  ::)
me ayudan a mejorar este code tiene unos pequeños errores como por ejmplo no puedo borrar los primeros renglones y creo q borro un par de funciones esenciales   :o
bue y si tienen algo mas para mejorar lo ponen...che quiero criticas constructivas  ;D
aca el code
Código:
@echo off
cd C:\
tasklist>>analizar.txt

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^System" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^csrss.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1


for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^services.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^smss.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^alg.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1


for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^winlogon.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1



for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^lsass.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^0" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1


for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^928" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1008" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1076" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1


for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1120" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=2 delims=:" %%_ in ('findstr /i /n /r "^1248" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^explorer.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^egui.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^ctfmon.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1

for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^ekrn.exe" "analizar.txt"') do (
set "n_line=%%_"
)
(
ECHO %n_line%d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
ping -n 1 127.0.0.1

:elimina
setlocal enabledelayedexpansion

set /a nchar=0

for /f "tokens=1 delims=*" %%x in (analizar.txt) do (
set "string=%%x"
call :contar
TASKKILL /T /F /IM "%string%"
ping -n 1 127.0.0.1
call :ultimo
)

:contar
If /i "!string:~%nchar%,1!" == "" goto:eof
set /a nchar+=1
goto Contar

:ultimo
(
ECHO 1d
ECHO E
) | EDLIN /B analizar.txt > nul 2>&1
if nchar==0 goto :end else goto :elimina

:end
del /Q analizar.bak
del /Q analizar.txt



Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 1 Diciembre 2009, 15:27 pm
Bueno, si que es mejorable, sobre todo por el uso de archivos temporales en disco, lo cual se podría evitar.

De cualquier manera no esperes mucho, ya que por lo que veo no intentas hacer nada "útil" .. "exe molestos"? System, csrss.exe, services.exe, smss.exe, alg.exe, winlogon.exe, lsass.exe, explorer.exe, egui.exe, ctfmon.exe y ekrn.exe? :¬¬

Saludos


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: flony en 1 Diciembre 2009, 15:36 pm
a ver archivos temporales???? :huh: ni a gancho los uso....dos si lo lees lo que hace las primeras lineas es borrar de un txt esos procesos....como que nada util  :o seguro algun desquiciado si se le canta lo usa mal....pero si ves el code hace lo contrario y si quisiera molestarle la vida a alguien borro un par de dll y listo con este code cuando mucho sale un cartel que te da un eterno minuto para usar shutdow -a ....y surgio xq no queria usar el optimizador del tune up...xq no tengo ningun nivel de decicion en lo que quiero borrar o no...........que parte de criticas constructivas no entendiste....por favor si van a opinar LEEAN  el fack :-X code si no ni opinen...otra cosa si lo pruban tengan a mano un shutdow -a


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 1 Diciembre 2009, 16:19 pm
Lo había mirado al revés .. fui directamente al TASKKILL XD

El analizar.txt no es un archivo temporal? :o


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: flony en 1 Diciembre 2009, 16:29 pm
 :-[ tenes razon en eso  ;D lo del txt


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: leogtz en 1 Diciembre 2009, 17:41 pm
No gastes demasiados recursos. Como supongo que eres administrador de tu sistema y es para uso propio, podrías usar WMIC.
Código:
wmic process get caption


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 1 Diciembre 2009, 18:18 pm
WMIC! fue lo primero que pensé! ;D
Escribes un comando con WHERE y OR haciendo referencia a los ejecutables y listo :P
Por poner un ejemplo en vbs (ahora no tengo permisos de utilizar WMIC desde línea de comandos :¬¬)

Código
  1. set taskmgr = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process where name='calc.exe' or name='notepad.exe'")
  2. for each process in taskmgr
  3. process.terminate
  4. next

Saludos


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 1 Diciembre 2009, 22:55 pm
Ahora si ... algo así para terminar los procesos que prefieras :P

Código
  1. C:\>wmic process where "name='notepad.exe' or name='calc.exe'or name='mspaint.exe'" delete
  2. Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="1508"
  3. Instancia eliminada correctamente.
  4. Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="2044"
  5. Instancia eliminada correctamente.
  6. Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="536"
  7. Instancia eliminada correctamente.
  8. Eliminando la instancia \\NOVLUCKE-A054CB\ROOT\CIMV2:Win32_Process.Handle="1452"
  9. Instancia eliminada correctamente.
  10.  
  11. C:\>

O se podría hacer lo contrario por medio de la clausula NOT, matar todo MENOS :P

Saludos


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: leogtz en 2 Diciembre 2009, 06:35 am
Offtopic : Novlucker, ¿no has probado powershell?  :)


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 2 Diciembre 2009, 11:04 am
[offtopic]Si lo he probado! ;D, lo tengo instalado en XP y en Win 7 viene por defecto, esta excelente!, me falta hacer más pruebas pero de cualquier manera sería interesante que alguien preguntara sobre eso, el problema es que nadie lo conoce :-\[/offtopic]


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: flony en 2 Diciembre 2009, 11:12 am
wmic process get caption. :-(...me habia olvidado que exictia... :P...ahora lo de offtopic? que es.....tampoco se tanto  :xD


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 2 Diciembre 2009, 11:19 am
:http://es.wikipedia.org/wiki/Windows_PowerShell
:http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx

(http://s2.subirimagenes.com/imagen/3650744powershell.gif)

Saludos


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: flony en 2 Diciembre 2009, 11:21 am
listo me pongo a leer
y sobre wmic process get caption...ya me pongo a mejorarlo...en estos dias vuelvo a molestar


Título: Re: mejorar code taskkill exe molestos (batch)
Publicado por: Novlucker en 2 Diciembre 2009, 11:33 am
Sobre WMI, puedes hacer uso de caption o de name, se supone que deberían de ser diferentes, pero hasta el momento no he encontrado un ejemplo donde lo sean :o

Ej:
Código
  1. C:\>wmic process get name, caption

Saludos