Trojaner-Board

Trojaner-Board (https://www.trojaner-board.de/)
-   Diskussionsforum (https://www.trojaner-board.de/diskussionsforum/)
-   -   eScan-Anleitung und find.bat (https://www.trojaner-board.de/35365-escan-anleitung-find-bat.html)

ordell1234 07.03.2008 19:29

Gebastelt, getestet, für gut befunden, gepostet. Fast beta-Stadium :aplaus:. Bei Fragen, Problemen, Wünschen am besten an Mastermindmyrtille wenden.

Änderungen:
- Kleinigkeiten in der find.bat, nichts Entscheidendes

- findftp: Schreibschutz für c:\Windows und system32, damit escan nicht die dämlichen Ordner/Dateien erstellt. Funktioniert nur mit XP, bei vista wird's komlexer, sodaß imho der Aufwand nicht lohnt, v.a. deshalb nicht, weil unter vista lediglich die bescheuerten Ordner erstellt werden, (so wie ich das bisher sehe) - ansonsten Kleinkram geändert, verschlimmbessert

findbat 2008.03.07
Code:

@echo off
REM Version 2008.03.07
REM
REM Die Grundlage für diese Batchdatei wurde von Haui45 geschaffen.
REM Ein Dankeschön an Cidre und KarlKarl für ihre Verbesserungsvorschläge.
REM Danke auch an undoreal, cad, ordell1234 sowie alle ungenannten,
REM freiwilligen sowie unfreiwilligen Tester.

REM Diese Batchdatei wurde von Mitgliedern des Sicherheitsforums www.trojaner-board.de erstellt.
REM Die Datei kann jederzeit für nicht-kommerzielle Zwecke heruntergeladen und verwendet werden.
REM Die Bereitstellung gegen Entgelt sowie die Verwendung des Codes in nicht-freier Software sind
REM nicht gestattet.
REM
REM Marc Manske, April 2007


REM *********************************************************************************
REM 0. Macht die Arbeit etwas einfacher
REM *********************************************************************************
REM
REM Die Startzeit wird übergeben
REM %LOG% erleichtert das Tippen und verbessert den Überblick
REM Der Batch kann ein Paramter übermittel werden, der bestimmt wie die Ausgabe aussieht:
REM 1: Anzeige aller Scans
REM 2: Anzeige mit Datum und Zeit in jeder Zeile
REM 3: Anzeige aller scans mit Datum und Zeit in jeder Zeile
REM Der Paramter wird an %MODUS& übergeben.
  :INITIAL
  set TIMESTART=%TIME%
  set wd=%systemdrive%\escan
  set LOG=^>^> "%wd%\bases_x\eScan_neu.txt"
  set MODUS=%1
  set linecnt=1
 

REM *********************************************************************************
REM 1. Hier wird ermittelt, ob eine NT-Variante vorliegt.
REM *********************************************************************************
REM
REM Es wird lediglich überprüft, ob eine NT-Variante vorliegt.

REM Die Umgebungsvariable %OS% abgefragt.
  :OS
        IF "%OS%"=="Windows_NT" goto srchwd
        IF "%OS%"=="" goto wrngos
 
  cls
  echo.
  echo.
  echo [XX______________________]
  echo.
  echo Checking OS ...
 
REM *********************************************************************************
REM 2. Verarbeitung des Scanreports
REM *********************************************************************************
 
REM 2.0.1 Log-Datei (mwav.log) wird gesucht       
REM    Zuerst wird geprueft, ob das Arbeitsverzeichnis bereits existiert. Falls nicht, wird es erstellt.
REM    Ist bereits eine Kopie im Arbeitsverzeichnis (z.B. von einem vorherigen Durchlauf),
REM    wird diese umbenannt.
 
  :srchwd
        %systemdrive%
        cd\
        dir /A:D %systemdrive% | findstr /i "escan"
        if %errorlevel% equ 0 goto srchlog
        mkdir %wd%\bases_x
        goto cp2wd
        :srchlog
        dir %wd%\bases_x | findstr /i "mwav.log"
        if %errorlevel% equ 1 goto cp2wd
        ren %wd%\bases_x\mwav.log "mwav-%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%.log"
       
REM 2.0.1 Scanreport (mwav.log) wird gesucht und in das Arbeitsverzeichnis kopiert.
  :cp2wd
        dir /s /b %temp%\mwav.log > %wd%\bases_x\tmp.log
        set /P FILE=<%wd%\bases_x\tmp.log
        copy "%FILE%" %wd%\bases_x\
 
  cls
  echo.
  echo.
  echo [XXXX____________________]
  echo.
  echo Copying mwav.log ...
 
REM 2.0.2 Installationssprache wird ermittelt
REM    In HKCR\eut wird der Wert von "Language" abgefragt und %eLang% zugewiesen.
REM    Ist "Language" nicht vorhanden, ist Englisch per Default die Installationssprache.
REM    Liefert "Language" etwas anderes als "English" oder "German" wird abgebrochen.

  :getlang
  reg query HKCR\eut /v "Language" > nul
  for /f "tokens=3 skip=2" %%i in ('reg query HKCR\eut /v "Language"') do set eLang=%%i
        if "%eLang%"=="German" (
        goto germpath
        ) else (
        goto wrnglang
        )
        cls
  echo.
  echo.
  echo [XXXXXX__________________]
  echo.
  echo Determing language ...

REM *********************************************************************************
REM *********************************************************************************
REM 2.1 Deutschsprachiger Pfad
REM *********************************************************************************
REM *********************************************************************************
        :germpath
       
REM Zuerst wird das Log noch ein wenig aufgeräeumt und nur der letzte Scan in eine
REM neue Logdatei überführt. Die ganzen Datumsangaben werden dabei per Default abgeschnitten.

  if "%MODUS%"=="1" goto gmode1
  if "%MODUS%"=="2" goto gmode2
  if "%MODUS%"=="3" goto gmode3
 
  for /f "delims=- tokens=1*" %%i in ('findstr /v /c:"wird gescannt" %wd%\bases_x\mwav.log ^|findstr ^[0-3]') do (echo%%j >> %wd%\bases_x\mwav_clean.log)
  for /f "delims=: tokens=1" %%i in ('findstr /n "Antispywarewerkzeugsatz" %wd%\bases_x\mwav_clean.log') do set linecnt=%%i
  more +%linecnt% %wd%\bases_x\mwav_clean.log > %wd%\bases_x\mwav_cut.log
 
  cls
  echo.
  echo.
  echo [XXXXXXXX________________]
  echo.
  echo Cleaning log ...
  goto gstart
 
  :gmode1
  for /f "delims=- tokens=1*" %%i in ('findstr /v /c:"wird gescannt" %wd%\bases_x\mwav.log') do (echo %%i >> %wd%\bases_x\mwav_cut.log)
  goto gstart
 
  :gmode2
  findstr /v /c:"wird gescannt" %wd%\bases_x\mwav.log >> %wd%\bases_x\mwav_clean.log
  for /f "delims=: tokens=1" %%i in ('findstr /n "Optionen" %wd%\bases_x\mwav_clean.log^|findstr "Benutzer"') do set linecnt=%%i
  more +%linecnt% %wd%\bases_x\mwav_clean.log > %wd%\bases_x\mwav_cut.log
  goto gstart
 
  :gmode3
  findstr /v /c:"wird gescannt" %wd%\bases_x\mwav.log >> %wd%\bases_x\mwav_cut.log
 
REM 2.1.1 Deutsch: Header der Reportdatei wird erstellt.
REM    Versionsnummer der find.bat
REM    OS-Version: per ver
REM    Bootmodus: Abfrage der Variable %SAFEBOOT_OPTION% (SBO)
REM              Im normalen Modus ist SBO nicht gesetzt.
REM              Ansonsten gibt SBO "MINIMAL" oder "NETWORK" aus.
REM    Programmversion: wird aus HKCR\eut gelesen
REM    Sprache: wurde bereits bestimmt (:getlang)
REM    Virusdatenbank: Die Zeile überschreibt immer wieder den Inhalt von datum.log
REM                Der Inhalt von datum.log (der letzte gefundene, also der aktuellste
REM                Eintrag) wird ins Log geschrieben.             

  :gstart
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  > %wd%\bases_x\eScan_neu.txt
        echo Header %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        echo find.bat Version 2008.03.07 %LOG%
        ver %LOG%
        findstr "Bootmodus:" %wd%\bases_x\mwav_cut.log %LOG%
        if "%errorlevel%"=="1" echo Bootmodus: Normal %LOG%
        echo. %LOG% 
        for /f "tokens=3 skip=2" %%i in ('reg query HKCR\eut /v "Version" 2^>nul') do set eVersion=%%i
        if not defined eVersion (for /f "tokens=1-3" %%i in ('findstr /c:"Version" %wd%\bases_x\mwav_cut.log') do set eVersion=%%i %%j)
        echo eScan Version: %eVersion% %LOG%
        echo Sprache: %eLang% %LOG%
        for /f "tokens=*" %%i in ('findstr "Virus-Datenbank" %wd%\bases_x\mwav_cut.log^|findstr "Datum"') do (echo %%i > %wd%\bases_x\tmp.log)
        more %wd%\bases_x\tmp.log %LOG%
        echo. %LOG%
       
        cls
  echo.
  echo.
  echo [XXXXXXXXXX______________]
  echo.
  echo Writing header ...
       
REM 2.1.2 Deutsch: Infektionsmeldungen werden gesucht und in Reportdatei geschrieben.
REM    Hierbei handelt es sich lediglich um allgemeine Meldungen ohne grossen praktischen Wert.
REM    Wegen der unklaren Situation sind sowhl deutsche als auch englische strings enthalten.
  cls
  echo.
  echo.
  echo [XXXXXXXXXXXX____________]
  echo.
  echo Reported infections  ...
               
REM 2.1.3 Deutsch: Dateimeldungen werden gesucht und in Reportdatei geschrieben.
 
  echo. %LOG%
  echo. %LOG%
  echo ~~~~~~~~~~~ %LOG%
  echo Dateien %LOG%
  echo ~~~~~~~~~~~ %LOG%
  echo ~~~~ Infected files %LOG%
  echo ~~~~~~~~~~~ %LOG%
  findstr "Datei" %wd%\bases_x\mwav_cut.log | findstr /i "infiziert" %LOG%
  echo ~~~~~~~~~~~ %LOG%
  echo ~~~~ Tagged files %LOG%
  echo ~~~~~~~~~~~ %LOG%
  findstr "markiert" %wd%\bases_x\mwav_cut.log %LOG%
  echo ~~~~~~~~~~~ %LOG%
  echo ~~~~ Offending files %LOG%
  echo ~~~~~~~~~~~ %LOG%
  findstr "Offending" %wd%\bases_x\mwav_cut.log | findstr "file" %LOG%
  echo ~~~~~~~~~~~ %LOG%
  echo ~~~~ Spyware (Vorsicht: Oft Fehlalarm!)  %LOG%
  echo ~~~~~~~~~~~ %LOG%
  findstr /i "Spyware infected" %wd%\bases_x\mwav_cut.log %LOG%
        cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXX__________]
  echo.
  echo Reported files  ...
 
REM 2.1.4 Deutsch: Ordner werden gesucht und in Reportdatei geschrieben.
        echo ~~~~~~~~~~~ %LOG%
        echo Ordner %LOG%
        echo ~~~~~~~~~~~ %LOG%
        findstr "Offending" %wd%\bases_x\mwav_cut.log | findstr /i "Folder" %LOG%
        echo ~~~~~~~~~~~ %LOG%
        echo Registry %LOG%
        echo ~~~~~~~~~~~ %LOG%
        findstr "Offending" %wd%\bases_x\mwav_cut.log | findstr "Key" %LOG%

  cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXXXX________]
  echo.
  echo Reported folders and entries  ...

REM 2.1.5 Deutsch: Diverses
REM  Meldungen über laufende Prozesse und Scanfehler
REM 1. Schritt: Schreiben des vbs zu den laufenden Prozessen
REM 2. Schritt: Einfuegen der Liste in das log
echo Dim objWMIService, Proccmdline, ProcList>>%wd%\prclst.vbs
echo Dim strComputer, strList>>%wd%\prclst.vbs
echo strComputer ^= ".">>%wd%\prclst.vbs
echo Set objWMIService ^= GetObject("winmgmts:" ^& "{impersonationLevel=impersonate}!\\" ^& strComputer ^& "\root\cimv2")>>%wd%\prclst.vbs
echo Set ProcList ^= objWMIService.ExecQuery ("Select * from Win32_Process")>>%wd%\prclst.vbs
echo For Each Proccmdline in ProcList>>%wd%\prclst.vbs
echo wscript.echo Proccmdline.Name ^& " - " ^& Proccmdline.commandline>>%wd%\prclst.vbs
echo Next>>%wd%\prclst.vbs

echo. %LOG%
echo. %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        echo Diverses %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        echo laufende Prozesse - commandline %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        cscript %wd%\prclst.vbs //nologo %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        echo Scanfehler %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        findstr /i "Error" %wd%\bases_x\mwav_cut.log %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        echo Hosts-Datei %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        for /f "tokens=3 skip=2" %%i in ('reg query HKLM\System\CurrentControlSet\Services\Tcpip\Parameters /v "DataBasePath"') do set hostloc=%%i
        echo DataBasePath: %hostloc% %LOG%
        echo %hostloc%\hosts|more> %wd%\bases_x\tmp.log
        echo Zeilen die nicht dem Standard entsprechen: %LOG%
        findstr /v /f:%wd%\bases_x\tmp.log "^#" 2>nul|findstr /v /c:"127.0.0.1      localhost"|findstr /v /c:"::1            localhost" %LOG%
       
cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXXXXXX______]
  echo.
  echo Misc entries ...

