Yazılım lisans anahtarları nasıl oluşturulur?


361

Lisans anahtarları, korsanlıkla mücadele tedbiri olarak defacto standardıdır. Dürüst olmak gerekirse, bu , lisans anahtarlarının nasıl oluşturulduğuna dair hiçbir fikrim olmamasına rağmen, belirsizliğin İçinden Güvenlik olarak içeri giriyor . Lisans anahtarı oluşturmanın iyi (güvenli) örneği nedir? Hangi kriptografik ilkel (varsa) kullanıyorlar? Bir mesaj özeti mi? Eğer öyleyse, hangi verileri toplarlardı? Geliştiriciler, krakerlerin kendi anahtar üreteçlerini inşa etmelerini zorlaştırmak için hangi yöntemleri kullanıyorlar? Anahtar üreticiler nasıl yapılır?


8
+ 1 ilginç soru, belki bir cevaplayıcı daha fazla okumak için bu konuda bazı iyi kaynaklara bağlantılar gönderebilir? lütfen :)
Jacob

44
Programın çalışması için gerekli tüm kod ve veriler kullanıcıya sağlandığından, tüm DRM şemaları esasen belirsizlik şemalarıdır. Düzen, yamalamayı zorlaştırmak için keyfi olarak gizlenebilir, ancak herhangi bir kontrolü önlemek için kodun yamalanabileceği kesindir.
caf

5
CD anahtarları gerçekten de belirsizlikten kaynaklanan güvenliktir. Bunları oluşturmanın birkaç yolu vardır, ancak hepsi mutlaka anahtarı doğrulamak için gerekli olan programa bazı sırları yerleştirmeye dayanır.
Nick Johnson

4
Bunlara şimdi ürün anahtarları veya lisans anahtarları denir , çünkü bunları kullanan çoğu yazılımın çevrimiçi olarak cd'den daha fazla teslim edilmesi daha olasıdır.
Joel Coehoorn

4
Bir gün bunun için endişelenmem gereken bir uygulama yapmak istiyorum, çocukluk hayalleri. Web uygulamaları kesmez.
Znarkus

Yanıtlar:


268

Eski CD anahtarları için, sadece CD anahtarlarının (herhangi bir dize olabilir) oluşturulması ve doğrulanması kolay bir algoritma oluşturmak mıydı, ancak geçerli CD anahtarlarının geçersiz CD'ye oranı -keys o kadar küçük ki rastgele tahmin CD anahtarları geçerli bir tane almak olası değildir.

YAPMAK İÇİN YANLIŞ YOL:

Starcraft ve Half-life , aynı rakamı kontrol etti ve 13. basamak ilk 12'yi doğruladı. Böylece, ilk 12 basamak için herhangi bir şey girebilir ve 13'ü tahmin edebilirsiniz (sadece 10 olasılık var)1234-56789-1234

Doğrulama algoritması herkese açıktır ve şuna benzer:

x = 3;
for(int i = 0; i < 12; i++)
{
    x += (2 * x) ^ digit[i];
}
lastDigit = x % 10;

DOĞRU YOL

Windows XP oldukça fazla bilgi alır, şifreler ve harf / sayı kodlamasını çıkartmaya yerleştirir. Hem Buna izin MS anahtarınızı doğrulamak ve aynı zamanda ürün tipi (Home, Professional, vs.) elde ederiz. Ayrıca, çevrimiçi etkinleştirme gerektirir.
Tam algoritma oldukça karmaşıktır, ancak Almanya'da yayınlanan bu (tamamen yasal!) Makalede güzel bir şekilde özetlenmiştir .

Elbette, ne yaparsanız yapın, çevrimiçi bir hizmet ( World of Warcraft gibi ) sunmadığınız sürece , her türlü kopya koruması sadece bir duraktır: maalesef, eğer değerinde bir oyun varsa, bir kişi kırılacaktır (veya en azından atlatmalı) ) CD-tuş algoritması ve diğer tüm telif hakkı korumaları.

GERÇEK DOĞRU YOLU YAPMAK İÇİN:

