Merhabalar bugün sizlere x64dbg programını kullanarak herhangi bir programa nasıl crack yapıldığını ardından C# dilini kullanarak bu programa bir patcher kodlamayı göstereceğim. Şekilli olsun diye bu sefer tasarımda yaptım bunun için Bunifu kullandım. Bunifu kullanarak şık tasarımlar yapabilir GUI formunuzu daha estetik hale getirebilirsiniz.
Bunifu İndirmek İçin ;
Virus Total : VirusTotal
Devam edelim... Formumuzun FormBorderStyle özelliğini None yapıyoruz. Ardından bir Windows Media Player ekliyoruz. Bu bize arka planda tıpkı diğer keygen/crack programlarında olduğu gibi Resource etmiş olduğumuz dosyayı çalmaya yarayacak. Bu tarz işlemleri tek tek eklemek yerine videosunu bulup paylaşmayı tercih ettim.
C# Windows Media Player Ekleme
Keygen programlarında kullanılan müzikleri bulmak için Chiptune music yazarak YouTube üzerinde aratabilirsiniz veya direkt olarak keygen, crack music yazarak da bulmanız mümkün. Şahsen aşağıdaki müziği Youtube Online MP3 Converter ile MP3 'e dönüştürüp projeme ekledim...
C# Resource işlemlerinden bahsedelim biraz. Formumuzu açtıktan sonra üst sekmelerden Proje --> {Projemizin Adı Bende WindowsFormsApp1}Özellikleri diyoruz.
Bunifu GUI Nesnelerini Projeye Dahil Etme
Ekleyeceğimiz Ögeler3 Adet Label Birisi Rapor GUI nesnesini belirtecek diğeri PowerISO yolunu belirtecek sonuncusu ise BunifuCheckBox GUI nesnesinin özelliğini belirtecek.
1 adet Textbox MultiLine özelliği True olsun ScrollBars özelliği Both olsun. Bu bize yapmış olduğumuz işlemleri (Geçmişte paylaştığım konulardan da fark etmişsinizdir tabi konuları okuduysanız...) AppendText özelliğini kullanarak rapor verecek.
1 adet listBox bu bize arka planda seçilen klasör içerisinde hangi uzantılı dosyalar var onları gösterecek.
1 adet Bunifu CheckBox bu işlem bittikten sonra programın çalışıp çalışmadığının onayı için lazım. Adını checkBox1 olarak değiştirin.
1 adet Bunifu TrackBar bu bize arka planda oynatılan MP3 dosyamızın ses ayarını ayarlamamız için lazım. Value kısmını ise 63 yapalım.
6 adet Bunifu ThinButton bunlar sırası ile PowerISO uygulamasının olduğu klasörü seçtirme, Patch işlemini uygulama, programı simge durumuna küçültme, programı kapatma, sesi durdurma & devam ettirme butonlarımız olacak.
Ekleyeceğimiz Kütüphaneler
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Security.Principal;using System.Diagnostics;using System.Linq;using System.Text;using System.IO;using System.Threading.Tasks;using System.Windows.Forms;Partial Class altına bir klasör seçme ögesi tanımlayalım
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
kontrol adlı bir nesne oluşturalım kodlarımızı girelim. Bu dosya kontrolü yapacak eğer ki eski PowerISO varsa bunu silecek & textbox ögesine rapor olarak girecek.
C#:
private void kontrol()
{
string filePath = label2.Text + @"\PowerISO.exe";
if (File.Exists(filePath))
{
try
{
File.Delete(filePath);
textBox1.AppendText("Mevcut PowerISO dosyası sistemden siliniyor." + Environment.NewLine);
}
catch (Exception ex)
{
MessageBox.Show($"Dosya silinirken bir hata oluştu: {ex.Message}");
}
}
}
ListFolderContents adlı bir nesne daha oluşturduk. Bu bize seçilen klasörün içerisinde yer alan ögelerin listbox1 ögesine aktarılmasını sağlayacak olan kodu barındırıyor.
C#:
private void ListFolderContents(string folderPath)
{
// ListBox'ı temizle
listBox1.Items.Clear();
try
{
// Klasördeki tüm dosyaları al ve ListBox'a ekle
foreach (string file in Directory.GetFiles(folderPath))
listBox1.Items.Add(Path.GetFileName(file));
}
catch (Exception ex)
{
MessageBox.Show("Hata oluştu: " + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
PowerISO Klasörü Seç butonu kodumuzu girelim. Bu kod klasörü seçtikten sonra dizini listbox1 ögesine aktarmamızı sağlayan ListFolderContents özelliğini çağırmamızı sağlıyor & label2'ye dizini veriyor. Son olarak işlemi textbox ögesine rapor olarak giriyor.
C#:
if (folderBrowser.ShowDialog() == DialogResult.OK)
{
ListFolderContents(folderBrowser.SelectedPath);
}
if (listBox1.Items.Contains("PowerISO.exe"))
{
textBox1.AppendText("Klasör Seçildi: " + folderBrowser.SelectedPath + Environment.NewLine);
label2.Text = folderBrowser.SelectedPath;
}
else
{
MessageBox.Show("PowerISO bulunamadı. Lütfen tekrar deneyin!", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Warning);
listBox1.Items.Clear();
}
Şimdi klasörü seçtik sıra geldi Patch butonu koduna. Burada kontrol diye oluşturduğumuz başlık çağrılıyor & cracklemiş olduğumuz dosyamızın baytlarını giriyoruz. CheckBox işaretli ise program başlatılıyor. İşlemler textbox ögesine rapor olarak yazdırılıyor.
C#:
kontrol();
string destinationPath = label2.Text + @"\PowerISO.exe";
byte[] shellcode = new byte[] {
//baytlar Buraya
};
try
{
// Baytları dosyaya yaz
File.WriteAllBytes(destinationPath, shellcode);
if (checkBox1.Checked)
{
System.Diagnostics.Process.Start(destinationPath);
}
textBox1.AppendText("Patch Başarı İle Uygulandı!" + Environment.NewLine);
}
catch (Exception ex)
{
MessageBox.Show("Hata: " + ex.Message);
}
PowerISO standart kullanıcılarda olduğu gibi kurulum esnasında hep C diskine kurulur bu da yazma izni problemine neden olur bunu çözmek için Form_Load() olayına @DarkEmir 'in konusu olan Yönetici Olarak Başlatma işlemlerini uygulayalım. Burada uygulama yönetici olarak çalışmazsa kendi kendini yönetici olarak başlatıyor & textbox ögesine rapor giriyor ardından Resource ettiğimiz mp3 dosyası Temp klasörüne yazdırılıp arka planda çalmaya başlıyor.
C#:
// Uygulamanın yönetici haklarıyla çalışıp çalışmadığını kontrol et
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
if (!isElevated)
{
// Yönetici olarak başlatılmamış, yönetici haklarıyla yeniden başlat
var proc = new ProcessStartInfo
{
UseShellExecute = true,
WorkingDirectory = Environment.CurrentDirectory,
FileName = Application.ExecutablePath,
Verb = "runas" // Yönetici olarak çalıştırmak için
};
try
{
MessageBox.Show("Yönetici izinleri ile yeniden başlatılıyor...");
Process.Start(proc);
System.Environment.Exit(0);
}
catch (Exception ex)
{
MessageBox.Show("Yönetici olarak başlatılamadı: " + ex.Message);
System.Environment.Exit(0);
}
}
else
{
textBox1.AppendText("<--> Program Yönetici İzinleriyle Yeniden Başlatıldı! <-->" + Environment.NewLine);
textBox1.AppendText("[ Hoş Geldiniz... PowerISO Patched by Maveraün Nehr! ]" + Environment.NewLine);
string tempFilePath = Path.GetTempFileName() + ".mp3";
File.WriteAllBytes(tempFilePath, Properties.Resources.music);
axWindowsMediaPlayer1.URL = tempFilePath;
}
Minimize Butonu kodu
C#:
this.WindowState = FormWindowState.Minimized;
Kapat butonu kodu
C#:
MessageBox.Show("Uygulama kapanıyor... Görüşmek Üzere!", "Sistem", MessageBoxButtons.OK, MessageBoxIcon.Information);
System.Environment.Exit(0);
Duraklat butonu kodu
C#:
axWindowsMediaPlayer1.Ctlcontrols.pause();
Oynat butonu kodu
C#:
axWindowsMediaPlayer1.Ctlcontrols.play();
Ardından Trackbar ögesine çift tıklayalım & şu kodu girerek ses ayarımızı yapmış olalım
C#:
axWindowsMediaPlayer1.settings.volume = bunifuTrackbar1.Value;
Her şey bittiğinde hemen hemen aşağıda oluşan görüntü gibi olması lazım.
Şimdi programımız hazır. Gelelim crack işlemlerine gerekenler;
PowerISO : PowerISO - Create, Burn, Mount, Edit, Compress, Encrypt, Split, Extract ISO file, ISO/BIN converter, Virtual Drive, DAA File
x64dbg : x64Dbg.rar
Virus Total : VirusTotal
İndirip kurulumları yaptıktan sonra PowerISO programımızı açalım şöyle bir ekran gelmesi lazım. Gelen ekrandan kayıt kodu gir diyoruz.Kayıt kodu gir dedikten sonra karşımıza gelen yeni ekranda rastgele şeyler yazıyoruz & bir hata alıyoruz.
Açılan x64dbg programımızda boş bir alanda Sağ Tık --> Search for --> All Modules -->String References diyoruz & Progressbar ögelerinin değerleri dolana kadar bekliyoruz.
Örnek Dolum Görseli
--> CTRL + P yapın bir ekran gelecek karşınıza. Sağ altta yer alan Patch File tuşuna basın & yeni dosyanızı masaüstüne kaydedin tebrikler artık siz de bir cracker oldunuz...
Bakalım İşe Yaramış Mı? Gidip Rastgele Veriler Yazalım...
- SON -
Son düzenleme:






