Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Троян в FastExecutionScript
-
@uraabk said in Троян в FastExecutionScript:
@capibari скиньте этот скрипт, посмотрим на него...
Топикастер @capibari написал, что
Работаю с купленным скриптом
и
удалить скрипт и скачать все заново
значит речь идёт о магазине скриптов. Или нет?
-
Антивирусы - касперский и вирустотал
Пробовал запускать на разных машинах. На другой машине этот троян обнаружил даже виндоус дефендер.
На пк был установлен лицензионный касперский с момента установки винды. И скрипт работал без проблем до недавнего времени. Больше на пк угроз не обнаружено. На другой машине скрипт запустил на чистой винде сразу после ее установки и обновления.
Насколько я понимаю, скрипт именно подгружает с сервера затрояненые файлы, а именно FastEcexuteScript и Enginee.dll, т.к. если их полностью снести с машины (что и делают антивирус и дефендер), то на нее снова загружаются эти 2 файла уже с трояном.
Скрипт не из магазина скриптов, покупал у разраба. Какой шанс того, что это его рук дело?
. -
@capibari Уточните у разработчика в какой версии скомпилирован скрипт, и если она ниже текущей или предыдущей - попросите перекомпилировать и загрузить в кабинет. На некоторых версиях бас ругались антивирусы на исполняемые файлы, потом эту проблему решили.
-
Проблема в том, что BAS довольно палевно выгружает файлы на диск (мне так кажется) и антивирусы думают, что это обычный троян, который хочет заразить компьютер
-
Продублирую здесь официальный ответ @support'a
Антивирус может ругаться на приложение защищенное протектором, потому что часть кода выполняется в виртуальной машине и антивирус не может понять что там происходит, это очень упрощенно. Чтобы избежать этого, разработчику скрипта нужно получить сертификат для подписи исполняемого файла и библиотек. Это можно сделать например здесь https://www.gogetssl.com/code-signing-certificates/ При получении сертификата нужно предоставлять нотариально заверенные данные о себе, если речь идет об индивидуальном разработчике, или о своей компании. Я все это сделал для BAS, поскольку уверен, что в нем нет вредоносного кода, но о скриптах пользователей я такого сказать не могу, поэтому BAS подписан, а компилируемое приложение - нет. К подписанным исполняемым файлам антивирусы относятся намного лояльней, но это тоже не дает 100% гарантии от ложно-позитивных срабатываний, например, smartscreen больше ориентируется на "репутацию" файла. Вот еще примеры: FastExecuteScript.exe без протектора(0/70) https://www.virustotal.com/gui/file/4174f16d67a59e972373a01817f96263090a73fd6f9a2d5325c9c1d52bcef216/detection
FastExecuteScript.exe c протектором (11/70) https://www.virustotal.com/gui/file/23a7d8a95c2f26f90e17a5eee5e2dfcc67e32e968e54ba9601d77afcd3759af4/detection
FastExecuteScript.exe c протектором и подписанный (3/70) https://www.virustotal.com/gui/file/341795d6be659d4d6471448877c675ca8b49f555fa6983431a25bc20e22325cb/detection
При этом придется подписывать FastExecuteScript.exe и Engine.dll(именно они защищены протектором) каждый раз и передавать пользователю или поднять свой сервер и заливать уже подписанные файлы туда(это изменяется в конфиге, я скажу как если будет надобность). Еще один вариант попроще - сделать версию без протектора, но тогда взломать скрипт будет гораздо проще. Также я отправил данные файлы в касперский(аваст на последнюю версию не ругается), чтобы они добавили их в исключения, но по опыту могу сказать, что на данный метод надеяться не стоит. Обычно это заканчивается тем, что нужно воевать за каждый билд и в конечном счете там просто перестают отвечать.
В касперском ответили, что добавили 21.7.1 в исключения.
-
@fox, после ошибки с вирусом при новом запуске скомпилированного шаблона все настройки сбрасываются. Настройки работы шаблона где-нибудь сохраняются автоматически, чтобы можно было как xml подгрузить? Не нашел
-
@agility said in Троян в FastExecutionScript:
@fox, после ошибки с вирусом при новом запуске скомпилированного шаблона все настройки сбрасываются. Настройки работы шаблона где-нибудь сохраняются автоматически, чтобы можно было как xml подгрузить? Не нашел
Все настройки ресурсов хранятся в файле actual.xml
