Как стать автором
Обновить

Комментарии 27

Во избежание нарушений вы должны пользоваться только Evaluation License от ESET.

в символах была обнаружена ссылка на китайский сайт www.nnvv.org, где ежедневно, выкладываются свежие пароли

хм. Непонятненько.
Это особенности работы системы обновлений продуктов ESET :)
какая прелесть!
Всё сделал по инструкции, в настройках обновления указал site.ru
запускаю обновление, он в упор не видит файла update.ver по http файл на скачку отдаётся в лёт.
Давно стоит этот скрипт — goo.gl/Vz6nI
Несмотря на старость, подходит и для 4 версии
Говорят на руборде можно найти rsync — сервер(а) с базами нода.
да есть там один, но обновляется последний год он, по-моему, несколько раз в месяц.
лежит уже больше месяца.
У лиссяры на форуме есть ветка с более продвинутым скриптом
работаю так уже год. Все вовремя обновляется. Пару недель старый лег, но там-же появился новый адрес. Удобнее (и правильнее) чем делать отдельный сервер обновлений.
Мда… какой простенький скриптик. В своё время реализовывал скрипт на php почти с полной логикой работы nod32view.
Вы, конечно, молодец. Будете совсем замечательным, если как автор опубликуете и опишете свой скрипт. А то все когда-то что-то делали.
Боюсь последствий, Eset бдит.

После того как на линукс перебрался, вся эта возня с антивирусами кажется чем-то очень далёкой…
тоже пользую скрипт, из поста взял некоторые идеи для своего, но до идеала ещё далеко.
Парсить сайт на извлечение паролей необходимости нет, потому этот шаг пропускаю.

#!/bin/sh
# Скрипт обновления НОДа 32 v3 — 4
host=«http://%АДРЕС_СЕРВЕРА_ОБНОВЛЕНИЙ%»
login="%eset_ЛОГИН%"
pass="%eset_ПАРОЛЬ%"
useragent="%ЮЗЕР_АГЕНТ%"

CURDIR=%папка с обновлениями%

wget --timestamping -r -N -l 1 -nH -nd -np -o ~/scripts/nod32upd/eset_upd.log --http-user $login --http-password $pass -A ver -P $CURDIR $host/eset_upd/update.ver

mv -f $CURDIR/update.ver $CURDIR/update.rar
cd $CURDIR
7z e -y $CURDIR/update.rar

grep file= $CURDIR/update.ver |grep «engine3/»| sed -e 's/file\=//' |grep -v data > downlist1.txt
grep file= $CURDIR/update.ver |grep engine3ess| sed -e 's/file\=//' |grep -v data > downlist2.txt
grep file= $CURDIR/update.ver |grep emsx| sed -e 's/file\=//' |grep -v data > downlist5.txt
grep file= $CURDIR/update.ver |grep v3eav| sed -e 's/file\=//' |grep -v pre|grep -v data > downlist3.txt
grep file= $CURDIR/update.ver |grep v3ess| sed -e 's/file\=//' |grep -v pre|grep -v data > downlist4.txt
grep file= $CURDIR/update.ver |grep v3eav| sed -e 's/file\=//' |grep pre|grep -v data > downlist6.txt
grep file= $CURDIR/update.ver |grep v3ess| sed -e 's/file\=//' |grep pre|grep -v data > downlist7.txt

cat downlist1.txt downlist2.txt downlist5.txt > list.txt

mv -f $CURDIR/update.rar $CURDIR/update.ver

wget --timestamping -r -N -l 1 -nH -np -a ~/scripts/nod32upd/eset_upd.log -B $host --user-agent=$useragent --input-file ./list.txt --http-user $login --http-password $pass -A nup -P %DOCUMENT_ROOT%