REM 2.1.6 Deutsch: Statistiken werden gesucht und in Reportdatei geschrieben.
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %LOG%
        echo Statistiken: >>%wd%\bases_x\eScan_neu.txt
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        for /f "tokens=*" %%i in ('findstr /b "Zahl Zeit" %wd%\bases_x\mwav_cut.log') do (find "%%i" %wd%\bases_x\eScan_neu.txt>nul|| echo %%i%LOG%)       
  cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXXXXXXXX____]
  echo.
  echo Scanning stats ...

REM 2.1.7 Deutsch: Scan-Optionen werden gesucht und in Reportdatei geschrieben.
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        echo Scan-Optionen %LOG%
        echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  %LOG%
        findstr /i "aktiviert" %wd%\bases_x\mwav_cut.log >> %wd%\bases_x\tmp.log
        for /f "tokens=*" %%i in ('findstr /i "aktiviert" %wd%\bases_x\tmp.log') do (find "%%i" %wd%\bases_x\eScan_neu.txt>nul|| echo %%i%LOG%)
  cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXXXXXXXXXX__]
  echo.
  echo Writing Options ...

 
REM *********************************************************************************
REM *********************************************************************************
REM 3. Abschluss
REM *********************************************************************************
REM *********************************************************************************
 
REM 3.1 Abschluss: Temporäre Dateien werden gelöscht.
:end
rem del %wd%\bases_x\tmp.log
rem del %wd%\bases_x\mwav_clean.log
rem del %wd%\bases_x\mwav_cut.log
del %wd%\prclst*
echo. %LOG%
echo Batchstart: %TIMESTART% %LOG%
echo Batchende: %TIME% %LOG%
       
        cls
  echo.
  echo.
  echo [XXXXXXXXXXXXXXXXXXXXXXXX]
  echo.
  echo Cleaning up ...

REM 3.2 Abschluss: Status wird angezeigt
  cls
        echo.
        echo.
        echo Auswertung beendet.
        echo Dieses Fenster schliesst, sobald Notepad geschlossen wird.

REM 3.3 Abschluss: Reportdatei wird geöffnet und Batch beendet
        start notepad %wd%\bases_x\eScan_neu.txt
        exit
       
REM 4.1 Abbruch: Falsches Betriebssystem
  :wrngos
  cls
        color 04
        echo.
        echo Ihre Windowsversion wird nicht unterstützt.
        echo Die Stapelverarbeitung wird abgegbrochen.
        echo.
        pause
        exit

REM 4.2 Abbruch: falsche Installationssprache
  :wrnglang
  cls
  color 04
        echo.
        echo Fehler bei der Ermittlung der Installationssprache!
        echo.
        echo Diese Batchdatei kann nur Logdateien in deutscher Sprache
        echo auswerten. Sie haben bei der Installation %eLang% als Sprache gewaehlt.
        echo.
        echo In der FAQ-Sektion von www.trojaner-board.de finden Sie eine Anleitung um
        echo die Sprache bei eScan zu ändern.
        echo.
        echo Die Stapelverarbeitung wird abgebrochen.
        echo.
  pause
  exit


ordell1234 07.03.2008 19:32

