C# ile Güvenli İnternet Bağlantısı: UI/UX Tasarım ve Kod Değişiklikleri ile Artırılmış Kullanıcı Deneyimi ve Güvenlik!

Eratronos

Yazılım Ekibi Asistan
8 Kas 2021
152
69
(LPSTR)"dxeiz.exe";
316091192-6f82464c-14af-494a-b7de-896847197864.png

Herkese selamlar, ben DxeiZ. Bu gün sizlere @Kruvazör hocamın paylaşmış olduğu "C# ile Uygulamaların İnternete Bağlanmasını Engellemek!" konusunda ki, uygulamayı kendimce geliştirmek istedim.
İşte karşınızda v2.0

⤏ Yapılan Değişiklikler:
⥅ Tasarım için iki paket kullanıldı bunlar:
+ Guna2.dll
+ LollipopUI (tarafımca modifiyeli)
⥅ Ara yüz tasarımında iki adet olan GroupBox kaldırıldı ve yeni bir tasarım şekli ile değiştirildi.

⤏ Uygulamanın Yeni Kodları:
C#:
using NetFwTypeLib;
C#:
    public partial class Form1 : Form
    {
        private Dictionary<string, INetFwRule> ruleDictionary;
        private string selectedAppPath = null;

        public Form1()
        {
            InitializeComponent();
            ruleDictionary = new Dictionary<string, INetFwRule>();
            LoadFirewallRules();
        }

        private void LoadFirewallRules()
        {
            try
            {
                INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));

                foreach (INetFwRule2 fwRule in firewallPolicy.Rules.OfType<INetFwRule2>())
                {
                    if (!ruleDictionary.ContainsKey(fwRule.Name))
                    {
                        ruleDictionary.Add(fwRule.Name, fwRule);
                        listView1.Items.Add(fwRule.Name);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error loading firewall rules: {ex.Message}");
            }
        }


        private void siticoneButton1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "") MessageBox.Show("Kural adını doldurunuz!");
            else
            {
                try
                {
                    if (selectedAppPath != null)
                    {
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        INetFwRule rule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));

                        rule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
                        rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;
                        rule.Enabled = true;
                        rule.ApplicationName = selectedAppPath;
                        rule.Name = textBox1.Text;

                        firewallPolicy.Rules.Add(rule);
                        MessageBox.Show("Kural başarıyla oluşturuldu.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LoadFirewallRules();
                    }
                    else
                    {
                        MessageBox.Show("Uygulama adını doldurunuz!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void siticoneButton2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem selectedItem = listView1.SelectedItems[0];
                string selectedRuleName = selectedItem.Text;

                if (MessageBox.Show($"Seçilen kuralı silmek istediğinizden emin misiniz?\n\nKural Adı: {selectedRuleName}", "Kuralı Sil", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    try
                    {
                        INetFwRule ruleToRemove = ruleDictionary[selectedRuleName];
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        firewallPolicy.Rules.Remove(ruleToRemove.Name);
                        listView1.Items.Remove(selectedItem);
                        ruleDictionary.Remove(selectedRuleName);
                        MessageBox.Show("Kural başarıyla kaldırıldı.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Kural kaldırılırken bir hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Lütfen silmek istediğiniz kuralı seçin.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void lollipopSmallCard1_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*";
                openFileDialog.FilterIndex = 1;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    selectedAppPath = openFileDialog.FileName;
                    string selectedAppName = Path.GetFileName(selectedAppPath);
                    lollipopSmallCard1.Text = selectedAppName;
                    lollipopSmallCard1.Info = selectedAppPath;
                    FileAttributes attributes = File.GetAttributes(openFileDialog.FileName);
                    if ((attributes & FileAttributes.Archive) == FileAttributes.Archive)
                    {
                        try
                        {
                            Icon icon = Icon.ExtractAssociatedIcon(openFileDialog.FileName);
                            lollipopSmallCard1.Image = icon.ToBitmap();
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }

316091192-6f82464c-14af-494a-b7de-896847197864.png
316091240-df1276d4-460b-40b1-abc6-663e816d9255.png

Kaynak kod: AppLock
VirusTotal: VirusTotal

Konuyu paylaşmama izin verdiği için tekrardan hocama teşekkürler.
 
Son düzenleme:

şıkk

Üye
24 Eki 2023
111
51
316091192-6f82464c-14af-494a-b7de-896847197864.png

Herkese selamlar, ben DxeiZ. Bu gün sizlere @Kruvazör hocamın paylaşmış olduğu "C# ile Uygulamaların İnternete Bağlanmasını Engellemek!" konusunda ki, uygulamayı kendimce geliştirmek istedim.
İşte karşınızda v2.0

⤏ Yapılan Değişiklikler:
⥅ Tasarım için iki paket kullanıldı bunlar:
+ Guna2.dll
+ LollipopUI (tarafımca modifiyeli)
⥅ Ara yüz tasarımında iki adet olan GroupBox kaldırıldı ve yeni bir tasarım şekli ile değiştirildi.

⤏ Uygulamanın Yeni Kodları:
C#:
using NetFwTypeLib;
C#:
    public partial class Form1 : Form
    {
        private Dictionary<string, INetFwRule> ruleDictionary;
        private string selectedAppPath = null;

        public Form1()
        {
            InitializeComponent();
            ruleDictionary = new Dictionary<string, INetFwRule>();
            LoadFirewallRules();
        }

        private void LoadFirewallRules()
        {
            try
            {
                INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));

                foreach (INetFwRule2 fwRule in firewallPolicy.Rules.OfType<INetFwRule2>())
                {
                    if (!ruleDictionary.ContainsKey(fwRule.Name))
                    {
                        ruleDictionary.Add(fwRule.Name, fwRule);
                        listView1.Items.Add(fwRule.Name);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error loading firewall rules: {ex.Message}");
            }
        }


        private void siticoneButton1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "") MessageBox.Show("Kural adını doldurunuz!");
            else
            {
                try
                {
                    if (selectedAppPath != null)
                    {
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        INetFwRule rule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));

                        rule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
                        rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;
                        rule.Enabled = true;
                        rule.ApplicationName = selectedAppPath;
                        rule.Name = textBox1.Text;

                        firewallPolicy.Rules.Add(rule);
                        MessageBox.Show("Kural başarıyla oluşturuldu.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LoadFirewallRules();
                    }
                    else
                    {
                        MessageBox.Show("Uygulama adını doldurunuz!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void siticoneButton2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem selectedItem = listView1.SelectedItems[0];
                string selectedRuleName = selectedItem.Text;

                if (MessageBox.Show($"Seçilen kuralı silmek istediğinizden emin misiniz?\n\nKural Adı: {selectedRuleName}", "Kuralı Sil", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    try
                    {
                        INetFwRule ruleToRemove = ruleDictionary[selectedRuleName];
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        firewallPolicy.Rules.Remove(ruleToRemove.Name);
                        listView1.Items.Remove(selectedItem);
                        ruleDictionary.Remove(selectedRuleName);
                        MessageBox.Show("Kural başarıyla kaldırıldı.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Kural kaldırılırken bir hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Lütfen silmek istediğiniz kuralı seçin.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void lollipopSmallCard1_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*";
                openFileDialog.FilterIndex = 1;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    selectedAppPath = openFileDialog.FileName;
                    string selectedAppName = Path.GetFileName(selectedAppPath);
                    lollipopSmallCard1.Text = selectedAppName;
                    lollipopSmallCard1.Info = selectedAppPath;
                    FileAttributes attributes = File.GetAttributes(openFileDialog.FileName);
                    if ((attributes & FileAttributes.Archive) == FileAttributes.Archive)
                    {
                        try
                        {
                            Icon icon = Icon.ExtractAssociatedIcon(openFileDialog.FileName);
                            lollipopSmallCard1.Image = icon.ToBitmap();
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }

316091192-6f82464c-14af-494a-b7de-896847197864.png
316091240-df1276d4-460b-40b1-abc6-663e816d9255.png

Kaynak kod: AppLock
VirusTotal: VirusTotal

Konuyu paylaşmama izin verdiği için tekrardan hocama teşekkürler.
316091192-6f82464c-14af-494a-b7de-896847197864.png

Herkese selamlar, ben DxeiZ. Bu gün sizlere @Kruvazör hocamın paylaşmış olduğu "C# ile Uygulamaların İnternete Bağlanmasını Engellemek!" konusunda ki, uygulamayı kendimce geliştirmek istedim.
İşte karşınızda v2.0

⤏ Yapılan Değişiklikler:
⥅ Tasarım için iki paket kullanıldı bunlar:
+ Guna2.dll
+ LollipopUI (tarafımca modifiyeli)
⥅ Ara yüz tasarımında iki adet olan GroupBox kaldırıldı ve yeni bir tasarım şekli ile değiştirildi.

⤏ Uygulamanın Yeni Kodları:
C#:
using NetFwTypeLib;
C#:
    public partial class Form1 : Form
    {
        private Dictionary<string, INetFwRule> ruleDictionary;
        private string selectedAppPath = null;

        public Form1()
        {
            InitializeComponent();
            ruleDictionary = new Dictionary<string, INetFwRule>();
            LoadFirewallRules();
        }

        private void LoadFirewallRules()
        {
            try
            {
                INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));

                foreach (INetFwRule2 fwRule in firewallPolicy.Rules.OfType<INetFwRule2>())
                {
                    if (!ruleDictionary.ContainsKey(fwRule.Name))
                    {
                        ruleDictionary.Add(fwRule.Name, fwRule);
                        listView1.Items.Add(fwRule.Name);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error loading firewall rules: {ex.Message}");
            }
        }


        private void siticoneButton1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "") MessageBox.Show("Kural adını doldurunuz!");
            else
            {
                try
                {
                    if (selectedAppPath != null)
                    {
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        INetFwRule rule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));

                        rule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
                        rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;
                        rule.Enabled = true;
                        rule.ApplicationName = selectedAppPath;
                        rule.Name = textBox1.Text;

                        firewallPolicy.Rules.Add(rule);
                        MessageBox.Show("Kural başarıyla oluşturuldu.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LoadFirewallRules();
                    }
                    else
                    {
                        MessageBox.Show("Uygulama adını doldurunuz!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void siticoneButton2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem selectedItem = listView1.SelectedItems[0];
                string selectedRuleName = selectedItem.Text;

                if (MessageBox.Show($"Seçilen kuralı silmek istediğinizden emin misiniz?\n\nKural Adı: {selectedRuleName}", "Kuralı Sil", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    try
                    {
                        INetFwRule ruleToRemove = ruleDictionary[selectedRuleName];
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        firewallPolicy.Rules.Remove(ruleToRemove.Name);
                        listView1.Items.Remove(selectedItem);
                        ruleDictionary.Remove(selectedRuleName);
                        MessageBox.Show("Kural başarıyla kaldırıldı.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Kural kaldırılırken bir hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Lütfen silmek istediğiniz kuralı seçin.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void lollipopSmallCard1_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*";
                openFileDialog.FilterIndex = 1;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    selectedAppPath = openFileDialog.FileName;
                    string selectedAppName = Path.GetFileName(selectedAppPath);
                    lollipopSmallCard1.Text = selectedAppName;
                    lollipopSmallCard1.Info = selectedAppPath;
                    FileAttributes attributes = File.GetAttributes(openFileDialog.FileName);
                    if ((attributes & FileAttributes.Archive) == FileAttributes.Archive)
                    {
                        try
                        {
                            Icon icon = Icon.ExtractAssociatedIcon(openFileDialog.FileName);
                            lollipopSmallCard1.Image = icon.ToBitmap();
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }

316091192-6f82464c-14af-494a-b7de-896847197864.png
316091240-df1276d4-460b-40b1-abc6-663e816d9255.png

Kaynak kod: AppLock
VirusTotal: VirusTotal

Konuyu paylaşmama izin verdiği için tekrardan hocama teşekkürler.
Eline emeğine sağlık
 

kst132

Junior Hunter
12 Haz 2023
919
536
316091192-6f82464c-14af-494a-b7de-896847197864.png

Herkese selamlar, ben DxeiZ. Bu gün sizlere @Kruvazör hocamın paylaşmış olduğu "C# ile Uygulamaların İnternete Bağlanmasını Engellemek!" konusunda ki, uygulamayı kendimce geliştirmek istedim.
İşte karşınızda v2.0

⤏ Yapılan Değişiklikler:
⥅ Tasarım için iki paket kullanıldı bunlar:
+ Guna2.dll
+ LollipopUI (tarafımca modifiyeli)
⥅ Ara yüz tasarımında iki adet olan GroupBox kaldırıldı ve yeni bir tasarım şekli ile değiştirildi.

⤏ Uygulamanın Yeni Kodları:
C#:
using NetFwTypeLib;
C#:
    public partial class Form1 : Form
    {
        private Dictionary<string, INetFwRule> ruleDictionary;
        private string selectedAppPath = null;

        public Form1()
        {
            InitializeComponent();
            ruleDictionary = new Dictionary<string, INetFwRule>();
            LoadFirewallRules();
        }

        private void LoadFirewallRules()
        {
            try
            {
                INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));

                foreach (INetFwRule2 fwRule in firewallPolicy.Rules.OfType<INetFwRule2>())
                {
                    if (!ruleDictionary.ContainsKey(fwRule.Name))
                    {
                        ruleDictionary.Add(fwRule.Name, fwRule);
                        listView1.Items.Add(fwRule.Name);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error loading firewall rules: {ex.Message}");
            }
        }


        private void siticoneButton1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "") MessageBox.Show("Kural adını doldurunuz!");
            else
            {
                try
                {
                    if (selectedAppPath != null)
                    {
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        INetFwRule rule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));

                        rule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
                        rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;
                        rule.Enabled = true;
                        rule.ApplicationName = selectedAppPath;
                        rule.Name = textBox1.Text;

                        firewallPolicy.Rules.Add(rule);
                        MessageBox.Show("Kural başarıyla oluşturuldu.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LoadFirewallRules();
                    }
                    else
                    {
                        MessageBox.Show("Uygulama adını doldurunuz!");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void siticoneButton2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem selectedItem = listView1.SelectedItems[0];
                string selectedRuleName = selectedItem.Text;

                if (MessageBox.Show($"Seçilen kuralı silmek istediğinizden emin misiniz?\n\nKural Adı: {selectedRuleName}", "Kuralı Sil", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    try
                    {
                        INetFwRule ruleToRemove = ruleDictionary[selectedRuleName];
                        INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                        firewallPolicy.Rules.Remove(ruleToRemove.Name);
                        listView1.Items.Remove(selectedItem);
                        ruleDictionary.Remove(selectedRuleName);
                        MessageBox.Show("Kural başarıyla kaldırıldı.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Kural kaldırılırken bir hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Lütfen silmek istediğiniz kuralı seçin.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void lollipopSmallCard1_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*";
                openFileDialog.FilterIndex = 1;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    selectedAppPath = openFileDialog.FileName;
                    string selectedAppName = Path.GetFileName(selectedAppPath);
                    lollipopSmallCard1.Text = selectedAppName;
                    lollipopSmallCard1.Info = selectedAppPath;
                    FileAttributes attributes = File.GetAttributes(openFileDialog.FileName);
                    if ((attributes & FileAttributes.Archive) == FileAttributes.Archive)
                    {
                        try
                        {
                            Icon icon = Icon.ExtractAssociatedIcon(openFileDialog.FileName);
                            lollipopSmallCard1.Image = icon.ToBitmap();
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }

316091192-6f82464c-14af-494a-b7de-896847197864.png
316091240-df1276d4-460b-40b1-abc6-663e816d9255.png

Kaynak kod: AppLock
VirusTotal: VirusTotal

Konuyu paylaşmama izin verdiği için tekrardan hocama teşekkürler.
Eline emeğine sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.