Что нового

Двигатель мышки ВИРУС ?

tonycstech

Новичок
Сообщения
94
Репутация
3
Уважаемые, как это так ?
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Mouse.ico
#AutoIt3Wrapper_Outfile=C:\Users\Administrator\Desktop\Mouse Mover.Exe
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Comment=Script made in Autoit
#AutoIt3Wrapper_Res_Description=Moves mouse every 5 minutes to prevent applications to exit for idling
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_ProductVersion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=N/A
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1) ;to go to function on click
Opt("TrayAutoPause", 0)
TrayCreateItem("About")
TrayItemSetOnEvent(-1, "_About")
TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")
TraySetToolTip ("Click for more")
$MouseTimer = TimerInit() ;Start mouse timer
$MouseTimeOut = 5*600000 ; 5 Minutes to wait before making a mouse move ?
While 1
    If TimerDiff($MouseTimer) > $MouseTimeOut Then
        $MouselastPos = MouseGetPos()
        _MouseMove()
        $MouseTimer = TimerInit() ;reset timer
    EndIf
WEnd

Func _MouseMove() ;prevent computer from idling
    $CurrentPos = MouseGetPos()
    MouseMove ($CurrentPos[0]+1,$CurrentPos[1]+1,0)
    MouseMove ($CurrentPos[0]-1,$CurrentPos[1]-1,0)
    $MouseTimer = TimerInit() ;Reset Timer
    ConsoleWrite ("mouse moved")
EndFunc   ;==>_MouseMove

Func _About()
    MsgBox (0,'Mouse Mover','This script moves mouse to prevent idling',5)
EndFunc

Func _Exit()
    Exit
EndFunc

И этот код является вирусом в 21 случаях

Как это вообще поддаётся какой либо логике ?
Может быть что то с иконой ?
Посмотрите, я прикрепил и то и это.
Скомпилируйте сами.

Дибилёз какой то.
 

Вложения

  • Mouse Mover.zip
    97.1 КБ · Просмотры: 2

Khaibit

Осваивающий
Сообщения
103
Репутация
25
Ну и что, вендоры с положительный результатом, мягко говоря, не авторитеты в области безопасности, попробуте не использовать UPX
 
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3
UPX не используется.
Symantec сказал что это троянский конь после того как я им послал файл как false positive.
UPX или нет. Х86 или Х64 разницы нет.

Я подозреваю функцию MouseMove()
Практически всега если моги скрипты включают в себя эту фукнцию, то антивирусы сходят с ума.
И это логичный довод, ведь нет никаких дополнительных файлов. Весь код фактически состоит из TimerInt ConsoleWrite MouseMove
Я сильно подозреваю что именно MouseMove() в себе имеет нечто подозрительное.
 
Последнее редактирование:
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
скомпилируйте мой код и проверьте резултат на virustotal.com
Я это делал, также ругается, дело не в системе, а в самом AutoIt'e (его новые версии).
Рекомендуется ещё добавлять дигитальную подпись на этапе компиляции, это может предотвратить проблемы с распознаванием.
 
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3
Я это делал, также ругается, дело не в системе, а в самом AutoIt'e (его новые версии).
Рекомендуется ещё добавлять дигитальную подпись на этапе компиляции, это может предотвратить проблемы с распознаванием.
Подпись ? Каким образом ?
Помогите пожалуйста.
Сообщение автоматически объединено:

Я установил старую 3.3.10. Вирусов нашлось ещё больше.
Какую версию надо установить чтобы вирусов небыло или как можно меньше ?

Вся проблема в том что не так давно, кинто не жаловался на мои скрипты а вот сегодня почти все антивирусы звенят то тут то там.
 
Последнее редактирование:

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Подпись ? Каким образом ?
Вот тут есть описание.

Я установил старую 3.3.10. Вирусов нашлось ещё больше.
Эти базы уже имеют сигнатуру AutoIt, и в старых версиях она была такой же, просто с новыми версиями стало более интенсивное распространение.
 
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3
Пробывал подпись. Ссылки старые. Не работают, или ошибки вилетают то тут то там.
На англиском форуоме тоже самое
Там вроде заработало но Timestamp Not Available хотя вирусов найдено меньше.
Там об этом не слова. Чего делат ?
 

Вложения

  • 0.jpg
    0.jpg
    28.2 КБ · Просмотры: 6

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Для x64 видимо нужно ещё поместить capicom.dll в папку C:\Windows\SysWOW64, и зарегистрировать с Regsvr32 /s "C:\Windows\SysWOW64\capicom.dll".
 
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3
Нет.
Просто как всегда примеры запутаные.
Пришлось упрощать чтобы было понятней и поменять аддресс на timestamp так как старый не работал уже давно.
Вот результат нужных комманд.

Код:
makecert.exe -r -n "CN=Signer" -b 01/01/2013 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv "Signer_cert.pvk" "Signer_cert.cer"
cert2spc.exe  "Signer_cert.cer" "Signer_cert.spc"
pvk2pfx.exe -pvk "Signer_cert.pvk" -pi password -spc "Signer_cert.spc" -pfx "Signer_cert.pfx" -po password
signtool.exe sign /f "Signer_cert.pfx" /p password "executable.exe"
signtool.exe timestamp /t "http://timestamp.globalsign.com/scripts/timstamp.dll" "executable.exe"
PAUSE