findftp.bat 2008.03.08
Code:

@echo off
REM Version 2008.03.08
REM
REM MightyMarc, ordell1234, myrtille und cad@ www.trojaner-board.de
rem Danke an alle ungenannten, freiwilligen sowie unfreiwilligen Tester.

REM Diese Batchdatei wurde von Mitgliedern des Sicherheitsforums www.trojaner-board.de erstellt.
REM Die Datei kann jederzeit fuer nicht-kommerzielle Zwecke heruntergeladen und verwendet werden.
REM Die Bereitstellung gegen Entgelt sowie die Verwendung des Codes in nicht-freier Software sind
REM nicht gestattet.
 
REM Marc Manske, Juli 2007

REM Pruefung des Betriebssystems und des Bootmodus'
if "%OS%" neq "Windows_NT" goto wrngos
if "%safeboot_option%" equ "MINIMAL" goto safeboot
if "%safeboot_option%" equ "NETWORK" goto srchwd
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v shell |findstr "findftp.bat" 2>nul
if "%errorlevel%"=="0" goto reboot

%systemdrive%
cd\
set /a x=0
set /a srvcnt=0
reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced %systemdrive%\escan\advanced.reg>nul
reg export "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" %systemdrive%\escan\winlogon.reg>nul
reg export "hkcu\control panel\international" %systemdrive%\escan\international.reg>nul

cls
echo.
echo Benutzung dieser Batchdatei einzig und allein auf eigene Gefahr!
echo Es wird fuer nichts garantiert!
echo.
echo Wer alle moeglichen Risiken NICHT in Kauf nehmen moechte, steigt bei der
echo naechsten Abfrage aus (0 - Batch beenden)!
echo.
echo **** Es wird nun die Pingzeit zu den Downloadservern getestet. ****
echo.
echo **** Dieser Vorgang dauert etwa 30 Sekunden. ****
echo.
echo.


:srchwd
rem Search Working Directory
rem Hier wird geschaut, ob das WD bereits existiert. Wenn nicht wird es angelegt
rem und die Variable wd gesetzt.
set wd=%systemdrive%\escan\bases_x
if exist %systemdrive%\escan\bases_x goto pngsrv
mkdir %systemdrive%\escan\bases_x
pause


:pngsrv
rem Ping Servers
rem Die beiden Downloadserver werden angepingt, die Ergebnisse in Dateien ueberfuehrt.
ping ftp.microworldsystem.com > %wd%\ping1.log
ping update.mailscan.info > %wd%\ping2.log
findstr "Mittelwert" %wd%\ping1.log > %wd%\p1.log
findstr "Mittelwert" %wd%\ping2.log > %wd%\p2.log


:pngcom
rem Ping Communication (dumme Bezeichnung aber was soll's)
rem Die Pingzeiten der Server werden angezeigt und der User zur Auswahl aufgefordert.

cls
echo.
echo Welchen Downloadserver wollen Sie verwenden:
echo Geben sie 1 fuer Server 1 bzw 2 fuer Server 2 ein. Sollten Sie die
echo mwav.exe bereits in %systemdrive%\escan gespeichert haben, waehlen Sie bitte
echo 3 aus, um die Datei zu entpacken und alles weitere zu veranlassen.
echo.
echo Es wird empfohlen, den Server mit dem geringeren Mittelwert zu waehlen.
echo.
echo.
echo [1] Server 1:
more %wd%\p1.log
echo.
echo [2] Server 2:
more %wd%\p2.log
echo.
echo [3] Bereits vorhandene mwav.exe entpacken
echo.
echo [4] Update wiederholen / weitfuehren
echo.
if "%safeboot_option%" equ "NETWORK" (
echo [5] eScan starten
echo.
)
echo [0] Beenden
echo.
set /p srv=Auswahl mit [Enter] bestaetigen:
if "%srv%"=="1" goto ftp
if "%srv%"=="2" goto ftp
if "%srv%"=="3" goto extract
if "%srv%"=="4" goto testextr
if "%srv%"=="5" (
        if "%safeboot_option%" equ "NETWORK" goto safeboot
        )
if "%srv%"=="0" goto end1
goto pngcom

:ftp
cls
echo.
echo Die eScan-Programmdatei wird von Server %srv% geladen.
echo DIES DAUERT EINIGE MINUTEN (!), abhaengig von der Geschwindigkeit Ihrer
echo Internetanbindung, der Auslastung des Servers und anderen Faktoren:
echo.
echo 56k Modem mindestens 41 Minuten !
echo ISDN mindestens 18 Minuten !
echo.
echo DSL 1000 mindestens 2 Minuten 30 Sekunden
echo DSL 2000 mindestens 1 Minute 15 Sekunden
echo DSL 6000 mindestens 40 Sekunden
echo.
echo Zu den nun folgenden Logzeilen kann ich Ihnen nur dieses raten:
echo.
echo Don't panic!
echo.
echo (Sie koennen jederzeit mit Strg + C aus dieser Batchdatei aussteigen.)
echo.
echo.

:wgetfile
rem Write Get File
rem Das FTP-Script zum Downloaden der Datei wird geschrieben.

echo hash > %wd%\ftp.txt
echo binary >> %wd%\ftp.txt
echo get download/tools/mwav.exe %systemdrive%\escan\mwav.exe >> %wd%\ftp.txt
echo quit >> %wd%\ftp.txt

:wgetsize
rem Write Get Size
rem Das FTP-Script fuer das directory listing wird geschrieben.
rem Aus dem directory listing wird die Dateigroeße bestimmt.
pause
echo cd download > %wd%\ftpgetsize.txt
echo cd tools >> %wd%\ftpgetsize.txt
echo dir >> %wd%\ftpgetsize.txt
echo quit >> %wd%\ftpgetsize.txt
if "%srv%"=="2" goto ftp2


:ftp1
rem FTP Server 1
rem Zuerst wird der dir-Befehl im Downloadverzeichnis ausgefuehrt.
rem Aus dem Output wird ueber findstr die richtige Zeile ermittelt
rem und aus ihr der richtige Token extrahiert.
rem Danach wird die mwav.exe runtergeladen. Nach dem Download wird wie oben
rem ueber den dir-Befehl sowie findstr der token extrahiert.
rem Beide Tokens werden verglichen.

ftp -s:%wd%\ftpgetsize.txt -A ftp.microworldsystems.com > %wd%\ftp.log
for /f "tokens=1-9" %%i in ('findstr "mwav.exe" %wd%\ftp.log') do set rfsize=%%m
ftp -s:%wd%\ftp.txt -A ftp.microworldsystems.com
for /f "tokens=1-9" %%i in ('dir /-C %systemdrive%\escan^| findstr "mwav.exe"') do set lfsize=%%k
if "%rfsize%"=="%lfsize%" goto extract
goto nodl

:ftp2
rem FTP Server 2
rem siehe :ftp1
set x=0
ftp -s:%wd%\ftpgetsize.txt -A update.mailscan.info > %wd%\ftp.log
for /f "tokens=1-9" %%i in ('findstr "mwav.exe" %wd%\ftp.log') do set rfsize=%%m
ftp -s:%wd%\ftp.txt -A update.mailscan.info
for /f "tokens=1-9" %%i in ('dir /-C %systemdrive%\escan^| findstr "mwav.exe"') do set lfsize=%%k

:size
rem Größenprüfung, ob der Download vollständig verlief
if "%rfsize%"=="%lfsize%" goto extract

:nodl
rem No Download
rem Meldung die der User zu sehen bekommt, wenn die Tokens (siehe :ftp1)
rem unterschiedlich sind. es wird aufgefordert irgendwas zu machen.

echo **** ftp - no download >> %temp%\find.log
set ndl=
cls
echo Der Download war nicht erfolgreich.
echo Groesse der Datei auf dem Server:
echo %rfsize% byte
echo Groesse der Datei hier auf dem Computer:
echo %lfsize%
echo.
echo Wiederholen Sie den Download mit der Batchdatei.
echo Alternativ koennen Sie die mwav.exe auch hier ueber Ihren Browser
echo runterladen:
echo.
echo http://update6.mwti.net/download/tools/mwav.exe
echo http://update3.mwti.net/download/tools/mwav.exe
echo http://www.mwti.net/download/tools/mwav.exe
echo ftp://update.mailscan.info/download/tools/mwav.exe
echo.
echo Speichern Sie die in diesem Fall die mwav.exe in %systemdrive%\ (nicht in einem
echo Ordner oder Unterordner), starten die Batch und waehlen Option 3.
echo.
echo [1] Datei nochmal runterladen
echo [0] Batchdatei beenden
echo.
set /p ndl=Auswahl mit [Enter] bestaetigen:
if "%ndl%"=="1" goto pngsrv
if "%ndl%"=="0" goto end
goto nodl
pause

:extract
rem extract
rem Da der User hier hinspringen kann, muessen die Verzeichnisse ueberprueft werden.
rem Sind sie nicht vorhanden, werden sie erstellt und die Variable(n) gesetzt.
rem %temp% wird auf %systemdrive%\eScan umgebogen. Das haengt damit zusammen, dass
rem die mwav.exe sich beim Ausfuehren in %temp% entpackt. Und im standard-Tempordner
rem will man die Dateien nicht haben.
rem mwav.exe wird mit /FS (Fullsilent) gestartet, damit es sich ohne Userinteraktion entpackt.

dir /A:D %systemdrive%\escan | findstr /i "bases_x"
if %errorlevel% equ 1 mkdir escan\bases_x
cls
echo Download erfolgreich. Groesse der Datei auf dem Server ist %rfsize% byte und
echo auf dem Computer %lfsize% byte.
echo.
echo eScan wird jetzt in das Zielverzeichnis entpackt und ueberprueft
echo den Arbeitsspeicher. Dieser Vorgang dauert - abhaengig von Ihrem System -
echo etwa 30 - 90 Sekunden.
echo.
echo Sollte nach 5 Minuten immer noch dieser Text zu lesen sein, brechen sie
echo den Vorgang mit der Tastenkombination Strg + C ab und starten Sie die Batchdatei
echo neu (Option 3 waehlen). Fuehrt dies auch nicht zum Erfolg, melden Sie bite Ihr 
echo Problem hier:
echo.
echo www.trojaner-board.de, Diskussionsforum, eScan-Anleitung und find.bat
echo.
echo.

REM Da eScan derzeit sinnfreie Ordner in Systemverzeichnissen anlegt, werden die Zugriffsrechte beschränkt
copy /v %windir%\system32\cacls.exe %systemdrive%\escan
if %errorlevel%==1 goto nocacls
echo y|%systemdrive%\escan\cacls %windir% /e /p %userdomain%\%username%:n >nul
echo y|%systemdrive%\escan\cacls %windir% /e /g %userdomain%\%username%:r >nul
echo y|%systemdrive%\escan\cacls %windir%\system32 /e /p %userdomain%\%username%:n >nul
echo y|%systemdrive%\escan\cacls %windir%\system32 /e /g %userdomain%\%username%:r >nul
:nocacls
%systemdrive%\escan\mwav.exe /FS

:testextr
rem testing extraction
rem Hier werden einfach ein paar Dateien gesucht um zu sehen, ob das Entpacken
rem auch funktioniert hat.

dir %temp% | findstr /i "zcompare.ppl"
if %errorlevel% equ 1 goto noextr
dir %temp% | findstr /i "download.exe"
if %errorlevel% equ 1 goto noextr
dir %temp% | findstr /i "virus.avi"
if %errorlevel% equ 1 goto noextr
dir %temp% | findstr /i "mexe.com"
if %errorlevel% equ 1 goto noextr
dir %temp% | findstr /i "unregx.exe"
if %errorlevel% equ 1 goto noextr
goto files

:noextr
rem no extraction
rem bei testextr ist einmal %errorlevel% = 1 aufgetaucht > Entpacken unvollstaendig
pause
set nxtr=
cls
echo.
echo Das Entpacken von eScan war leider nicht erfolgreich. Bitte starten Sie
echo die Batchdatei neu und waehlen Sie bei der Frage nach dem Downloadserver
echo Option "3" aus. Das Entpacken wird wiederholt.
echo.
echo [1] Datei nochmal runterladen
echo [2] Erneut versuchen die Datei zu entpacken
echo [0] Batchdatei beenden
echo.
set /p nxtr=Auswahl mit [Enter] bestaetigen:
if "%nxtr%"=="1" goto pngsrv
if "%nxtr%"=="2" (
for /f "tokens=1-9" %%i in ('dir /-C %systemdrive%\escan^| findstr "mwav.exe"') do set lfsize=%%k
for /f "tokens=1-9" %%i in ('findstr "mwav.exe" %wd%\ftp.log') do set rfsize=%%m
goto size
)
if "%nxtr%"=="0" goto end
goto noextr

:files
rem files
rem hier werden einige Dateien geschrieben, die für das Update benötigt werden.

echo > %temp%\download.lck
echo > %temp%\filelist.lst
echo [Config] > %temp%\EUpdate.ini
echo ConnectViaProxy=0 >> %temp%\EUpdate.ini
echo SourceURL=http://update4.mwti.net/pub/update >> %temp%\EUpdate.ini
echo HTTPHost=http://update4.mwti.net/sendinfo >> %temp%\EUpdate.ini
echo DownloadType=2 >> %temp%\EUpdate.ini
echo HTTPPort=80 >> %temp%\EUpdate.ini
echo LogfilePath=%temp% >> %temp%\EUpdate.ini
echo DestDir=%temp% >> %temp%\EUpdate.ini
echo TempDir=%temp% >> %temp%\EUpdate.ini
echo Createsysteminfo=0 >> %temp%\EUpdate.ini
echo CreateReport=0 >> %temp%\EUpdate.ini
echo CopyMissing=0 >> %temp%\EUpdate.ini
echo HTTPLastTry=1 >> %temp%\EUpdate.ini
echo HTTPNumOfTry=1 >> %temp%\EUpdate.ini
echo Fileno=0 >> %temp%\EUpdate.ini
echo Hosttry=0 >> %temp%\EUpdate.ini

:options
rem options
rem hier werden die notwendigen Werte fuer den escan und updatetest in der Registry gesetzt

reg add HKCR\eut /v Language /t REG_SZ /d German /f
reg add HKCR\eut /v AllFiles /t REG_SZ /d 1 /f
reg add HKCR\eut /v ProgramFiles /t REG_SZ /d 0 /f
reg add HKCR\eut /v SizeRestriction /t REG_SZ /d 10 /f

:update
rem update
rem eScan wird aktualisiert
cls
echo.
echo Das Entpacken war erfolgreich. Nun werden die Updates fuer eScan
echo runtergeladen. Dies kann einige Minuten dauern (meist 1-2 Minuten).
echo.
%temp%\download.exe
del /s /q %temp%\spy* 2>nul
del /s /q /f %temp%\*.manifest 2>nul

:testupdate
rem Pruefung des Updates durch Vergleich des in der EUpdate.ini eingetragenen Datums
rem mit dem aktuellen Datum. Der Reg.-Zweig, der die Datumsoptionen beinhaltet wird
rem gesichert und dann werden die einstellungen auf ein einheitliches Format gebracht.
rem Letztendlich wird der Reg.-Zweig wieder reimportiert.
reg add "hkcu\control panel\international" /v sShortDate /t REG_SZ /d dd.MM.yyyy /f>nul
reg add "hkcu\control panel\international" /v sDate /t REG_SZ /d . /f>nul
reg add "hkcu\control panel\international" /v iDate /t REG_SZ /d 1 /f>nul
for /f "tokens=2 delims==" %%i in ('findstr /i "lastsuccessfuldownload" %temp%\EUpdate.ini') do echo %%i> %wd%\datum.log
for /f "tokens=1,2,3 delims=." %%i in (%wd%\datum.log) do set edatum=%%j.%%i.%%k
echo %date%
echo %edatum%
if "%date%"=="%edatum%" goto reboot
set /a x=%x%+1
if %x% lss 4 goto update

:srvchange
if %srvcnt% equ 1 goto leckmich
cls
echo.
echo Das Update will bei Ihnen partout nicht funktionieren. Es wird jetzt ein anderer
echo Updateserver getestet.
echo.
echo Bitte druecken Sie eine beliebige Taste um die Aktualiserung zu starten.
echo.
pause
echo [Config] > %temp%\EUpdate.ini
echo ConnectViaProxy=0 >> %temp%\EUpdate.ini
echo SourceURL=http://update3.mwti.net/pub/update >> %temp%\EUpdate.ini
echo HTTPHost=http://update3.mwti.net/sendinfo >> %temp%\EUpdate.ini
echo DownloadType=2 >> %temp%\EUpdate.ini
echo HTTPPort=80 >> %temp%\EUpdate.ini
echo LogfilePath=%temp% >> %temp%\EUpdate.ini
echo DestDir=%temp% >> %temp%\EUpdate.ini
echo TempDir=%temp% >> %temp%\EUpdate.ini
echo Createsysteminfo=0 >> %temp%\EUpdate.ini
echo CreateReport=0 >> %temp%\EUpdate.ini
echo CopyMissing=0 >> %temp%\EUpdate.ini
echo HTTPLastTry=1 >> %temp%\EUpdate.ini
echo HTTPNumOfTry=1 >> %temp%\EUpdate.ini
echo Fileno=0 >> %temp%\EUpdate.ini
echo Hosttry=0 >> %temp%\EUpdate.ini
set x=0
set srvcnt=1
goto update

:leckmich
cls
echo.
echo Bei Ihnen ist der Versuch einer Programmaktualisierung ein hoffnungsloser
echo Fall. Melden Sie sich im Forum www.trojaner-board.de und beschreiben Sie Ihr
echo Problem im Diskussionforum unter "eScan-Anleitung und find.bat"
echo.
echo Wahlen Sie, ob eScan ohne aktuellen Signaturen fortgesetzt werden soll:
echo.
echo [1]        Fortsetzen.
echo.
echo [2]        Die Stapelbearbeitung abbrechen.
echo.
set /p boot=Auswahl mit [Enter] bestaetigen:
if "%boot%"=="1" goto reboot
if "%boot%"=="2" goto end2
goto leckmich

:reboot
rem Die findftp.bat wird in den Autostart von winlogon geschrieben. Der Nutzer kann entscheiden, ob er sofort oder
rem später in den abgesicherten Modus wechseln möchte
if "%safeboot_option%" equ "NETWORK" goto safeboot
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v shell /d "explorer.exe, %~dp0findftp.bat" /f
echo y|cacls %windir% /e /r %userdomain%\%username%>nul
echo y|cacls %windir%\system32 /e /r %userdomain%\%username%>nul
cls
echo Bitte starten Sie das System im abgesicherten Modus neu.
echo Hierfuer druecken Sie noch VOR dem Anmeldebildschirm von Windows 'F8'.
echo.
echo Sie koennen entweder sofort neu starten oder spaeter selbst in den abgesicherten Modus wechseln.
echo.
echo [1]        Jetzt in den abgesicherten Modus wechseln.
echo                Bitte vorher andere offene Anwendungen schliessen.
echo.
echo [2]        Selbst zu einem spaeteren Zeitpunkt in den abgesicherten Modus wechseln.
echo.
echo [3]        Die Stapelbearbeitung abbrechen.
echo.
set /p boot=Auswahl mit [Enter] bestaetigen:
if "%boot%"=="1" shutdown -r -f -t 10
if "%boot%"=="2" goto end1
if "%boot%"=="3" goto end2
goto :reboot

:safeboot
rem Start von escan im abgesicherten Modus,
rem Da eScan unsinnige Ordner und Dateien in %windir%  erstellt, wird der schreibende Zugriff vorübergehend verweigert
rem Zurücksetzen des ursprünglichen Winlogon-Registryeintrags über end2
cls
%systemdrive%
cd\
echo Sie befinden sich im abgesicherten Modus. escan wird jetzt gestartet...
echo.
dir /s /b find.bat>%systemdrive%\escan\findpath.tmp & set /p findpath=<%systemdrive%\escan\findpath.tmp
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v find.bat /d "%findpath%" /f>nul
echo y|%systemdrive%\escan\cacls %windir% /e /p %userdomain%\%username%:n >nul
echo y|%systemdrive%\escan\cacls %windir% /e /g %userdomain%\%username%:r >nul
echo y|%systemdrive%\escan\cacls %windir%\system32 /e /p %userdomain%\%username%:n >nul
echo y|%systemdrive%\escan\cacls %windir%\system32 /e /g %userdomain%\%username%:r >nul
%temp%\mexe.com /drive
echo 0 - Bootmodus: %Safeboot_Option% >>%temp%\mwav.log
copy %temp%\mwav.log %wd%
echo y|cacls %windir% /e /r %userdomain%\%username%>nul
echo y|cacls %windir%\system32 /e /r %userdomain%\%username%>nul
cls
echo escan ist beendet. Das System startet jetzt neu und fuehrt die find.bat aus.
echo Bitte schliessen Sie alle offenen Anwendungen.
echo.
echo Wenn Sie jetzt nicht neu starten moechten, druecken Sie bitte [q] fuer [q]uit.
set /p boot=Eingabe mit [Enter] bestaetigen:
if "%boot%"=="q" goto end2
start shutdown -r -f -t 10

:end2
reg import %systemdrive%\escan\winlogon.reg >nul
if "%errorlevel%"=="1" reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v shell /d Explorer.exe /f
reg import %systemdrive%\escan\advanced.reg >nul
reg import %systemdrive%\escan\international.reg >nul
ren %systemdrive%\escan\*.reg *.old 2>nul
if "%errorlevel%"=="1" del /q %systemdrive%\escan\*.reg

:end1
cls
echo Die Stapelverarbeitung ist beendet.
echo.
pause
exit

:wrngos
color 04
echo.
echo Ihre Windowsversion wird nicht unterstuetzt.
echo Die Stapelverarbeitung wird abgegbrochen.
echo.
pause
exit

....und nu ab in den Supermarkt, Grundnahrungsmittel besorgen :party:

cad 09.03.2008 17:43

Zitat:

Zitat von ordell1234 (Beitrag 326658)
Bei Fragen, Problemen, Wünschen am besten an Mastermindmyrtille wenden.

Hallo Myrtille :)

