Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Turkhackteam Under Ground
> Tersine Mühendislik

Tersine Mühendislik Reverse Engineering ve Cracking ile ilgili dökümanları bulabileceğiniz, CrackMe gibi uygulamaların paylaşıldığı bölüm.



.Net KeygenMe #1

Tersine Mühendislik

Yeni Konu aç Konu Kapatılmıştır
 
Seçenekler
Alt 21-10-2018 16:31   #1
  • Analiz Ekibi Asistanı
  • Üye Bilgileri
Üyelik tarihi
12/2017
Mesajlar
Konular

Teşekkür (Etti): 754
Teşekkür (Aldı): 519






Hedefiniz Konumda Verilen KeygenMe'ye Uygun Keygen Yazmanız. (Link'i İle Birlikte Çözümü Atınız.)


İndirme Link


VirüsTotal


(Önceki Konum Algoritma Hatasından Dolayı Kaldırıldı)


Algoritmayı Düzelltim Bir Takımda Koruma Ekledim Kolay Gelsin..


: Keygen Link :

(Sonradan Unutmayayım Diye Şimdi Ekledim)

@BackBox @x0rz

Arkadaşlar Anlatımı Detaylı Bir Şekilde Yapayım Belki Bazı Arkadaşlara Yol Gösterici Olur.


Şimdi Programı Öncelikle Tarayalım.
(Detect İt Easy İle Tarandı)
Sonuç :
Kod:
PE: protector: Themida/Winlicense(2.X)[-] 

PE: linker: unknown(11.0)[EXE32]
Gördüğümüz Gibi Kodlar Themida İle Korunuyor.


Themida Unpack Yapmalıyız. Bu Unpack Olayını MegaDumper Programı İle Yapacağız.


KeygenMe'yi Açtık MegaDumper'i Açtık Herşey Güzel Derken Hop bi anda ikiside kapandı.
Anladık ki programda MegaDumper Koruması Var.
Bu Olay Process İsmi İncelemekle Oluyor Genellikle..


MegaDumper'in İsmini Değiştirelim.
Mesela Ben MegaDumper İsmini MegaDumper2 Diye Değiştirdim.


Tekrardan İkisini Başlattığımız Zaman İkiside Kapanmıyor Yani Korumayı Bypass'ledik..


Şimdi İse Gelelim Unpack'e Zaten Unpack'i herkez yapabilir MegaDumper'e Girelim Programı Bulalım Sağ Tıklayıp .Net Dump'a Basalım Bu Kadar.
Daha Sonrasında Program Neredeyse Oraya Dumps Klasörü Oluşacaktır.


Oluşan Dumps Klasörünün İçerisindeki KeygenMe'yi Tarattığımız Zaman Alacağımız Sonuç :



Kod:
PE: library: .NET(v4.0.30319)[-] 

PE: linker: unknown(11.0)[EXE32]
Gördüğümüz Gibi Koruma Kalkmış .Net Dili İle Yazıldığı Belli Oluyor. Şimdi Uygulamamızı DnSpy Programı İle Açalım Ve Kodları İnceleyelim.





Gördüğümüz Gibi Orda Bi Sifreleme Diye bir dll var.
Önce Kodlara Bi Bakalım Ondan Sonra Ona zaten bakıcaz.


Form1_Load Olayına Geldiğimiz Zaman Önümüze Böyle Bir Kod Bloğu Çıkıyor :





Kodları İncelediğimiz Zaman Burda Hiç bir şeyin lisans doğrulamayla alakası olmadığını anlıyoruz çünkü programda Hem Buttona Tıklayınca Yapıyor Hemde burda bir if - else yapısı yok.
Yani Burdaki Tüm Kodları Kopyalayıp Keygenimize Atabiliriz.





ee attık hata verdi bir sürü dediğinizi duyar gibiyim.


Şimdi Öncelikle Form'umuza Bir Label Bir TextBox Ekleyelim.


Form'mumuzda herşeyden bir tane olduğu için label 3 olması çok saçma önce onun icabına bakalım ve onu label 1 yapalım
Daha Sonrasında Başka Kelimelerlede Hata Olduğunu Görüyoruz.
Onların İcabınada Şöyle Bakacağız :


Project > Add Reference > FrameWork Kısmından Arama Yerine System.Management Yazıyoruz Ve En Üstte Çıkana Tik Atıp Ok Diyoruz.


Daha Sonra Kod Bölümüze Geldiğimizde Hata Devam Ediyor Olacaktır En Üste (Kütüphane Bölümüne) Çıkıp Oraya



Kod:
using System.Management;
Yazıyoruz Ve Kodlardaki Tüm Hata Düzeliyor.
Programımızı Debugladığımızda Label'da Sonuç Alıyoruz.


Şimdi Gelelim İşin Meşakatli Kısmına (Serial Hesaplama)


Şimdi KeygenMe'mizde Görüyoruz ki Bir Button Var dnSpy'dada Kodlara Baktığımızda Sadece button1_click olayının olduğunu göreceksiniz oraya giriyoruz ve önümüze böyle bir kod bloğu çıkıyor :





label1.text bir şifrelemeden geçiriliyor ve bu şifrelemeyi textbox'a yazabilirseniz kabul ediyor.


Orda Gördüğümüz cyrt ' in üstüne bir kere bastığımızda bizi böyle bir yere götürecek :



privateSifleremecyrt=newSiflereme();


Daha Sonrasında Sifreleme'yede Bir Kez Basarsak Bizi Sifreleme Class'ının İçerisine Götürecek.


Keygen'imizde
Project > Add Class Yolunu Yapıp Ok Diyoruz.
Ve Daha Sonrasında dnSpy ' da Gördüğümüz Sifrele class'ının İçerisinde Ne Var Ne Yok Kopyalıyoruz ve Keygen'imizde Oluşturduğumuz Class'ın İçersine Atıyoruz..





En Aşağı İniyoruz Ve Birinci Parantezin Altına İnip Bu Kodu Yazıyoruz :

privateSifleremecyrt=newSiflereme();


Daha Sonrasında Yine Kütüphane Bölümüne Çıkıp Bu Kodu Yazıyoruz :

usingSifreleme;


Daha Sonra Class Olaylarınıda Halletiğimize Göre Form_Load'ın En Altına İnip Bu Kodu Yazıyoruz :


textBox1.Text = cyrt.Sifrele(label1.Text);


Kodlarımızın Hepsinin Son Hali :


Keygen Uygulama Kodları :


Kod:
using Sifreleme;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Management;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace KeygenNet
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private **** Form1_Load(object sender, EventArgs e)
        {
            string text = "";
            ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("Select * FROM WIN32_Processor");
            ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
            foreach (ManagementBaseObject managementBaseObject in managementObjectCollection)
            {
                ManagementObject managementObject = (ManagementObject)managementBaseObject;
                text = managementObject["ProcessorId"].ToString().Trim();
            }
            string str = "c";
            ManagementObject managementObject2 = new ManagementObject("win32_logicaldisk.deviceid=\"" + str + ":\"");
            managementObject2.Get();
            string str2 = managementObject2["VolumeSerialNumber"].ToString();
            text = text + "-" + str2;
            label1.Text = text;
            textBox1.Text = cyrt.Sifrele(label1.Text);
        }
        private Siflereme cyrt = new Siflereme();
    }
}



Class Kodları :


Kod:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace Sifreleme
{
    // Token: 0x02000002 RID: 2
    public class Siflereme
    {
        // Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00002050
        public byte[] Sifrele(byte[] SifresizVeri, byte[] Key, byte[] IV)
        {
            MemoryStream memoryStream = new MemoryStream();
            Rijndael rijndael = Rijndael.Create();
            rijndael.Key = Key;
            rijndael.IV = IV;
            CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateEncryptor(), CryptoStreamMode.Write);
            cryptoStream.Write(SifresizVeri, 0, SifresizVeri.Length);
            cryptoStream.Close();
            return memoryStream.ToArray();
        }

        // Token: 0x06000002 RID: 2 RVA: 0x000020A8 File Offset: 0x000020A8
        public byte[] SifreCoz(byte[] SifreliVeri, byte[] Key, byte[] IV)
        {
            MemoryStream memoryStream = new MemoryStream();
            Rijndael rijndael = Rijndael.Create();
            rijndael.Key = Key;
            rijndael.IV = IV;
            CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateDecryptor(), CryptoStreamMode.Write);
            cryptoStream.Write(SifreliVeri, 0, SifreliVeri.Length);
            cryptoStream.Close();
            return memoryStream.ToArray();
        }

        // Token: 0x06000003 RID: 3 RVA: 0x00002110 File Offset: 0x00002110
        public string Sifrele(string sifrelenecekMetin)
        {
            byte[] bytes = Encoding.Unicode.GetBytes(sifrelenecekMetin);
            PasswordDeriveBytes passwordDeriveBytes = new PasswordDeriveBytes(this.password, new byte[]
            {
                30,
                42,
                63,
                110,
                68,
                69,
                170,
                187,
                139,
                33,
                236,
                50,
                153
            });
            byte[] inArray = this.Sifrele(bytes, passwordDeriveBytes.GetBytes(32), passwordDeriveBytes.GetBytes(16));
            return Convert.ToBase64String(inArray);
        }

        // Token: 0x06000004 RID: 4 RVA: 0x0000216A File Offset: 0x0000216A
        public Siflereme()
        {
        }

        // Token: 0x04000001 RID: 1
        public string password = "1";
    }
}
Ve Programı Debugladığımızda Sonuç Alıyoruz.