Çevrimiçi hizmetler için, hayat biraz daha basittir, çünkü ikili dosyada bile, herhangi bir şekilde kullanmak için sunucularıyla kimlik doğrulaması yapmanız gerekir (örn. Bir WoW hesabınız var). World of Warcraft için CD tuşu algoritması - örneğin, oyun süresi kartları satın alırken kullanılır - muhtemelen şöyle görünür:

  1. Çok büyük kriptografik olarak güvenli rastgele bir sayı oluşturun.
  2. Veritabanımızda saklayın ve karta yazdırın.

    Daha sonra, birisi bir oyun zamanı kartı numarası girdiğinde, veritabanında olup olmadığını kontrol edin ve varsa, bir daha asla kullanılmaması için bu numarayı geçerli kullanıcıyla ilişkilendirin.

Çevrimiçi hizmetler için, hiçbir neden yoktur değil yukarıdaki şemanın kullanılması; başka bir şey kullanmak sorunlara yol açabilir .


47
Mathematica'nın ilginç bir süreci var. Ürün benzersiz bir anahtarla gelir ve yükleme dosyası ikinci bir benzersiz anahtar oluşturur (donanımınızı temel alır). Bu anahtarların her ikisi de adınız ve kayıt bilgilerinizle çevrimiçi bir forma girilmelidir ve daha sonra, gerçekte yazılımı gerçekten açan bu iki anahtarı temel alan gerçek anahtarı gönderirler, ancak yalnızca o ürün anahtarı ve özel donanımınız için.
Dan

18
Heh, 1234-56789-1234Starcraft anahtarını hiç bilmiyordum , ancak tuş takımını ezip tekrar deneyerek doğrulayıcıyı "kaba zorlamak" için sadece beş dakika sürdüğünü hatırlıyorum.
fmark

18
Geçmişte 111-1111111'i geçerli bir cdkey olarak kullanmanıza izin veren bazı Microsoft ürünlerini de hatırlıyorum (Visual Studio 6.0)
hannson

25
1234-56789-1234'ü hiç bilmiyordum. Bunun yerine on üç tane kullandık! 3333333333333
ErikTJ

33
Çevrimiçi etkinleştirme ile ilgili sorun, yayıncı iş dışı kaldığında / çıktığında hepimizin mahvolmasıdır. Lütfen bunu yapma. Bu olur ve bir gün Microsoft'a bile olabilir / olur.
Brad

56

Bu cevabı ilk olarak yazdığımda, sorunun lisans anahtarlarının 'çevrimdışı' doğrulanmasıyla ilgili olduğu varsayımı altındaydı. Diğer cevapların çoğu, ele alınması önemli ölçüde daha kolay olan çevrimiçi doğrulamayı ele almaktadır (mantığın çoğu sunucu tarafında yapılabilir).

Çevrimdışı doğrulama ile en zor şey, çok sayıda benzersiz lisans anahtarı üretebilmenizi ve yine de kolayca tehlikeye atılmayan güçlü bir algoritmayı sürdürmenizi sağlamaktır (basit bir kontrol basamağı gibi)

Matematik konusunda çok bilgili değilim, ama bunu yapmanın bir yolunun bir matematiksel bir fonksiyon bir grafik çizen bir

Çizilen çizgi binlerce (yeterince iyi bir frekans kullanırsanız) binlerce benzersiz noktaya sahip olabilir, böylece o grafikte rastgele noktalar seçerek ve değerleri bir şekilde kodlayarak anahtarlar oluşturabilirsiniz

resim açıklamasını buraya girin

Örnek olarak, bu grafiği çizer, dört nokta seçer ve "0, -500; 100, -300; 200, -100; 100,600" olarak bir dizeye kodlarız

Dizeyi bilinen ve sabit bir anahtarla (korkunç derecede zayıf, ancak bir amaca hizmet eder) şifreleyeceğiz, ardından elde edilen baytları Dizeyi şifreleyeceğiz Base32'ye nihai anahtarı oluşturmak için