Du übernimmst also?

Mit Vista gibt es Probleme :headbang:

Gruß cad

myrtille 09.03.2008 18:05

Zitat:

Zitat von cad (Beitrag 326975)
Hallo Myrtille :)

Du übernimmst also?

Sieht so aus. :D Da passt man einmal nicht auf, und dann sowas! :headbang:
;)

Zitat:

Mit Vista gibt es Probleme :headbang:

Gruß cad
Bei welcher bat? Der find.bat, oder der findftp.bat?
IIRC kann der Neustart der findftp.bat unter vista nicht funktionieren.

lg myrtille

Lucky 09.03.2008 20:28

Kann man die find.bat und findftp.bat eigentlich so umschreiben das sie auch auf einer VistaPE DVD läuft? eScan und die Batch Dateien dürften in dem Fall nur im RAM oder von der DVD aus laufen.

cad 09.03.2008 20:29

Zitat:

Zitat von myrtille (Beitrag 326979)

...kann der Neustart der findftp.bat unter vista nicht funktionieren.

lg myrtille

Stimmt, deswegen hatte ich die Option (Ich wechsle selbst in den abgesicherten Modus) gewählt, dann läuft es durch, zumindest wenn man alle nervenden Vistameldungen erlaubt und am Schluss fehlt halt das Fenster mit der Auswertedatei.

Folgender Weg funktioniert: Escan selbst runterladen/ausführen wie hier beschreiben
und anschließend die findbat 2008.03.07 mit Doppelklick starten, kopieren und posten.
Ich würde vorschlagen, in einer kurzen Anleitungen auf die *Besonderheiten* bei Vista hinzuweisen und nicht weiter daran rumzubasteln.

Gruß cad

P.S. Willst Du die ganzen Logs?

myrtille 09.03.2008 23:51

Ich war ehrlich gesagt nie ein großer Freund der findftp.bat, weil der Neustart im abgesicherten Modus einige Gefahren birgt:
Sollte zb unser Freund Bagle auf dem Rechner sein, dann sind die Safebootschlüssel kaputt und ein solcher Neustart würde zu einem endlosen Reboot führen...
Die Version ist definitiv noch nicht salonfähig...


Sollte sie es aber mal werden (evtl durch eine Abfrage der Schlüssel vorm Neustart), dann könnte man sich auch mit dem neuen bootmanager von vista auseinander setzen.

@Lucky
Ich kanns mir irgendwie nur schwer vorstellen.... muss wirklich alles im RAM laufen? Weil die eScanlogs auf größeren Rechnern auch mal 50Mb Größe erreichen... da seh ich ehrlich gesagt schwarz fürs RAM. :p
Werd mich aber mal informieren. :D