качаем update.ver, распаковываем 7zip-ом, парсим его в текстовые файлы. однако оказалось что список файлов есть только в файлах downlist1.txt downlist2.txt и downlist5.txt, остальные пусты. Собираем их в единый список и по списку выкачиваем, подставляя необходимые параметры в wget. Папки создавать нет необходимости — создаются автоматически. Адрес сервера подставляется параметром в wget, а не в список файлов. Адрес обновления прописываемый в настройках получается: http://site_name.com/nod32upd/

PS: может кто подскажет
Возможно ли уменьшить количество строк с grep file= $CURDIR/update.ver...?
или сделать так чтоб он парсил в один файл, а не в 6 разных?
* fix
--timestamping не нужен, ибо он же -N уже указан
Делал свою реализацию на основе данного поста (за что автору спасибо). До определенного момента все работало нормально. Но, как только вышла 5 версия антивируса, клиентам при обновлении выдается ошибка «Неавторизованный доступ». Похоже, благодаря стараниям ESET, эта статья более не актуальна.
отнюдь. вам стоит посмотреть в сторону getpass.php и посмотреть что он выдает в pass.sh. иногда строчки неправильно выдаются. например getpass.phpнедавно пришлось изменить на следующее

#!/usr/bin/php
<?php
require('simple_html_dom.php');
$html = file_get_html('http://www.nnvv.org/');
$a=$html->getElementById("#nod32ids")->children(0)->children(0)->plaintext;
$a = str_replace("Username:", 'USERNAME=', $a);
$a = str_replace("Password: ", "\nPASSWORD=", $a);
echo $a."\n";
?>
Отнюдь. Хотя на nnvv.org и сменился формат выдачи данных, после правки скрипта все равно у всех клиентов «Неавторизованный доступ».
это у каких «всех клиентов»? как-то поподробней бы. что значит «Неавторизованный доступ»? 403? у каких клиентов? у wget? логи апача смотрели?

/web# ./getpass.php
USERNAME=TRIAL-540032__
PASSWORD=faf65vc3__
/web#
этих строк достаточно, чтобы использовать их далее с wget. ключи как правило грабятся валидные. даже если невалидные, то стоит подождать 12 часов до новой партии. что я делаю не так?
Прошу прощения. Не было времени разобраться. Да, проблема была с правами доступа к каталогу downloads (отсутствовал бит выполнения).
Внес в конец топика дополнения от zombic'а, за что ему огромное спасибо
Небольшое изменение скрипта getpass.sh:
#!/bin/sh

curl http://www.nnvv.org/ | \
grep -A2 Update.*`date +%Y-%m-%d` | \
awk '{if(sub(/<p>Username:/,"USERNAME=")) \
{if(sub(/<br\/>Password:/,"PASSWORD=")) \
{if(sub(/<\/p>/,"")) { print $1"\n"$2}}}}' > pass.sh
UPDATE

#!/bin/sh

curl http://www.nnvv.org/ | \
grep -A2 Update.*`date +%Y-%m` | \
awk '{if(sub(/<p>Username:/,"USERNAME=")) \
{if(sub(/<br\/>Password:/,"PASSWORD=")) \
{ print $1$2"\n"$3$4}}}' > pass.sh
Вот еще вариант добычи логина/пароля с сайта nnvv.org, но NOD32 не обновляется (прикрыли лавочку?). А вообще, надоело уже ковыряться с этим…

#!/bin/sh

curl http://www.nnvv.org/ | \
grep -m2 -o -E 'Username:TRIAL-........|Password:..........' | \
sed "s/Username:/USERNAME=/g;" | \
sed "s/Password:/PASSWORD=/g;" > pass.sh
Перестал работать, кто нить в курсе что случилось?
лог ошибки:
--2012-11-08 17:55:16-- http://um10.eset.com/download/win/emsx/emsx_nt64_sky.nup Reusing existing connection to um10.eset.com:80. HTTP request sent, awaiting response... 404 Not Found 2012-11-08 17:55:16 ERROR 404: Not Found.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории