Fikir Teatisi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    Merhaba

    Bir yazılımınız var ve sadece belli sayıda kişilere verdiniz. Fakat bu yazılımın sadece sizin kurmuş olduğunuz bilgisayarlarda çalışıyor olduğunu, bir nevi yazılımınızın başkaları tarafından kullanılmıyor olduğunu nasıl kontrol ederdiniz.

    Not: Bilgisayarlar çevirimiçi / Kullanıcılar düşük seviye kullanıcı / Yapmış olduğunuz yazılım C# & MSSQL destekli.

    Fikri olan yazabilir mi? Benim de bir fikrim var ancak çok mu uç düşünüyorum bilemedim. Biraz beyin fırtınası olsun.

    Bende birkaç şey yazacağım bir vakit sonra..

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SUPERBICO
    SUPERBICO's avatar
    Kayıt Tarihi: 13/Haziran/2008
    Erkek

    Hdd id 

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek
    SUPERBICO bunu yazdı

    Hdd id 

    İlk cevap gayet güzell.. bende Mac düşünmüştüm.

    peki veri kontrolünü nasıl post ettirmeli... eposta & web service vs...

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gizem
    sLeymN
    sLeymN's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    ben şöyle bir şey yaptım bir uygulamamda,

    hdd id + mac adresi + kurulum tarihini hashleyen bir algoritmam var. bunu tersine çözüp bu bilgileri elde edebiliyorum geri. 

    Uygulama kurulumdan sonra ilk açılışta dbdeki lisans alanını kontrol ediyor. eğer boş ise bir web service ile bana lisans requesti atıyor. dolu ise de valid bir lisans mı diye kontrol ediyor. 

    web service ise bana sms atıyor. Bende  bir exe üzerinden lisans üretip tabloya giriyorum. Uygulama tekrar açıldığında lisanslamış oluyor


    Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    whopper
    whopper's avatar
    Kayıt Tarihi: 26/Haziran/2008
    Erkek
    sLeymN bunu yazdı

    ben şöyle bir şey yaptım bir uygulamamda,

    hdd id + mac adresi + kurulum tarihini hashleyen bir algoritmam var. bunu tersine çözüp bu bilgileri elde edebiliyorum geri. 

    Uygulama kurulumdan sonra ilk açılışta dbdeki lisans alanını kontrol ediyor. eğer boş ise bir web service ile bana lisans requesti atıyor. dolu ise de valid bir lisans mı diye kontrol ediyor. 

    web service ise bana sms atıyor. Bende  bir exe üzerinden lisans üretip tabloya giriyorum. Uygulama tekrar açıldığında lisanslamış oluyor

    Abi biraz alakasiz bir detay ama hash zaten geri cevrilmesi istenmedigi durumlarda kullanilmiyor mu? 

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SweetyVolty
    SweetyVolty's avatar
    Kayıt Tarihi: 12/Temmuz/2008
    Homo
    whopper bunu yazdı
    sLeymN bunu yazdı

    ben şöyle bir şey yaptım bir uygulamamda,

    hdd id + mac adresi + kurulum tarihini hashleyen bir algoritmam var. bunu tersine çözüp bu bilgileri elde edebiliyorum geri. 

    Uygulama kurulumdan sonra ilk açılışta dbdeki lisans alanını kontrol ediyor. eğer boş ise bir web service ile bana lisans requesti atıyor. dolu ise de valid bir lisans mı diye kontrol ediyor. 

    web service ise bana sms atıyor. Bende  bir exe üzerinden lisans üretip tabloya giriyorum. Uygulama tekrar açıldığında lisanslamış oluyor

    Abi biraz alakasiz bir detay ama hash zaten geri cevrilmesi istenmedigi durumlarda kullanilmiyor mu? 

    I Ih. şöyle düşün; Giri ABCDE olsun, hash'lediğin algoritman da her harfi alfabedeki bir sonraki harfle değiştirsin ve sonuç olarak BCDEF verecektir, böylece herkes sonucu görür ama sadece elinde algoritma olanlar asıl girinin ABCDE olduğunu bilebilir.


    Çok sıkılıyom
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kUz3y
    kUz3y's avatar
    Kayıt Tarihi: 14/Aralık/2009
    Erkek

    Tersine Mühendislik olayı çok gelişti her türlü patlatıyorlar nerdeyse, o sebeple söylenenlerin yanı sıra, server client mantığı olması daha güvenli olacaktır. 


    Arayan yok, Soranı skim.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    moi
    moi's avatar
    Kayıt Tarihi: 26/Mayıs/2009
    Erkek
    SweetyVolty bunu yazdı
    whopper bunu yazdı
    sLeymN bunu yazdı

    ben şöyle bir şey yaptım bir uygulamamda,

    hdd id + mac adresi + kurulum tarihini hashleyen bir algoritmam var. bunu tersine çözüp bu bilgileri elde edebiliyorum geri. 

    Uygulama kurulumdan sonra ilk açılışta dbdeki lisans alanını kontrol ediyor. eğer boş ise bir web service ile bana lisans requesti atıyor. dolu ise de valid bir lisans mı diye kontrol ediyor. 

    web service ise bana sms atıyor. Bende  bir exe üzerinden lisans üretip tabloya giriyorum. Uygulama tekrar açıldığında lisanslamış oluyor

    Abi biraz alakasiz bir detay ama hash zaten geri cevrilmesi istenmedigi durumlarda kullanilmiyor mu? 

    I Ih. şöyle düşün; Giri ABCDE olsun, hash'lediğin algoritman da her harfi alfabedeki bir sonraki harfle değiştirsin ve sonuç olarak BCDEF verecektir, böylece herkes sonucu görür ama sadece elinde algoritma olanlar asıl girinin ABCDE olduğunu bilebilir.

    yanlışın var, dediğin şey encryption algoritması oluyor hocam. hashing daha çok veriyi özetlemek ve benzersize yakın bir sonuç üretmekle ilgili. geri dönüştürülememesi de veri kaybından kaynaklanıyor. verdiğin örnekten gidecek olursak, bir hashing algoritması şuna benzer şekilde işler;

    Alfabenin harflerini 0dan başlayarak indexlersek; (A=0, B=1, C=2, D=3, E=4, F=5, ...) ve girilen verinin(ABCDE) bu index toplamlarını alıp(11) mod3 sonucunu alırsak(2), kendimizce veriyi hash'lemiş oluyoruz. farkedeceğin üzere birden fazla girdi aynı çıktıyı verebilir bu algoritma ile. bu yüzden de algoritmayı biliyor olsan da geri çeviremezsin, deneme yanılmayla da sonsuz bir sonuç kümesi var.

    Neyse konuya dönersek, cihaza özel id üretmek için şu fonksiyonu kullanabilirsin;

    public static string GetUDID()
            {
                string drive = string.Empty;
    
                //Find first drive
                foreach (DriveInfo compDrive in DriveInfo.GetDrives())
                {
                    if (compDrive.IsReady)
                    {
                        drive = compDrive.RootDirectory.ToString();
                        break;
                    }
                }
    
                if (drive.EndsWith(":\\"))
                {
                    //C:\ -> C
                    drive = drive.Substring(0, drive.Length - 2);
                }
    
                string volumeSerial = getVolumeSerial(drive);
                string cpuID = getCPUID();
    
                //Mix them up and remove some useless 0's
                return sha256String(cpuID.Substring(13) + cpuID.Substring(1, 4) + volumeSerial + cpuID.Substring(4, 4));
            }
    
            private static string getVolumeSerial(string drive)
            {
                ManagementObject disk = new ManagementObject(@"win32_logicaldisk.deviceid=""" + drive + @":""");
                disk.Get();
    
                string volumeSerial = disk["VolumeSerialNumber"].ToString();
                disk.Dispose();
    
                return volumeSerial;
            }
    
            private static string getCPUID()
            {
                string cpuInfo = "";
                ManagementClass managClass = new ManagementClass("win32_processor");
                ManagementObjectCollection managCollec = managClass.GetInstances();
    
                foreach (ManagementObject managObj in managCollec)
                {
                    if (cpuInfo == "")
                    {
                        //Get only the first CPU's ID
                        cpuInfo = managObj.Properties["processorID"].Value.ToString();
                        break;
                    }
                }
    
                return cpuInfo;
            }

     


    Sadece paranoyaklar hayatta kalır...
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    2021 Talihlisi
    TheAvenqer
    TheAvenqer's avatar
    Kayıt Tarihi: 09/Şubat/2014
    Erkek
    whopper bunu yazdı
    sLeymN bunu yazdı

    ben şöyle bir şey yaptım bir uygulamamda,

    hdd id + mac adresi + kurulum tarihini hashleyen bir algoritmam var. bunu tersine çözüp bu bilgileri elde edebiliyorum geri. 

    Uygulama kurulumdan sonra ilk açılışta dbdeki lisans alanını kontrol ediyor. eğer boş ise bir web service ile bana lisans requesti atıyor. dolu ise de valid bir lisans mı diye kontrol ediyor. 

    web service ise bana sms atıyor. Bende  bir exe üzerinden lisans üretip tabloya giriyorum. Uygulama tekrar açıldığında lisanslamış oluyor

    Abi biraz alakasiz bir detay ama hash zaten geri cevrilmesi istenmedigi durumlarda kullanilmiyor mu? 

    Hocam soyle dusun bir sistem kurdun a kisisi hile yapmis onunda hashi 3veb3i olsun sen bu hashli kisiyi hile yaptigini yakaladin kim oldugunu nerden bileceksin hash i geri cevirmen lazim ki mesela isminin a oldugu ortaya ciksin

    2 li algoritmada guzel hash olusuyor

    A=2

    B=4

    C=8

    D=16

    Tarzinda sonsuza kadar 2 nin kati seklinde gidiyor mesela kisinin adi DCA olsun 16+8+2=26 rakamini uretti birde bunun siralamasini kuracak algoritma kur suan elinde 26 var hangilerinin toplami A C D nin peki bunun dogru kombinasyonu icinde algoritma lazim onuda uret 26 ile birlestir alsana hash

    Konuya gelirsek hocam ben Mac korumasi koyuyorum genelde programlarima basit son kullanici oldugu icin giris paneli oluyor giris panelinde kullanici adi sifre ile eslesmis durumda Mac oluyor o hesaba baska pc den baglanilamiyor sen Maci guzel sifrelersen her program acilisinda kontrol etsin o kullanici adi sifrenin sahibi o pc degilse girmesin


    Bot ve lisans ihtiyaçlarınız için pm atınız.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    süpersiniz arkadaşlar. cevap mesajları ufkumu açtı.