EasyCureLogs! - автоматический сборщик логов для лечения на Dr.Web forum

EasyCureLogs! - утилита для сбора логов и лечения с помощью Dr.Web CureIt!® 1.0.1.6

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Phoenix, еще мне не понравилось, что при необходимости повторного сканирования, CureIt скачивается заново.

if exist .\cureit.exe ren cureit.exe cureit_%random%.exe
if exist .\scanner.exe ren scanner.exe scanner_%random%.exe

а зачем это? Я думал раньше - некий способ обхода блокироваки по имени.

wget.exe -cN -t5 -T15
ключик -с я бы прибрал. Кстати, что обозначает у тебя N ?При установке новой версии старая не удаляется. Не возникнет когда-нибудь конфликта?ECL.cmd
Я бы выбрал что-то более информативное:
EasyCureLogs!.cmd например ;)
 
Последнее редактирование:

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
wget help
Код:
  -c,  --continue                resume getting a partially-downloaded file.
  -N,  --timestamping            don't re-retrieve files unless newer than
                                 local.
Я это содрал у назарета :)
еще мне не понравилось, что при необходимости повторного сканирования, CureIt скачивается заново.
if exist .\cureit.exe ren cureit.exe cureit_%random%.exe
if exist .\scanner.exe ren scanner.exe scanner_%random%.exe
Это на случай старых версий - в Меню же можно выбрать №2
Код:
----------------------------------
-                                -
-    1. Загрузить CureIt         -
-    2. Сканировать с CureIt     -
-    3. Сканер DrWeb AV          -
-    4. Собрать отчёты           -
-    5. Утилита DWSYSINFO        -
-    6. Утилита plstfix          -
-    7. Утилита mwz_unhooker     -
-    0. Выход                    -
-                                -
----------------------------------
ECL.cmd
Я бы выбрал что-то более информативное:
EasyCureLogs!.cmd например
Ну да для 7zsfx надо наверное.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Я это содрал у назарета
Неверно содрал или у Назарета криво. Я тестил еще на ViruLogs-e. Ключ -c конфликтовал с ключем -N.
И сам ключ N писал в полном варианте. А иначе что-то там тоже была проблема.
Меняй на:
Код:
wget.exe --timestamping -t5 -T15
++
-t - кол-во попыток подключения
-T - кол-во секунд между попытками.
Не много ли? Но я вообщем - без претензий.
Это на случай старых версий - в Меню же можно выбрать №2
Тогда не будет смысла использовать ключ --timestamping
Проверять нечего. Его алгоритм: сверять локальную и серверную версии файлов. Если отличаются - закачать.
Надо бы удалить эти обе строчки (лучше - привести их к одному имени, такому же, как и скачиваемый WGET-ом файл).
Проверил только что, нормально сверяется. Повторно не загружает.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Зачистка старых бекапов, пока общий объем не достигнет 400 МБ.
CMD/BATCH:
@Echo Off
SetLocal EnableExtensions
call :Backup_Cleaner "c:\Program Files (x86)\EasyCureLogs!\REGBACKUP" 400
exit /B

:Backup_Cleaner [Папка с бекапами] [Лимит в МБ]
call :GetDirSize "%~1" Size
if %Size% LSS %~2 Exit /B
for /F "delims=" %%d in ('dir "%~1" /B /AD /O-D') do set "EarlyFolder=%~1\%%d"
echo Удаление старого бекапа реестра - "%EarlyFolder%"
rd /s /q "%EarlyFolder%"
goto Backup_Cleaner

:GetDirSize [Папка] [Переменная для хранения результата в МБ]
SetLocal
For /F "tokens=1-3" %%a IN ('Dir "%~1" /-C/S/A') Do call Set DirSize=%%n2%%& Set n2=%%c
Set "DirSize=%DirSize:~0,-3%"
if "%DirSize%"=="" (set DirSize=0) else (Set /A DirSize=%DirSize%/1024)
EndLocal& Set "%~2=%DirSize%"
Exit /B
У него во многих файлах -сN
Проверил. Так тоже работает. Но я сторонник указания корректного синтаксиса. Справка не просто так пишется.
 