Тут намного понятней что и как.

Интересно то что сертификат без доверености. На сколько это важно, не понятно.
Как бы там небыло, Windows Defender всё равно ругается на некоторые скрипты которые на самом деле и есть как бы вирусы но не совсем.
Спасибо за помощь.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Вот результат нужных комманд
Оно не сработает если capicom.dll не находится в системной папке и не зарегистрирован.
По крайней мере так у меня (Win10 x64).

сертификат без доверености
Для этого его нужно импортировать в систему:
makecert.exe -r -n "CN=Signer" -b 01/01/2013 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -ss Root
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Тут намного понятней что и как.
Тут указан пароль, но при запуске такой конструкции выводится диалог с запросом на ввод пароля, это можно как то обойти?
Т.е чтобы не выводился диалог а использовался указанный пароль.
 
Автор
T

tonycstech

Новичок
Сообщения
94
Репутация
3
Импорт в систему сделает сертификат с довереностью только в этой системе, так ?

Насчёт пароля, незнаю. Нужно смотреть список параметров запускаемых файлов.
На Англиском сайте их тоже не обходили а вводили с помощю Autoit автоматизации как только появляется окно.
Я сам непонимаю для чего вводить пароль как параметр если его всё равно спрашивают, но без него не будет работать. Требует параметр.
Сообщение автоматически объединено:

Не слова про пароль к сожалению.
Сообщение автоматически объединено:

Сделал автоматизацию этого процесса.
Код:
#include <GUIConstantsEx.au3>
#include <AutoItConstants.au3>

$Executable = FileOpenDialog ("Select executable to sign","","Executable (*.exe)")
IF @error then Exit
$Password = InputBox ("Chose certificate password","Please enter password that will be used to generate this certificate")
If @error then Exit
$TimeStamp = 'http://timestamp.globalsign.com/scripts/timstamp.dll'
$Signer = 'Your Name'

$Code1 = 'makecert.exe -r -n "CN=' & $Signer & '" -b 01/01/2013 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv "' & $Signer & '_cert.pvk" "' & $Signer & '_cert.cer"'
ConsoleWrite ($Code1 & @CRLF)
$Code2 = 'cert2spc.exe "' & $Signer & '_cert.cer" "' & $Signer & '_cert.spc"'
ConsoleWrite ($Code2 & @CRLF)
$Code3 = 'pvk2pfx.exe -pvk "' & $Signer & '_cert.pvk" -pi ' & $Password & ' -spc "' & $Signer & '_cert.spc" -pfx "' & $Signer & '_cert.pfx" -po ' & $Password
ConsoleWrite ($Code3 & @CRLF)
$Code4 = 'signtool.exe sign /f "' & $Signer & '_cert.pfx" /p ' & $Password & ' "' & $Executable & '"'
ConsoleWrite ($Code4 & @CRLF)
$Code5 = 'signtool.exe timestamp /t "' & $TimeStamp & '" "' & $Executable & '"'
ConsoleWrite ($Code5 & @CRLF)

$Run = Run('"' & @ComSpec & '" /c ' & $Code1, '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
If WinWait ("Create Private Key Password","",2) = 0 Then ;Wait for required window
    MsgBox (16,"Error 1","Window did not show up")
    Exit
Else
    ControlSend ("Create Private Key Password","","Edit1",$Password) ;Send password to window
    ControlSend ("Create Private Key Password","","Edit2",$Password) ;Confirm password
    ControlClick ("Create Private Key Password","","Button1") ;Click OK button
EndIf
If WinWait ("Enter Private Key Password","",2) = 0 Then;Wait for required window
    MsgBox (16,"Error 2","Window did not show up")
    Exit
Else
    ControlSend ("Enter Private Key Password","","Edit1",$Password) ;Send password to window
    ControlClick ("Enter Private Key Password","","Button1") ;Click OK button
    ProcessWaitClose($Run)
    MsgBox (0,'Code 1',StdoutRead($Run))
EndIf

$Run = Run('"' & @ComSpec & '" /c ' & $Code2, '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($Run)
MsgBox (0,'Code 2',StdoutRead($Run))

$Run = Run('"' & @ComSpec & '" /c ' & $Code3, '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($Run)
MsgBox (0,'Code 3',StdoutRead($Run))

$Run = Run('"' & @ComSpec & '" /c ' & $Code4, '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($Run)
MsgBox (0,'Code 4',StdoutRead($Run))

$Run = Run('"' & @ComSpec & '" /c ' & $Code5, '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($Run)
MsgBox (0,'Code 5',StdoutRead($Run))

Exit

Код не будет работать если сертификат файлы уже есть, их нужно удалить.
Code 3 ничего не выдаёт, это нормально.

Имею желание сделат интерфейс и позволить сертефицировать уже с существующим сертификатом и с сохранением пароля итд итп.
Но это уже другая тема.
 
Последнее редактирование:

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Сделал автоматизацию этого процесса.
Да, я тоже над этим поработал (см. выше).
Там кстати cert2spc.exe не нужен. И как я уже говорил, у меня без capicom.dll в системной папке это не работает.
 
Верх