
نوشته شده توسط
atf1379
سلام
یک فایل اجرائی دارم که به محض اجرا توسط ویروس کش سیستم حذف میشه میخواهم قبل از اجرا اون رو در فایروال ویندوز قرار بدهم
سلام
چه کسی گفته قرار دادن یک فایل در «فایروال ویندوز» (Windows Firewall) مانع از حذف شدن آن توسط آنتیویروس میشه ؟
شما باید پوشه یا مسیر فایل خودتون رو در لیست Exclusions یا Allow List در تنظیمات «Windows Security» یا آنتیویروس نصب شده روی سیستم قرار بدی نه در تنظیمات فایروال و معمولاً انجام اینکار هم با کدنویسی امکان پذیر نیست چون دسترسی به این تنظیمات توسط آنتیویروسها بهشدت محدود هستن و کاربر باید دستی (در صورت دسترسی) در لیست Exclusions یا Allow List قرار بده
تازه اگه امکان اینکار با کد نویسی هم وجود داشته باشه خود آنتی ویروس بلافاصله این رفتار را بهعنوان تلاش برای غیرفعال کردن سیستم امنیتی شناسایی کرده و نهتنها اجازه نمیده، بلکه فایل شما رو به عنوان یک ویروس با رفتار مخرب بلاک میکنه.
ولی با این حال اگر میخواهی یک فایل اجرائی رو در فایروال قرار بدهی از کدهای زیر استفاده کن :
Private Sub AddFirewallRuleDynamic_Click()
Dim objShell As Object
Dim strRuleName As String
Dim strProgramPath As String
Dim cmd As String
Dim exitCode As Integer
Set objShell = CreateObject("WScript.Shell")
strRuleName = "MyAppRule"
If Right(App.Path, 1) <> "\" Then
strProgramPath = Access.CurrentProject.Path & "\" & "AccessAccountingSystem.exe"
Else
strProgramPath = Access.CurrentProject.Path & "AccessAccountingSystem.exe"
End If
cmd = "netsh advfirewall firewall add rule name=""" & strRuleName & """ dir=in action=allow program=""" & strProgramPath & """ enable=yes profile=any"
exitCode = objShell.Run("cmd /c " & cmd, 0, True)
If exitCode = 0 Then
MsgBox "قانون با نام '" & strRuleName & "' اضافه شد.", vbInformation
Else
MsgBox "خطا در اجراي دستور! کد خطا: " & exitCode & vbCrLf & "دستور: " & cmd, vbCritical
End If
Set objShell = Nothing
End Sub
در کد بالا فرض شده فایل AccessAccountingSystem.exe در فایروال اکسس با نام MyAppRule قرار گیرد