Nasıl bir koruma koyabilirim ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Nasıl bir koruma koyabilirim ?
Ustalarım kolay gelsin programıma hwid koruması koymak istiyorum ama söyle bir sorunum var hangi foksiyonu kullanırsam kullanim işletim sistemi değiştiğinde hwid aynı kalmıyor. Söyle anlatayım örneğin harddisk seri numarası ile hwid alıyorum adam xp ye döndüğünde o numara değişiyor. Netteki çoğu foksiyonu denedim olmadı. Varmı önerebileceğiniz bir foksiyon yada yöntem şimdiden teşekkür ederim...
Re: Nasıl bir koruma koyabilirim ?
Merhaba,
Sabit disk için format seri numarası ve donanım seri numarası vardır. Eğer siz format seri numarası kullanıyor iseniz işletim sistemi değiştiği zaman yüksek olasılıkla formatlanarak yeni işletim sistemi yükleneceği için değişir. Öncelikle buna dikkat edin. Format seri numarası DOS komut isteminde DIR komutunu kullandığınız zaman ilk sıralarda yazar
Yukarıda "Volume Serial Number is" ifadesinden sonraki seri numarası her bir format sonrasında değişir.
Donanım seri numarasını ancak sabit diski bilgisayar içindeki yerinden çıkararak üzerindeki etikete bakarak tespit edebilirsiniz.
Her halukarda kullanıcı farklı bir disk üzerine işletim sistemi kurması halinde seri numarası değişmiş olacaktır. Bu durumda zaten sizin uygulamanız koruma çerçevesinde çalışmayarak ekrana sebebini belirtir bir mesaj vermesi gerekir.
Ayrıca, unutulmamalıdır ki günümüzde sanal işletim sistemi kurmak eskiden olduğundan çok daha kolaydır. Bu anlamda donanım üzerinden kurulmaya çalışılan bir koruma sanal işletim sistemi üzerinde anlamsız hale gelebilir.
Son olarak, administrator yetkisi gerekmeden farklı donanım bilgilerini okuyabilen aşağıdaki ücretsiz kütüphaneyi kullanabilirsiniz.
https://github.com/RRUZ/tsmbios
Örnek uygulamalar kullanımı konusunda yeterince açıklayıcı olmaktadır.
Sabit disk için format seri numarası ve donanım seri numarası vardır. Eğer siz format seri numarası kullanıyor iseniz işletim sistemi değiştiği zaman yüksek olasılıkla formatlanarak yeni işletim sistemi yükleneceği için değişir. Öncelikle buna dikkat edin. Format seri numarası DOS komut isteminde DIR komutunu kullandığınız zaman ilk sıralarda yazar
Kod: Tümünü seç
C:\Users\Ertan>dir
Volume in drive C has no label.
Volume Serial Number is 26D9-2370
Directory of C:\Users\Ertan
19/10/2017 16:50 <DIR> .
19/10/2017 16:50 <DIR> ..
Donanım seri numarasını ancak sabit diski bilgisayar içindeki yerinden çıkararak üzerindeki etikete bakarak tespit edebilirsiniz.
Her halukarda kullanıcı farklı bir disk üzerine işletim sistemi kurması halinde seri numarası değişmiş olacaktır. Bu durumda zaten sizin uygulamanız koruma çerçevesinde çalışmayarak ekrana sebebini belirtir bir mesaj vermesi gerekir.
Ayrıca, unutulmamalıdır ki günümüzde sanal işletim sistemi kurmak eskiden olduğundan çok daha kolaydır. Bu anlamda donanım üzerinden kurulmaya çalışılan bir koruma sanal işletim sistemi üzerinde anlamsız hale gelebilir.
Son olarak, administrator yetkisi gerekmeden farklı donanım bilgilerini okuyabilen aşağıdaki ücretsiz kütüphaneyi kullanabilirsiniz.
https://github.com/RRUZ/tsmbios
Örnek uygulamalar kullanımı konusunda yeterince açıklayıcı olmaktadır.
Re: Nasıl bir koruma koyabilirim ?
hocam cevap verdiğiniz için çok teşekkür ederim. Etiketin üzerinde yazan seri numarası hd tune programı ile okunuyor o yüzden ondan örnek vermiştim. Birde hocam bu eklentide bir çok cihazın seri numarasını veriyor ama değişmiyen varmıdır bir bilginiz var ?
Re: Nasıl bir koruma koyabilirim ?
Detaylı test etmeniz gerekli. Ben "CPU Clock" değerinin değişebildiğini zor yoldan öğrenmiştim. Bu sebepten "şu sabittir" demek istemem.
Re: Nasıl bir koruma koyabilirim ?
Bu konuda daha önce de konuşulmuştu, arama yapabilirseniz daha farklı bilgiler edinmeniz mümkün olur.
Korumaya karşı temel görüşüm şöyle, yeterki kopyalayıp kullanmaya değer bir yazılım geliştirin. Yeterli kopyalansın, çoğalsın, yaygınlaşsın. Tam mikisoft mantığı. Korumaya harcayacağınızı zamanı, yazılımınızı daha iyi hale getirmeye çalışarak harcayın.
Uygulamanız içine rastsal zamanlarda hangi IP'de, kaç kullanıcı, hangi tanımlar ile çalıştığını bir yere email atan / gönderen bir kod ekleyebilirsiniz.
Korumaya karşı temel görüşüm şöyle, yeterki kopyalayıp kullanmaya değer bir yazılım geliştirin. Yeterli kopyalansın, çoğalsın, yaygınlaşsın. Tam mikisoft mantığı. Korumaya harcayacağınızı zamanı, yazılımınızı daha iyi hale getirmeye çalışarak harcayın.
Uygulamanız içine rastsal zamanlarda hangi IP'de, kaç kullanıcı, hangi tanımlar ile çalıştığını bir yere email atan / gönderen bir kod ekleyebilirsiniz.
Re: Nasıl bir koruma koyabilirim ?
Program koruma ile ilgili olarak bir topic;
viewtopic.php?f=2&t=34264&p=185519#p185519
Gözlemlerine göre ;
- Windows işletim sistemi değişikliklerinde numara değişmiyor.
- Sanal bilgisayarlarda ise makine çoğaltmalarında yada disk kopyalamalarında numara değişiyor. Sanalla ilgili diğer bir husus, programın sanalda mı yoksa reel demi çalıştığını anlayabilen kodlar var.
Bence en stabil ve sorunsuz kullanılabilen fiziksel disk numarası.
viewtopic.php?f=2&t=34264&p=185519#p185519
Gözlemlerine göre ;
- Windows işletim sistemi değişikliklerinde numara değişmiyor.
- Sanal bilgisayarlarda ise makine çoğaltmalarında yada disk kopyalamalarında numara değişiyor. Sanalla ilgili diğer bir husus, programın sanalda mı yoksa reel demi çalıştığını anlayabilen kodlar var.
Bence en stabil ve sorunsuz kullanılabilen fiziksel disk numarası.
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Re: Nasıl bir koruma koyabilirim ?
Merhaba,loaded yazdı: ↑27 Eki 2017 09:20 Program koruma ile ilgili olarak bir topic;
viewtopic.php?f=2&t=34264&p=185519#p185519
Gözlemlerine göre ;
- Windows işletim sistemi değişikliklerinde numara değişmiyor.
- Sanal bilgisayarlarda ise makine çoğaltmalarında yada disk kopyalamalarında numara değişiyor. Sanalla ilgili diğer bir husus, programın sanalda mı yoksa reel demi çalıştığını anlayabilen kodlar var.
Bence en stabil ve sorunsuz kullanılabilen fiziksel disk numarası.
Örnek kod Windwos WMI servisini kullanıyor. Eğer bu servis kapalı olur ise bilgilere erişmek mümkün olmayacaktır. Mümkün mertebe işletim sistemi servislerine bağlı kalınmadan öğrenilebilecek bilgiler lisanslama işleminin daha sağlıklı olmasını sağlayacaktır.
Sanal sistemler ile ilgili, yanlış bilmiyor isem sanal sistem işletim sistemini donanımdan tamamen koparıyor. Yani İşletim sistemi sanal sistem tarafından sağlanan donanım bilgileri ile çalışıyor. Bilgim dahilinde fiziki disk numarası da bunlardan birisi. Az önce test ettiğimde BIOS bilgilerinin dahil sanal ortamda değiştiğini gördüm.
Bu bilgiler ışığında şahsen bir lisanslama sisteminin günümüzde tek bir parametre üzerinden değil birçok farklı parametre üzerinden ve mümkün mertebe işletim sistemi servislerine bağımlı olmadan yapılması gerektiğine inanıyorum. Ek olarak internet erişimi olan uygulamalar için aynı kontrollerin yanına lisans sorgulama webservisi kullanılmasını ek güvenlik olarak önerebilirim.
Son olarak, kırılamayacak uygulama olmadığını bilip makul seviyelerde bir koruma elde edildiğine inanıldıktan sonra esas uygulamanın geliştirilmesinin şahsen çok daha faydalı olacağına inanıyorum.
Re: Nasıl bir koruma koyabilirim ?
aynen öyle hocam dediğiniz gibi yapıcam. Programa ağırlık vericem...ertank yazdı: ↑27 Eki 2017 04:59Merhaba,loaded yazdı: ↑27 Eki 2017 09:20 Program koruma ile ilgili olarak bir topic;
viewtopic.php?f=2&t=34264&p=185519#p185519
Gözlemlerine göre ;
- Windows işletim sistemi değişikliklerinde numara değişmiyor.
- Sanal bilgisayarlarda ise makine çoğaltmalarında yada disk kopyalamalarında numara değişiyor. Sanalla ilgili diğer bir husus, programın sanalda mı yoksa reel demi çalıştığını anlayabilen kodlar var.
Bence en stabil ve sorunsuz kullanılabilen fiziksel disk numarası.
Örnek kod Windwos WMI servisini kullanıyor. Eğer bu servis kapalı olur ise bilgilere erişmek mümkün olmayacaktır. Mümkün mertebe işletim sistemi servislerine bağlı kalınmadan öğrenilebilecek bilgiler lisanslama işleminin daha sağlıklı olmasını sağlayacaktır.
Sanal sistemler ile ilgili, yanlış bilmiyor isem sanal sistem işletim sistemini donanımdan tamamen koparıyor. Yani İşletim sistemi sanal sistem tarafından sağlanan donanım bilgileri ile çalışıyor. Bilgim dahilinde fiziki disk numarası da bunlardan birisi. Az önce test ettiğimde BIOS bilgilerinin dahil sanal ortamda değiştiğini gördüm.
Bu bilgiler ışığında şahsen bir lisanslama sisteminin günümüzde tek bir parametre üzerinden değil birçok farklı parametre üzerinden ve mümkün mertebe işletim sistemi servislerine bağımlı olmadan yapılması gerektiğine inanıyorum. Ek olarak internet erişimi olan uygulamalar için aynı kontrollerin yanına lisans sorgulama webservisi kullanılmasını ek güvenlik olarak önerebilirim.
Son olarak, kırılamayacak uygulama olmadığını bilip makul seviyelerde bir koruma elde edildiğine inanıldıktan sonra esas uygulamanın geliştirilmesinin şahsen çok daha faydalı olacağına inanıyorum.
Re: Nasıl bir koruma koyabilirim ?
https://sourceforge.net/projects/tponguard/
bunu kullanabilirsin
bunu kullanabilirsin
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Nasıl bir koruma koyabilirim ?
Eğer farklı donanım veya sistem bilgilerine de ihtiyaç doğarsa WMI sorgulamalarıyla bunları elde etmek mümkündür. WMI Delphi Code Creator projesi bu sorguları hazır oluşturan bir yapıya sahiptir. Mesela sistemde bulunan disklerin seri numaralarını listeleyen aşağıdaki kod bu paket tarafından oluşturuldu.
Kod: Tümünü seç
//-----------------------------------------------------------------------------------------------------
// This code was generated by the Wmi Delphi Code Creator (WDCC) Version 1.9.9.350
// http://code.google.com/p/wmi-delphi-code-creator/
// Blog http://theroadtodelphi.wordpress.com/wmi-delphi-code-creator/
// Author Rodrigo Ruz V. (RRUZ) Copyright (C) 2011-2015
//-----------------------------------------------------------------------------------------------------
//
// LIABILITY DISCLAIMER
// THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.
// YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS,
// DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE.
//
//----------------------------------------------------------------------------------------------------
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
ActiveX,
ComObj,
Variants;
// The Win32_ComputerSystemProduct class represents a product. This includes
// software and hardware used on this computer system.
procedure GetWin32_PhysicalMediaInfo;
const
WbemUser ='';
WbemPassword ='';
WbemComputer ='localhost';
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin;
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_PhysicalMedia','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
Writeln(Format('SerialNumber %s',[VarToStr(FWbemObject.SerialNumber)]));// String
Writeln(Format('Tag %s',[VarToStr(FWbemObject.Tag)]));// String
Writeln('');
FWbemObject:=Unassigned;
end;
end;
begin
try
CoInitialize(nil);
try
GetWin32_PhysicalMediaInfo;
finally
CoUninitialize;
end;
except
on E:EOleException do
Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
on E:Exception do
Writeln(E.Classname, ':', E.Message);
end;
Writeln('Press Enter to exit');
Readln;
end.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .