Visual Studio ile kodlanan program virüs olmamasına rağmen virüs olarak algılanıyor

Katılım
7 Ocak 2019
Mesajlar
1.944
Çözümler
15
Daha fazla  
Cinsiyet
Erkek
Bunun sebebi ne olabilir? Programımın tek yaptığı şey log.txt dosyalarını okuyup hile varsa hilenin adını vermektir.
Program bu:




Virüs korumalarının raporları:
Kaynak kod 1:

Kod:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace JigmonTR_Hile_Kontrol_Araci
{
 public partial class MainForm : Form.
 {
 private Form2 form2; // Form2'nin örneği.
 private Form3 form3;
 private string selectedFilePath;
 private readonly List<string> cheatKeywords = new List<string> { // Popüler Hile Client'ları.
 "Wurst", "LiquidBounce", "Baritone", "Impact", "Shiro", "Phobos", "Kami",
 "Sigma", "Meteor", "Future ", "Pandora", "Newton", "Matrix", "Doomsday", "Doomday"}; // Örnek hile anahtar kelimeleri.

 public MainForm()
 {
 InitializeComponent();
 form2 = new Form2(this); // Form2'yi oluştururken MainForm referansını geçir.
 this.Load += MainForm_Load; // Form yükleme olayına metodu bağla.
 this.LocationChanged += MainForm_LocationChanged; // Konum değişikliklerini takip et.
 this.FormClosing += MainForm_FormClosing; // Form kapanırken Form2'yi kapat.
 this.Resize += MainForm_Resize; // Form boyutu değişimini takip et.
 this.Activated += MainForm_Activated; // Form etkinliğini takip et.
 this.FormBorderStyle = FormBorderStyle.FixedSingle; // Boyutlandırmayı kapat.
 this.MaximizeBox = false; // Tam ekran yapmayı engelle.
 }

 private void MainForm_Load(object sender, EventArgs e)
 {
 form2.StartPosition = FormStartPosition.Manual;
 form2.Size = new Size(390, 470); // Form2 boyutlarını sabitle.

 // Form1 ve Form2'nin konumlarını ayarla.
 this.StartPosition = FormStartPosition.Manual;
 this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - this.Width - form2.Width) / 2 - 50, (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2);

 form2.Location = new Point(this.Location.X + this.Width - 7, this.Location.Y + 6); // Form2'yi Form1'in daha yakınında ve biraz aşağıda aç.
 form2.Hide(); // Form2'yi başlangıçta gizle.
 }

 private void MainForm_LocationChanged(object sender, EventArgs e)
 {
 form2.Location = new Point(this.Location.X + this.Width - 7, this.Location.Y + 6); // Form2'yi Form1'in daha yakınında ve biraz aşağıda tut.
 }

 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
 form2.Close(); // Form2'yi kapat.
 }

 private void btnDosyaSecVeKontrolEt_Click(object sender, EventArgs e)
 {
 if (openFileDialog.ShowDialog() == DialogResult.OK)
 {
 selectedFilePath = openFileDialog.FileName;
 lblDosyaDurumu.Text = $"Seçilen Dosya: {Path.GetFileName(selectedFilePath)}";
 lblDosyaDurumu.ForeColor = Color.LightGreen;
 }
 }

 private void btnTara_Click(object sender, EventArgs e)
 {
 txtLogIcerik.Clear();
 if (form2 == null)
 return;

 if (string.IsNullOrEmpty(selectedFilePath))
 {
 MessageBox.Show("Lutfe n bir dosya seçin.");
 return;
 }

 var selectedInterval = form2.GetSelectedInterval(); // Form2'den seçilen zaman aralığını al.
 if (selectedInterval == 0)
 {
 MessageBox.Show("Lutfe n bir zaman aralığı seçin.");
 return;
 }

 var logLines = File.ReadAllLines(selectedFilePath);
 var cheatOccurrences = new Dictionary<string, List<int>>();

 // Hileleri kontrol et.
 for (int i = 0; i < logLines.Length; i++)
 {
 var line = logLines[i];
 foreach (var cheat in cheatKeywords)
 {
 if (line.IndexOf(cheat, StringComparison.OrdinalIgnoreCase) >= 0)
 {
 if (!cheatOccurrences.ContainsKey(cheat))
 {
 cheatOccurrences[cheat] = new List<int>();
 }
 cheatOccurrences[cheat].Add(i + 1); // Satır numarasını 1 tabanlı olarak ekle.
 }
 }
 }

 // Hileleri yazdır.
 foreach (var cheat in cheatOccurrences.Keys)
 {
 var lineNumbers = string.Join(", ", cheatOccurrences[cheat]);
 txtLogIcerik.SelectionStart = txtLogIcerik.TextLength;
 txtLogIcerik.SelectionLength = 0;
 txtLogIcerik.SelectionColor = Color.Red;
 txtLogIcerik.AppendText($"Hile bulundu: {cheat} - Satırlar {lineNumbers}{Environment.NewLine}");
 txtLogIcerik.SelectionColor = txtLogIcerik.ForeColor; // Rengi eski haline getir.
 }

 if (!cheatOccurrences.Any())
 {
 // Hile bulunamadıysa zaman aralığını kontrol et.
 var result = CheckInterval(logLines, selectedInterval);
 txtLogIcerik.AppendText(result + Environment.NewLine);
 }
 }

 private string CheckInterval(string[] logLines, int interval)
 {
 var result = string.Empty;
 var previousTime = DateTime.MinValue;
 var fileChanged = false;

 foreach (var line in logLines)
 {
 var match = Regex.Match(line, @"\[(\d{2}):(\d{2}):(\d{2})\]");
 if (match.Success)
 {
 var currentTime = DateTime.ParseExact($"{match.Groups[1].Value}:{match.Groups[2].Value}:{match.Groups[3].Value}", "HH:mm:ss", null);
 if (previousTime != DateTime.MinValue)
 {
 var diff = (currentTime - previousTime).TotalMinutes;
 if (diff > interval)
 {
 txtLogIcerik.SelectionColor = Color.Red;
 result = $"{Path.GetFileName(selectedFilePath)} dosya değiştirilmiş (şüpheli){Environment.NewLine}";
 fileChanged = true;
 break;
 }
 }
 previousTime = currentTime;
 }
 }

 if (!fileChanged)
 {
 txtLogIcerik.SelectionColor = Color.Green;
 result = $"{Path.GetFileName(selectedFilePath)} dosyası temiz.(hile değil){Environment.NewLine}";
 }

 return result;
 }

 private void checkBoxShowForm2_CheckedChanged(object sender, EventArgs e)
 {
 if (checkBoxShowForm2.Checked)
 {
 form2.Show();
 }
 else.
 {
 form2.Hide();
 }
 }

 private void MainForm_Resize(object sender, EventArgs e)
 {
 if (this.WindowState == FormWindowState.Minimized)
 {
 form2.Hide();
 }
 }

 private void MainForm_Activated(object sender, EventArgs e)
 {
 if (checkBoxShowForm2.Checked)
 {
 form2.Show();
 }
 else.
 {
 form2.Hide();
 }
 }

 private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
 // Bağlantı URL'si.
 string url = "https://discord . gg/9BMgSqcTEV";

 // Varsayılan tarayıcıda bağlantıyı aç.
 System.Diagnostics.Process.Start(url);
 }

 private void boxDiscord_Click(object sender, EventArgs e)
 {
 // Bağlantı URL'si.
 string url = "https://discord . gg/9BMgSqcTEV";

 // Varsayılan tarayıcıda bağlantıyı aç.
 System.Diagnostics.Process.Start(url);
 }

 private void boxİnstagram_Click(object sender, EventArgs e)
 {
 // Bağlantı URL'si.
 string url = "https://www.instagram.com/jigmonetas.tr/";

 // Varsayılan tarayıcıda bağlantıyı aç.
 System.Diagnostics.Process.Start(url);
 }

 private void boxYoutube_Click(object sender, EventArgs e)
 {
 // Bağlantı URL'si.
 string url = "https://www.youtube.com/@jigmonetasTR";

 // Varsayılan tarayıcıda bağlantıyı aç.
 System.Diagnostics.Process.Start(url);
 }

 private void MainForm_Load_1(object sender, EventArgs e)
 {

 }
 }
}