Uygulama daha sonra bu işlemi tersine çevirebilir (base32'yi gerçek sayıya, şifresini çözebilir, noktaların kodunu çözebilir) ve sonra bu noktaların her birinin gizli grafiğimizde olduğunu kontrol edebilir.

Çok sayıda benzersiz ve geçerli anahtarın oluşturulmasına izin verecek oldukça az miktarda kod

Ancak, belirsizliğe göre çok fazla güvenliktir. Kodu sökmek için zaman ayıran herkes, grafik fonksiyonunu ve şifreleme anahtarlarını bulabilir, daha sonra bir anahtar oluşturucuyu alay edebilir, ancak geçici korsanlığı yavaşlatmak için muhtemelen oldukça yararlıdır.


6
Hayır, Erik olmaz. X bir tamsayı ve Y fonksiyonun tabanıdır.
Joshua

Bu GPS öncesi uydu navigasyonunun kaç yaşında çalıştığından farklı değil! youtube.com/watch?v=BBOsQBuCJfs
Brad

34

Aşağıdaki gereksinimleri kapsayan Kısmi Anahtar Doğrulaması ile ilgili makaleye bakın :

  • Lisans anahtarları yazmak için yeterince kolay olmalıdır.

  • Ters ibrazlar veya çalıntı kredi kartlarıyla yapılan alışverişlerde bir lisans anahtarını kara listeye alabilmeliyiz (iptal edebiliriz).

  • Anahtarları test etmek için “eve telefon etmek” yok. Bu uygulama giderek daha yaygın hale gelmesine rağmen, hala bir kullanıcı olarak takdir etmiyorum, bu yüzden kullanıcılarımdan vazgeçmelerini istemeyeceğim.

  • Bir krakerin serbest bırakılan uygulamamızı sökmesi ve çalışan bir “keygen” üretmesi mümkün olmamalıdır. Bu, başvurumuzun doğrulama için bir anahtarı tam olarak test etmeyeceği anlamına gelir. Anahtarın sadece bir kısmı test edilecektir. Ayrıca, uygulamanın her sürümü, anahtarın farklı bir bölümünü test etmelidir, böylece önceki bir sürüme dayanan bir sahte anahtar, yazılımımızın sonraki bir sürümünde çalışmayacaktır.

  • Önemli: Meşru bir kullanıcının yanlışlıkla çalışacak gibi görünen ancak gelecekteki bir sürümde yazım hatası nedeniyle başarısız olan geçersiz bir anahtar yazması mümkün olmamalıdır.


21

İnsanların CD anahtarları oluşturmak için gerçekte ne yaptıklarıyla ilgili hiçbir deneyimim yok, ancak (çevrimiçi aktivasyon yolunda gitmek istemediğinizi varsayarak) burada bir anahtar yapmanın birkaç yolu var:

  • Sayının bölünebilir olmasını sağlayın (diyelim) 17. Birçok anahtara erişiminiz varsa tahmin etmek önemsizdir, ancak potansiyel dizelerin çoğu geçersiz olacaktır. Benzer şekilde, anahtarın sağlama toplamının bilinen bir değerle eşleşmesi gerekebilir.

  • Anahtarın ilk yarısının, bilinen bir değerle birleştirildiğinde, anahtarın ikinci yarısına kadar karma olmasını sağlayın. Daha iyi, ama program hala anahtarları oluşturmak ve doğrulamak için gerekli tüm bilgileri içerir.

  • Bilinen bir değeri + nonce değerini şifreleyerek (özel bir anahtarla) anahtarlar oluşturun. Bu, ilgili genel anahtar kullanılarak şifre çözülerek ve bilinen değer doğrulanarak doğrulanabilir. Program artık anahtar üretmeden anahtarı doğrulamak için yeterli bilgiye sahip.

Bunların hepsi saldırıya açıktır: program hala oradadır ve kontrolü atlamak için yama yapılabilir. Cleverer, değeri programda saklamak yerine üçüncü yöntemimdeki bilinen değeri kullanarak programın bir kısmını şifrelemek olabilir. Bu şekilde, programın şifresini çözmeden önce anahtarın bir kopyasını bulmanız gerekir, ancak şifresi çözüldükten sonra kopyalanmaya ve bir kişinin yasal kopyasını almasına ve herkesin yazılıma erişmesini sağlamak için kullanmaya karşı savunmasızdır.


9
Gerçekten 'bir kez kullanılan sayı' bir şeyle kimin gelmiş olmasını diliyorum, isim olarak bir kez şifrelenmeyi önerdiğinde beni kıkırdayan ahem negatif çağrışımlar göz önüne alındığında, Nonce'yi seçmemişti .
Ed James

2
Üçüncü seçeneğin simetrik anahtar siberleri ile çalışmadığına dikkat edin, çünkü saldırgan sadece düz metin üzerinde testi tersine çevirebilir, geçen bir şeyi üretebilir ve sonra (bilinen) anahtar ve (bilinen) şifre ile şifreleyebilir. Evde demlemek için bir şifre kullanmak çözüm değildir, çünkü bunu kendi başınıza yapabiliyorsanız, NSA'da bir iş bulmalısınız.
BCS

@BCS: Üzgünüm, açık anahtarlı kripto kullanma konusunda daha net olmalıydım.
Andrew Aylett

Ortak anahtar sürümü için bir şifreleme şeması değil, bir imza şeması kullanın. (RSA imzası biraz "ortak anahtarla şifreleme" gibi görünür, ancak tamamen aynı şey değildir. DSA gibi ilişkili bir şifreleme şemasına sahip olmayan diğer imza şemaları vardır.)
Paŭlo Ebermann

Ortak anahtarlı kripto ile ilgili sorun anahtarlar (ve bu nedenle diziler) uzun olmalıdır. 512 bitlik bir RSA anahtar çiftinin bu günlerde kırılması zor değil.
WinXP'nin

17

CD Anahtarları, ağa bağlı olmayan herhangi bir şey için fazla bir güvenlik değildir, bu nedenle teknik olarak güvenli bir şekilde üretilmeleri gerekmez. .Net kullanıyorsanız, neredeyse Guid.NewGuid () ile gidebilirsiniz.

Günümüzde ana kullanımları, bir sunucunun CD Anahtarını doğrulayabileceği Çok Oyunculu bileşen içindir. Bunun için, "Aktarılan her şeyi arayın ve başka birinin zaten kullanıp kullanmadığını kontrol edin" e kadar kaynadığında ne kadar güvenli bir şekilde oluşturulduğu önemsizdir.

Bununla birlikte, iki hedefe ulaşmak için bir algoritma kullanmak isteyebilirsiniz:

  • Bir çeşit kontrol toplamı var. Bu, Yükleyicinizin yalnızca yazım hatalarını algılaması için "Anahtar geçerli görünmüyor" iletisini görüntülemesini sağlar (Yükleyiciye böyle bir denetim eklenmesi, aslında Hacker'ın ihtiyaç duyduğu tüm kodlara sahip olması nedeniyle bir Anahtar Üreticisi yazmanın önemsiz olduğu anlamına gelir. kontrol edin ve yalnızca sunucu tarafı doğrulamasına güvenmek, sunucunun neden CD Anahtarını kabul etmediğini anlamayan yasal müşterilerinizi rahatsız etme riski olan yazım hatalarının farkında olmadıklarını kontrol etmeyi devre dışı bırakır)
  • Sınırlı bir karakter alt kümesiyle çalışın. Bir CD Anahtarı yazmaya çalışın ve "Bu 8 mi yoksa B? A 1 mi, I? A Q mu, O mu yoksa 0 mı?" - Belirsiz olmayan karakterlerin / rakamların bir alt kümesini kullanarak bu karışıklığı ortadan kaldırmış olursunuz.

Bununla birlikte, bir korsanın sadece geçerli bir anahtarı tahmin etmesini (veritabanınızda geçerli, ancak yine de bir mağaza rafındaki bir kutuda) tahmin etmesini ve bu kutuyu satın alan meşru bir müşteriyi vidalamasını önlemek için hala büyük bir dağıtım ve biraz rastlantısallık istiyorsunuz. .


iyi müşteri hizmetleri ile kolayca çözülür - Kutu çekimi + Satın Alma Kanıtı = Yasadışı kullanıcıyı kilitle, İkinci Kullanıcı Erişimi Ver.
alexanderpas

1
CD anahtarları hakkında birkaç ek düşünce codinghorror.com/blog/2007/12/software-registration-keys.html
Richard Chambers

10

Anahtarın uzunluğuyla özellikle ilgilenmiyorsanız, oldukça denenmiş ve gerçek bir yöntem, genel ve özel anahtar şifrelemesinin kullanılmasıdır.

Esasen bir çeşit nonce ve sabit bir imzası var.

Örneğin: 0001-123456789

0001 sizin nonce ve 123456789 sabit imzanızdır.

Daha sonra, CD anahtarınızı almak için özel anahtarınızı kullanarak bunu şifreleyin: ABCDEF9876543210

Ardından ortak anahtarı uygulamanızla birlikte dağıtın. Ortak anahtar, daha sonra sabit imza bölümünü doğruladığınız "ABCDEF9876543210" CD anahtarının şifresini çözmek için kullanılabilir.

Bu daha sonra birinin özel anahtarın olmadığı için nonce 0002 için CD anahtarının ne olduğunu tahmin etmesini önler.

Tek büyük aşağı tarafı, 1024 bit özel / genel anahtarlar kullanılırken CD anahtarlarınızın oldukça uzun olacağıdır. Ayrıca, önemsiz miktarda bilgileri şifrelememek için yeterince uzun bir nonce seçmeniz gerekir.

Yukarı tarafı, bu yöntemin "aktivasyon" olmadan çalışması ve nonce olarak e-posta adresi veya lisans sahibi adı gibi şeyleri kullanabilmenizdir.


1
Örneğimin anahtarınızın uzunluğunu büyük ölçüde küçümsediğini lütfen unutmayın. Bu şemalar tipik kodlayan base64 gerektiren ve kopyalama / dağıtım yapıştırmak ancak bir makineye bağlı değil anahtarları tahmin etmek neredeyse imkansız izin ve (birçok müşterilerinin türleri için iki şey çok önemli) aktivasyonunu gerektirmeyen
userx

3
RSA kullanmak yerine Eliptik eğrileri kullanabilirsiniz. Daha kısa anahtarlar kullanırlar ve blok uzunlukları daha küçüktür.
Wiki'yi okurken

Lütfen dijital imzaların ve "özel anahtarla şifrelemenin" aynı şey olmadığını unutmayın. RSA'da benzer görünüyorlar (farklı dolgu şemaları nedeniyle olmasalar da), diğer imza şemalarının karşılık gelen bir şifreleme şeması bile yok.
Paŭlo Ebermann

@xanatos, 256 bit elle yazmak için hala çok uzun. WinXP tarafından kullanılan 25 karakterlik anahtarları düşünün - sadece 128 bit entropi var.
finnw

1
@Mark - İmza genellikle şifrelenmiş bir karıştır. Şifreleme veya imzalama kullanabilirsiniz, yöntemim aynı şekilde çalışır. Sadece özel anahtar olmadan kolayca oluşturulamayan ve ortak anahtarla doğrulanabilen bir lisans anahtarı oluşturmaya çalışıyorsunuz. Bu, tüm mesaj şifreli olabilir (ve içeriğinin bir kısmının sihirle eşleştiğini doğrularsınız) veya sadece imzalı bir mesaj olabilir (ve imzanın geçerli olduğunu doğrularsınız). Uygulamanıza bağlı.
userx

9

Anahtar sistem birkaç özelliğe sahip olmalıdır:

  • çok az anahtar geçerli olmalı
  • geçerli anahtarlar, kullanıcının sahip olduğu her şeye rağmen türetilebilir olmamalıdır.
  • bir sistemde geçerli bir anahtar başka bir sistemde geçerli bir anahtar değildir.
  • diğerleri

Bunları size vermesi gereken bir çözüm, ortak anahtar imzalama şeması kullanmak olacaktır . Bir "sistem karması" ile başlayın (diyelim ki, herhangi bir NIC'deki, sıralı ve CPU-ID bilgilerinin yanı sıra diğer bazı şeylerde mac'ları alın, hepsini bir araya getirin ve sonucun bir MD5'ini alın (gerçekten olmak istemezsiniz) taşıma kişisel bilgileri bazı kayıt defteri anahtarı (veya bazı veri dosyası) blob için geçerli bir imzası vardır sürece)) boot CD seri numarası ve çöpün eklemeyi yoksa. Kullanıcı, blob'u size göndererek programı etkinleştirir ve imzayı geri gönderirsiniz.

Potansiyel konular, pratikte herhangi bir şeyi imzalamayı teklif ettiğinizden, birisinin seçilen düz metin ve / veya seçilen şifre metni saldırılarını çalıştıracağını varsaymanız gerekir . Bu, sağlanan seri numarasını kontrol ederek ve geçersiz olanlardan gelen talebi işlemeyi reddederek ve belirli bir s / n'den belirli bir sayıda sorguyu belirli bir aralıkta (yılda 2 diyelim) işlemeyi reddederek hafifletilebilir.

Birkaç şeye dikkat etmeliyim: İlk olarak, yetenekli ve kararlı bir saldırgan, sınırsız erişimi olan parçalarda ( yani CD'deki her şey) her türlü güvenliği atlayabilecek , bu hesapta yapabileceğiniz en iyi şey gayri meşru erişim elde etmeyi meşru erişim elde etmekten daha zor hale getirin. İkincisi, uzman değilim, bu nedenle bu önerilen şemada ciddi kusurlar olabilir.


1

İşleme çok sayıda adım ekleyen DRM davranışları da vardır. En iyi bilinen örneklerden biri, Adobe'nin Creative Suite kurulumunu doğrulama yöntemlerinden biridir. Burada tartışılan geleneksel CD Anahtarı yöntemi kullanılır, daha sonra Adobe'nin destek hattı denir. CD anahtarı Adobe temsilcisine verilir ve kullanıcı tarafından kullanılacak bir etkinleştirme numarası verir.

Bununla birlikte, adımlara bölünmesine rağmen, bu normal işlem için kullanılan aynı çatlama yöntemlerinin avına düşer. Orijinal CD anahtarına karşı denetlenen bir etkinleştirme anahtarı oluşturmak için kullanılan işlem hızla keşfedildi ve her iki anahtarı da içeren üreticiler oluşturuldu.

Bununla birlikte, bu yöntem hala internet bağlantısı olmayan kullanıcıların ürünü doğrulaması için bir yol olarak mevcuttur. İleride, internet erişimi her yerde olduğu için bu yöntemlerin nasıl ortadan kaldırılacağını görmek kolaydır.


1

CD'nin tamamı sadece koruma algoritmalarını dürüst kullanıcıları rahatsız ederken korsanlığa karşı hiçbir koruma sağlamaz.

"Korsan" sadece bir meşru cd ve onun erişim koduna erişmesi gerekir, o zaman n kopyalar ve onları dağıtabilirsiniz.

Kodu ne kadar kriptografik olarak güvenli hale getirdiğiniz önemli değildir, bunu CD ile düz metin olarak sağlamanız gerekir veya yasal bir kullanıcı yazılımı etkinleştiremez.

Çoğu güvenli şema, yazılım tedarikçisine, yazılımı çalıştıracak makinenin bazı ayrıntılarını sağlayan kullanıcıyı (cpu seri numaraları, mac adresleri, IP adresi vb.) İçerir veya yazılımı tedarikçi web sitesine kaydetmek için çevrimiçi erişim gerektirir ve karşılığında bir aktivasyon jetonu alırsınız. İlk seçenek çok fazla manuel yönetim gerektirir ve sadece çok yüksek değerli yazılımlar için buna değer, ikinci seçenek sahte olabilir ve sınırlı ağ erişiminiz varsa veya bir güvenlik duvarının arkasında kalırsanız kesinlikle sinir bozucu olur.

Genel olarak müşterilerinizle güven ilişkisi kurmak çok daha kolay!


0

Güvenli Lisanslama API'sını ( https://www.nuget.org/packages/SystemSoulLicense/ ) adresinden kullanarak Yazılım Projelerinizde kolayca kullanabilir ve uygulayabilirsiniz ( https'den güvenli lisans oluşturmak için masaüstü uygulamasını indirmeniz gerekir : / /www.systemsoulsoftwares.com/ ) 1. Sistem Donanımı (CPU, Anakart, Sabit Sürücü) tabanlı istemci yazılımı için benzersiz UID oluşturur (UID, bu benzersiz sistem için Özel Anahtar görevi görür) 2. Şifreli lisans dizesini istemci sisteme çok kolay göndermeye izin verir, Lisans dizesini doğrular ve bu belirli sistem 3 üzerinde çalışır. Bu yöntem, yazılım geliştiricilerinin veya şirketin yazılım / geliştirici / distribütör hizmetleri / özellikleri / istemcisi hakkında daha fazla bilgi depolamasına olanak tanır. 4. İstemci yazılımı özelliklerinin kilitlenmesi ve kilidinin açılması için kontrol sağlar. Değişen özelliklere sahip aynı yazılım için daha fazla sürüm yapma 5. Herhangi bir sayıda gün boyunca deneme sürümü hakkında da özen gösterir. 6. Kayıt sırasında DateTime'ı çevrimiçi olarak kontrol ederek Lisans zaman çizelgesini güvence altına alır. 7 Geliştiricilere tüm donanım bilgilerini açar 8.Geliştiricinin daha karmaşık güvenli kod yapmak için her lisanslama işleminde erişebileceği tüm ön-yapım ve özel işlevlere sahiptir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.