Последнее редактирование:

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
документация на русском языке
Код:
-N
--timestamping
Включить сравнение по дате.
Это же алиасы..
Код:
Помните, что при обрыве связи Wget повторяет попытки дозагрузки самостоятельно и без параметра -c, и только когда он "сдастся" и завершит свою работу, то для возобновления загрузки файла будет нужен этот параметр.
Код:
При запуске Wget с параметром -N, с или без -r, файл будет загружен только если он новее уже существующего, или если размер его не совпадает с имеющейся копией (см. Сравнение по дате). -nc не комбинируется с -N.
Dragokas,
Код:
if exist .\cureit.exe ren cureit.exe cureit_%random%.exe
if exist .\scanner.exe ren scanner.exe scanner_%random%.exe
Если это убрать и оставить имя cureit.exe, то при повторном скачивании, если есть свежий файл, то закачиваться повторно не будет. Наверное об этом ты и хотел сказать.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
Изначально задумка была для не стандартного имени, не даром же через сайт качается с рандомным именем. Не хочется привязываться к одному имени. scanner.exe в скрипте можно заменить другим, но если привязать к cureit.exe, то изменить будет нельзя... Так что оставим так наверное.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Хочешь запускать сканер с рандомным именем?
 

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
Хочешь запускать сканер с рандомным именем?
Было бы идеально. При каждом запуске генерируется новое имя. Но переменная его не забудет, не потеряет, не перегенерируется по переходам скрипта ? Как хранить рандомное имя не знаю.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Легко. Есть 2 варианта:
1) переименовать файл в Cure%random%.exe
Код:
set scanner=Cure%random%.exe
ren CureIT.exe %scanner%
Перед тем, как скачивать WGET-ом проводим обратную операцию - перечисляем все файлы по маске Cure*.exe и получаем имя в переменную:
Код:
For /F %%a in ('dir /B Cure*.exe') do set scanner=%%a
:: если имя найдено - if Defined - то переименовуем назад
if Defined scanner ren %scanner% CureIT.exe
2) способ 2 - хранить имя сканера во временном файле:
первый код такой же + дописываем такое:
Код:
echo %scanner%> "scanner_name.txt"
Обратная операция перед командой WGET:
Код:
:: проверяем, есть ли такой файл scanner_name.txt, и читаем из него имя сканера
if exist "scanner_name.txt" set /p scanner=<"scanner_name.txt"
if Defined scanner ren %scanner% CureIT.exe
 

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
:blackeye: Буду пробовать. Так примерно и думал по алгоритму.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,114
Реакции
5,892
Баллы
648
Phoenix, пора "собирать все до кучи".
Дашь последнюю версию. Нужно провести полную ревизию кода на предмет стабильности и удаления лишних компонентов:
1) максимально отказаться от внешних утилит командной строки (типа find.exe, если там есть);
2) полностью отказаться от VBSciprt. Повышение привилегий можно попробовать организовать таким образом:
- при запуске из-под установщика оно и не понадобится;
- при ручном запуске по ярлыку можно сделать удобный для тебя вариант один из двух:
2.1.) найти в установщике опцию, чтобы создавал ярлык на батник сразу с опцией "Затребовать права Администратора" (свойства ярлыка -> ярлык -> Дополнительно)
2.2.) повесить ярлык на ярлык - т.е. в поле объект ярлыка на рабочем столе у тебя будет: c:\program files\easycurelogs\start.LNK, где START.lnk - будет предустановленный, с уже указанной из п.2.1. галочкой и иметь относительную ссылку на текущий каталог (или абосолютную? через %ProgramFiles(x86)%)\ECL.cmd.
3) Вынести сомнительные структуры (например, мой последний код очистки папки бекапов - с парсингом текста и математикой - это потенциально опасный) - в отдельный батник, который асинхронно вызывать из тела основного кода без ожидания его завершения.
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Сообщения
13,774
Реакции
6,145
Баллы
913
upload_2014-2-4_19-24-16.png и это при выключенном антивирусе)
надо как то с вирлабами разобраться,а то недоразумения могут быть....
 
Последнее редактирование:

glax24

Разработчик
Сообщения
2,001
Реакции
1,491
Баллы
558
С вирлабами можно одним способом разобраться не использовать их продукт.
 

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
и это при выключенном антивирусе)
надо как то с вирлабами разобраться,а то недоразумения могут быть....
А зачем перезагрузка ему требуется ? Сделай экспорт отчёта плиз.
А с AVZ проблем нет ? VT
Проверю..
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Сообщения
13,774
Реакции
6,145
Баллы
913
Перезагрузка потому что доступ не может получить - в процессе спохватился сонар.
 

Вложения

Phoenix

Активный пользователь
Сообщения
2,106
Реакции
2,048
Баллы
433
c:\users\fire\appdata\local\temp\rar$ex43.968\easycurelogs.exe - прямо из архива запускал !? Жульничаешь.. :D
http://www.symantec.com/security_response/writeup.jsp?docid=2013-110421-3504-99
Код:
Threat Assessment
Wild
Wild Level: Low
Number of Infections: 0 - 49
Number of Sites: 0 - 2
Geographical Distribution: Low
Threat Containment: Easy
Removal: Easy
Разрешить ! :)
sonar_.png
Sonar должен был отключиться, как видно он сейчас запускается..Файлы заслал
This message is an automatically generated reply -- do not reply to this message.This system is designed to analyze and process suspicious file submissions into Symantec Security Response and cannot accept correspondence or inquiries.

Submission Date2014-02-04T17:14:58.923
***************************************
Категория: Norton Community Watch
Дата и время,Риск,Операции,Статус,Рекоменд. действие,Дата обновления,Отправлено,Описание,Сведения об отправке
04.02.2014 21:38:21,Информация,Отправка статистики: EasyCureLogs.exe реабилитировано,Ожидание,Действия не требуются,04.02.2014 21:38:21,Norton Internet Security,Отправка статистики: EasyCureLogs.exe реабилитировано,"CSIDL_DRIVE_REMOVABLE\easycurelogs.exe <br>Detection Digest: <br>03 00 EA AF 0F 01 00 02 00 FA 5D 15 00 F9 08 FA ..........]..... <br>46 AC 41 83 E5 00 00 00 00 FD 40 11 48 04 03 00 F.A.......@.H... <br>00 C8 19 03 06 00 01 02 03 00 00 00 ............ <br>"

*Latest version EasyCureLogs
 
Последнее редактирование:
Сверху Снизу