Kaynak kod2.

Kod:
using System;
using System.Windows.Forms;

namespace JigmonTR_Hile_Kontrol_Araci
{
 public partial class Form2 : Form.
 {
 private MainForm mainForm; // MainForm'un referansı.

 public Form2(MainForm form)
 {
 InitializeComponent();
 mainForm = form;
 this.FormBorderStyle = FormBorderStyle.None; // Boyutlandırmayı ve taşımayı kapat.
 this.MaximizeBox = false; // Tam ekran yapmayı engelle.
 this.FormClosing += new FormClosingEventHandler(Form2_FormClosing); // FormClosing olayını bağla.
 }

 private void Form2_FormClosing(object sender, FormClosingEventArgs e)
 {
 if (e.CloseReason == CloseReason.UserClosing)
 {
 e.Cancel = true; // Kapatma işlemini iptal et.
 this.Hide(); // Formu gizle.
 }
 }

 private void groupBoxZamanAraliklari_Enter(object sender, EventArgs e)
 {
 // Buraya gerekli işlemleri ekleyin.
 }

 public int GetSelectedInterval()
 {
 if (radioButton1.Checked) return 1;
 if (radioButton2.Checked) return 2;
 if (radioButton3.Checked) return 3;
 if (radioButton4.Checked) return 4;
 if (radioButton5.Checked) return 5;
 if (radioButton6.Checked) return 6;
 if (radioButton7.Checked) return 7;
 if (radioButton8.Checked) return 8;
 if (radioButton9.Checked) return 9;
 if (radioButton10.Checked) return 10;
 if (radioButton11.Checked) return 11;
 if (radioButton12.Checked) return 12;
 if (radioButton13.Checked) return 13;
 if (radioButton14.Checked) return 14;
 if (radioButton15.Checked) return 15;
 if (radioButton16.Checked) return 16;
 if (radioButton17.Checked) return 17;
 if (radioButton18.Checked) return 18;
 if (radioButton19.Checked) return 19;
 if (radioButton20.Checked) return 20;
 if (radioButton21.Checked) return 21;
 if (radioButton22.Checked) return 22;
 if (radioButton23.Checked) return 23;
 if (radioButton24.Checked) return 24;
 if (radioButton25.Checked) return 25;
 if (radioButton26.Checked) return 26;
 if (radioButton27.Checked) return 27;
 if (radioButton28.Checked) return 28;
 if (radioButton29.Checked) return 29;
 if (radioButton30.Checked) return 30;
 if (radioButton31.Checked) return 31;
 if (radioButton32.Checked) return 32;
 if (radioButton33.Checked) return 33;
 if (radioButton34.Checked) return 34;
 if (radioButton35.Checked) return 35;
 if (radioButton36.Checked) return 36;
 if (radioButton37.Checked) return 37;
 if (radioButton38.Checked) return 38;
 if (radioButton39.Checked) return 39;
 if (radioButton40.Checked) return 40;
 if (radioButton41.Checked) return 41;
 if (radioButton42.Checked) return 42;
 if (radioButton43.Checked) return 43;
 if (radioButton44.Checked) return 44;
 if (radioButton45.Checked) return 45;
 if (radioButton46.Checked) return 46;
 if (radioButton47.Checked) return 47;
 if (radioButton48.Checked) return 48;
 if (radioButton49.Checked) return 49;
 if (radioButton50.Checked) return 50;
 if (radioButton51.Checked) return 51;
 if (radioButton52.Checked) return 52;
 if (radioButton53.Checked) return 53;
 if (radioButton54.Checked) return 54;
 if (radioButton55.Checked) return 55;
 if (radioButton56.Checked) return 56;
 if (radioButton57.Checked) return 57;

 return 0; // Hiçbir şey seçilmediyse 0 döndür.
 }
 }
}