İyi Forumlar..




___________________________________________

Telegram | @Phemis
____________________________

Cahille Girme Münakaşaya; Ya Sinirini Zıplatır Tavana, Ya Da Yazık Olur Adabına.

Konu SeNZeRo tarafından (23-10-2018 22:00 Saat 22:00 ) değiştirilmiştir..
 Offline  
 
Alt 21-10-2018 20:31   #2
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
08/2018
Nereden
Kerkük
Yaş
81
Mesajlar
Konular

Teşekkür (Etti): 342
Teşekkür (Aldı): 409




Eline Sağlık Post Kasmak İçin Arka Arkaya Paylaşmışsın Gibi Görünüyor



___________________________________________

.xxʅ ☨ Tҽαɱ , Rҽɠιʂƚɾαƚισɳ Oϝϝιƈҽɾ

 Offline  
 
Alt 21-10-2018 20:42   #3
  • Analiz Ekibi Asistanı
  • Üye Bilgileri
Üyelik tarihi
12/2017
Mesajlar
Konular

Teşekkür (Etti): 754
Teşekkür (Aldı): 519




Alıntı:
Leatrix´isimli üyeden Alıntı Mesajı göster
Eline Sağlık Post Kasmak İçin Arka Arkaya Paylaşmışsın Gibi Görünüyor
Amacım post kasmak değil saat farkı var zaten @R4V3N gereksiz bi post var o silinebilir.

Teşekkür ederim.



___________________________________________

Telegram | @Phemis
____________________________

Cahille Girme Münakaşaya; Ya Sinirini Zıplatır Tavana, Ya Da Yazık Olur Adabına.
 Offline  
 
Alt 21-10-2018 21:31   #4
  • Üsteğmen
  • Üye Bilgileri
Üyelik tarihi
04/2009
Nereden
Kocaeli
Yaş
25
Mesajlar
Konular

Teşekkür (Etti): 92
Teşekkür (Aldı): 152




Keşke biraz bekleseydin konuyu yeni gördüm



___________________________________________

Jasgues

 Offline  
 
Teşekkür

Phemis Teşekkür etti.
Alt 21-10-2018 21:42   #5
  • Analiz Ekibi Asistanı
  • Üye Bilgileri
Üyelik tarihi
12/2017
Mesajlar
Konular

Teşekkür (Etti): 754
Teşekkür (Aldı): 519




Alıntı:
jasgues´isimli üyeden Alıntı Mesajı göster
Keşke biraz bekleseydin konuyu yeni gördüm
bir dahaki sefere hocam



___________________________________________

Telegram | @Phemis
____________________________

Cahille Girme Münakaşaya; Ya Sinirini Zıplatır Tavana, Ya Da Yazık Olur Adabına.
 Offline  
 
Alt 21-10-2018 21:46   #6
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
07/2018
Nereden
nereye
Yaş
20
Mesajlar
Konular

Teşekkür (Etti): 26
Teşekkür (Aldı): 138




yararlı konu olmuş teşekkürler



___________________________________________

500 .Cü Kuruluş Yılının kutlayan Osmanlının Evlatlarıyız

https://youtu.be/ucAIJD7xTJc

 Offline  
 
Konu Kapatılmıştır

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

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.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+
Pomeranian Boo
instagram takipci hilesi

wau