lg myrtille

Lucky 10.03.2008 17:26

Zitat:

Zitat von myrtille (Beitrag 327070)
@Lucky
Ich kanns mir irgendwie nur schwer vorstellen.... muss wirklich alles im RAM laufen? Weil die eScanlogs auf größeren Rechnern auch mal 50Mb Größe erreichen... da seh ich ehrlich gesagt schwarz fürs RAM. :p
Werd mich aber mal informieren. :D

lg myrtille

Es ging auch mit HDD zugriff speichern, nur mag ich mit der CD so wenig wie möglich auf die Festplatten zugreifen, und wenn man die Logs nicht unbedingt auf der HDD speichern muss, wäre das schon geil. :)

MightyMarc 10.03.2008 20:56

Zitat:

Zitat von Lucky (Beitrag 327172)
Es ging auch mit HDD zugriff speichern, nur mag ich mit der CD so wenig wie möglich auf die Festplatten zugreifen, und wenn man die Logs nicht unbedingt auf der HDD speichern muss, wäre das schon geil. :)

Du musst das Log nicht auf der HDD speichern. Dir sollte das Log angezeigt im eScan GUI erstmal reichen um einen Eindruck von der Geschichte zu bekommen.
Ansonsten kannst Du auch einfach die Batch so erweitern, dass alle sinnvollen Scans (eScan, RKR etc...) gestartet und die Logs gesammelt auf einen USB geschoben werden.

Gruß

Marc

MightyMarc 11.03.2008 07:56

Zitat:

Zitat von MightyMarc (Beitrag 327240)
... alle sinnvollen Scans (eScan, RKR etc...)...

In diesem Zusammenhang RKR zu den sinnvollen Scans zu zählen, war nicht sehr sinnvoll :rolleyes:

cad 28.03.2008 22:09

Wieder ausgrabe :)

@Mytrille

Funktioniert :party: :daumenhoc mit Vista

eScan_neu.txt.html

Find.bat mit den von Dir vorgeschlagenen Änderungen

findohnenbsp.bat.html

Gruß cad

europanorama 19.04.2008 19:07

hallo miteinander wiedereinmal. welche aktuellste dateien für win2k? danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.

Copyright ©2000-2025, Trojaner-Board


Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131