Kaynak kod 3

Kod:
using System;
using System.Windows.Forms;

namespace JigmonTR_Hile_Kontrol_Araci
{
 static class Program.
 {
 [STAThread]
 static void Main()
 {
 Application.EnableVisualStyles();
 Application.SetCompatibleTextRenderingDefault(false);
 Application.Run(new MainForm());
 }
 }
}
 
Virüslü değil hocam ama aklınıza takılıyorsa cihazı izlediğini belirtmişler.
 
Virüslü değil hocam ama aklınıza takılıyorsa cihazı izlediğini belirtmişler.

Nasıl engelleyeceğim? temiz gözüksün istiyorum, insanlar şüpheye düşüyor, Google yazılımımı Drive üzerinden yayınlamamı engelliyor, birçok sorun var çoğu site izin vermiyor upload etmeme.
 
Kodlardan anladığım kadarıyla dosyayı, dosyanın bulunduğu klasöre gidip tarıyor. Bunun yerine o dosyayı kendi ön belleğine alıp öyle tarattırmayı deneyin. (hangi kodları değiştireceğiniz hakkında bir fikir veremiyorum kusura bakmayın.)
 
Son düzenleme:

O zaman öyle yaparım sağ ol reis


Reis çözülmedi dediğin gibi yaptım hala virüs olarak algılanıyor, başka çözümün var mı?
 
Son düzenleme:
Uygulamanın dünya üzerinde geçerli bir sertifikası olması lazım ki, uygulamanın yayımcısını vb. gibi bilgileri bildiklerinde virüs katagorisine koymayacaklardır.
 
Sertifikayı nasıl halledebilirim ki?
Parayla. Eğer uygulama geliştirme konusunda ciddi değilseniz, uygulamayı daha geliştirmeyi düşünmüyorsanız ve daha acemi seviyesindeyseniz almanızı önermem. Ama tecrübeyi erkenden edineyim demek isterseniz buyrun:
DigiCert, Sectigo (eski adıyla Comodo), GlobalSign, Entrust, GoDaddy uygun olanı bulup alın.
Sanırım GoDaddy başlangıç indirimi içeriyordu. Büyük ihtimal ucuza gelecektir.
 

Ücretsiz seçeneklerde bir şey yoktur sanırım.
 
Ücretsiz seçeneklerde bir şey yoktur sanırım.
Var. Visual Studio'nun Publish bölümünde kendi sertifikasını oluşturuyor ama bu sertifika sizin bilgilerinizi içerse de Virüs damgasını kaldıramıyor.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…