Bir tek makineye kurulum
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bir tek makineye kurulum
Merhabalar arkadaşlar;
Sizden bir konuda yardım istiyorumm bir program hazırladım herşey bitti ben bu programın sadece bir maikeneye kurulmasını istiyorum yani programı bir makineye kuracas sonra istense bile başka bir makineye program kurulsa bile çalışmayacak. bunu nasıl yapabilirim bu konuda görüşlerinize ve bilgilerinize ihtiyacım var şimdiden tşk ederim iyi çalışmalar herkese
Sizden bir konuda yardım istiyorumm bir program hazırladım herşey bitti ben bu programın sadece bir maikeneye kurulmasını istiyorum yani programı bir makineye kuracas sonra istense bile başka bir makineye program kurulsa bile çalışmayacak. bunu nasıl yapabilirim bu konuda görüşlerinize ve bilgilerinize ihtiyacım var şimdiden tşk ederim iyi çalışmalar herkese
Selamlar,
Donanımsal tedbir al bi tane Dungle Lock at makinanın ardına veya Network kartından MACID'yi al ve sadece O MACID ile çalışmasını sağla (Harcode) olarak programına göm.
Sadece tek makiğnada çalışır o zaman
Kolay Gelsin
Donanımsal tedbir al bi tane Dungle Lock at makinanın ardına veya Network kartından MACID'yi al ve sadece O MACID ile çalışmasını sağla (Harcode) olarak programına göm.
Sadece tek makiğnada çalışır o zaman

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Sadece MAC_ID ile olmaz çünkü yazılımsal olarak değiştirilebilir. En sağlam yöntem şimdilik dungle kullanmak. Takılı değilse ve içinde istediğin bilgiler yoksa çalışmaması. Unutmamak lazım ki bunların bile aşılabildiği söyleniyor
Kredi kartlarını okuyan/kopyalayan kore meşeli cihazlar gibi 


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kopyalamaya bile gerek yok. HASPEMU isimli bir program tüm cihazları emule edebiliyor. Programınıza basit bir koruma ekleyin (MAC adresi ve işlemci seri numarası gibi). Boşuna dongle için ücret ödeyip uğraşmayın. Çünkü kırmak isteyen illa ki kıracaktır. Forumda ararsanız bu konuda daha önce bol bol konuştuk.
ya afedersiniz ama mantığı kesinlikle kuramıyorum sizlerin söledikleri size mantıklı biliyorum ama ben kuramıyorum mantığı bu konu ile ilgili açılan başlıları okudum tamam onguardı kullanım diyelim makinenin hdd numarasın alıpğ key oluşturduk. ilk makineye kuruldu sorunsuz. ama elimizde ikinci bir maikne var aynı kurulumu yaptığımızda bu sefer de o makinenin hdd numarasını alacak kurulacak ve gene çalışacak sanırım ben mantığı kuramıyorum.
hadi kurulumda bir dosya oluşturduk ve bilgileri buna gömdük diyelim aynı dosyayı diğer bir makineye kurarkende oluşturacak vede gene çalışacak. Lütfen mazur görün çok çalıştım ve kafam almıyor sanırım bunun kısa yoldan bir çözümü varmı acaba?

- Merak edenlere başlangıç seviyesi basit bir lisans fonksiyonu yazayım. Kullanımı basittir.
- Sistem mantığını kurabilmeniz için basit anlatım amaçlıdır.
- Program klasörüne, program ile aynı isimde ama uzantısı XXX olan bir dosya koyun. İçeriği önemli değil.
- Projeniz; aynı kılasördeki XXX uzantılı dosyayı görürse anlar ki, kurulum modundasınız. Bu durumda bilgisayarın sabit disk volume seri nosunu okuyarak registry'e kaydeder ve bu XXX uzantılı dosyayı imha eder. Böylece bir anlamda program o HDD'ye mühürlenmiş olur.
- Not : GetPCCode fonksiyonu biraz geliştirilmiş bir fonksiyondur. Network sürücüsünden proje çalışsa dahi, çalışan değil çalıştırma yapılan PC'nin volume seri nosunu alır.
- Not 2 : Aynı bağlamda; Network altında bağlı bilgisayarların her birinin registry kaydına ayrı ayrı kayıt düşülebilmesi için, her seferinde ana makinedeki silinen XXX dosyasının yeni kopyası oluşturularak, aynı işlem diğer bağlı bilgisayarda çalıştırmak sureti ile aynı projenin iki ve daha fazla bilgisayara lisansı sağlanabilir. Her seferinde XXX dosyası otomatik silinecektir. Yani her silme işlemi ilgili bilgisayara kurulum yapılması demektir.
- Geriye kalan işlem ise, registry'den bu kaydın aranmasıdır. Aranan bilgi eğer güncel okunan HDD VolumeID ile uyumlu ise program çalışır, aksi halde uyarı mesajı verip sonlanır.
- Buraya kadar olan işlemleri kavradıktan sonra bu registry'ye kaydedilen veriyi CPU-ID, BIOS bilgileri vb. bilgilerle zenginleştirerek MD5 gibi bir algoritma ile encrypt ederek korumaya alabilirsiniz.
- Bir kaç adımlı tuzak başka işlem de eklerseniz, programınızı kopyalayan insanlara sıkıcı vakit geçirterek caydırma yoluna gidebilirsiniz.
- Mesela ben kendi projelerimin kırılmasına izin veriyor iken bir kaç adımla lisans verisi ile bunların teyidine bakıyorum.
- Eğer tutarsızlık varsa kullanıcı verilerinin yedekli birer kopyasını bulundurmak kaydı ile yavaş yavaş geriye dönük olarak eski bilgileri silmesini sağlıyorum.
- Bir süre sonra da bu silinen verilerini farkeden kullanıcı benimle temas kurmak veya soğuk su içmek zorunda kalıyor.
- Habersiz uyarısız yapılan bu işlemlerin tespiti imkansız diyebilirim. Program bug sanılabilen türden bir sonuç oluyor çünkü...

- Sistem mantığını kurabilmeniz için basit anlatım amaçlıdır.

- Program klasörüne, program ile aynı isimde ama uzantısı XXX olan bir dosya koyun. İçeriği önemli değil.
- Projeniz; aynı kılasördeki XXX uzantılı dosyayı görürse anlar ki, kurulum modundasınız. Bu durumda bilgisayarın sabit disk volume seri nosunu okuyarak registry'e kaydeder ve bu XXX uzantılı dosyayı imha eder. Böylece bir anlamda program o HDD'ye mühürlenmiş olur.

- Not : GetPCCode fonksiyonu biraz geliştirilmiş bir fonksiyondur. Network sürücüsünden proje çalışsa dahi, çalışan değil çalıştırma yapılan PC'nin volume seri nosunu alır.

- Not 2 : Aynı bağlamda; Network altında bağlı bilgisayarların her birinin registry kaydına ayrı ayrı kayıt düşülebilmesi için, her seferinde ana makinedeki silinen XXX dosyasının yeni kopyası oluşturularak, aynı işlem diğer bağlı bilgisayarda çalıştırmak sureti ile aynı projenin iki ve daha fazla bilgisayara lisansı sağlanabilir. Her seferinde XXX dosyası otomatik silinecektir. Yani her silme işlemi ilgili bilgisayara kurulum yapılması demektir.
- Geriye kalan işlem ise, registry'den bu kaydın aranmasıdır. Aranan bilgi eğer güncel okunan HDD VolumeID ile uyumlu ise program çalışır, aksi halde uyarı mesajı verip sonlanır.
Kod: Tümünü seç
program Project1;
uses
Forms,
Windows, SysUtils, Registry, Dialogs,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
// Uses'a Eklenecekler :
// Windows, SysUtils, Registry, Dialogs
function ProgramCalissin():Boolean;
function GetPCCode: string;
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
Flags : DWORD;
Dir, Buf : array [0..MAX_PATH] of Char;
FileSystem : array [0..15] of Char;
ErrorMode, i : Cardinal;
begin
Result := '00000000';
ErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
GetWindowsDirectory(Dir, SizeOf(Dir));
i := 0;
while (Dir[i] <> '\') and (i < MAX_PATH) do inc(i);
if i < MAX_PATH then inc(i);
Dir[i] := #0;
try
if GetVolumeInformation(Dir, Buf, SizeOf(Buf), @VolumeSerialNumber,
MaximumComponentLength, Flags, FileSystem, SizeOf(FileSystem)) then
begin
Result := IntToHex(VolumeSerialNumber, 8);
end;
finally
SetErrorMode(ErrorMode);
end;
end;
var
PCCode : String;
Reg : TRegistry;
begin
PCCode := GetPCCode();
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If FileExists( ChangeFileExt(Application.Exename, '.xxx') ) then begin
// 'Program Adı.xxx' dosyası varsa kurulum modundayız.
If Reg.OpenKey( '\SOFTWARE\xegelix', True ) then Reg.WriteString( 'PCCode', PCCode );
// Gerekli bilgi registry'ye kaydedilince bu dosyayı imha ediyoruz.
DeleteFile( ChangeFileExt(Application.Exename, '.xxx') );
end;
Result := Reg.OpenKey( '\SOFTWARE\xegelix', False ) AND (Reg.ReadString('PCCode') = PCCode);
Reg.CloseKey;
Reg.Free;
end;
begin
If ProgramCalissin then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end else begin
ShowMessage('Program Kopyalanmış. Çalışamaz....');
Application.Terminate;
end;
end.
- Bir kaç adımlı tuzak başka işlem de eklerseniz, programınızı kopyalayan insanlara sıkıcı vakit geçirterek caydırma yoluna gidebilirsiniz.
- Mesela ben kendi projelerimin kırılmasına izin veriyor iken bir kaç adımla lisans verisi ile bunların teyidine bakıyorum.
- Eğer tutarsızlık varsa kullanıcı verilerinin yedekli birer kopyasını bulundurmak kaydı ile yavaş yavaş geriye dönük olarak eski bilgileri silmesini sağlıyorum.
- Bir süre sonra da bu silinen verilerini farkeden kullanıcı benimle temas kurmak veya soğuk su içmek zorunda kalıyor.
- Habersiz uyarısız yapılan bu işlemlerin tespiti imkansız diyebilirim. Program bug sanılabilen türden bir sonuç oluyor çünkü...



üstat sölediklerini çok güsel bir şekilde uyguladım çalışıyor yanlız anlamadığım bişiy var. Şimdi setup cdmiz var bunu karşı tarafa verdik program bir malkikneye kuruldu dediğiniz gibi .xxx uzantılı bir dosya var bu kurulumda nese kurıuluyor ilk çalıştığında regedite kayıt yapılıyor ve dosya siliniyor bunu anladım. Ancak karşı tarafın elinde başka bir makine vede setup cdsi ve bunun içinde de xxx uzantılı dosya var başka bir makineye bu kurulum yapıldığında gene o dosya var kurulum yapılıp çalışrıtıldığında gene o makinenin regeditine key atar ve o makienede de çalışır yoksa yanılıyormuyum bu konuda aydınlatabilirmisiniz beni ?Şimdiden tşk ederim
Hocam boşuna "sihir beyinde" demiyoruz
Opsiyonların
1. XXX dosyasını şartlı ve arka fonda gizli olarak internetten indirtme yoluna gidebilirsin.
2. Kurulumu şahsen sen gidip kendin yapabilirsin
3. Bir tane de Disket verebilir, işlemden sonra format çektirebilirsin. Format başarılı olursa registry ayarı yaparsın ki, tersi durumda futboldaki gibi offside duruma düşmezsin
4. CD'den kurulum yapıldığında cd'nin seri nosunu da işin içine katarak XXX dosyasını unutup bunun yerine interneteteki bir PHP ile haberleşir, onay kontrollü kuruluma izin verdirebilirsin.
5. aklıma basit anlamda şimdilik yukardakiler geldi.
- Daha önce söylediğim gibi, halka açık olarak sunduğum bir metoddur, kavramsal olarak temel teşkil edebilir ama tek başına kullanılması direkt çözüm olarak bir şey ifade etmez...

Opsiyonların
1. XXX dosyasını şartlı ve arka fonda gizli olarak internetten indirtme yoluna gidebilirsin.
2. Kurulumu şahsen sen gidip kendin yapabilirsin
3. Bir tane de Disket verebilir, işlemden sonra format çektirebilirsin. Format başarılı olursa registry ayarı yaparsın ki, tersi durumda futboldaki gibi offside duruma düşmezsin

4. CD'den kurulum yapıldığında cd'nin seri nosunu da işin içine katarak XXX dosyasını unutup bunun yerine interneteteki bir PHP ile haberleşir, onay kontrollü kuruluma izin verdirebilirsin.
5. aklıma basit anlamda şimdilik yukardakiler geldi.
- Daha önce söylediğim gibi, halka açık olarak sunduğum bir metoddur, kavramsal olarak temel teşkil edebilir ama tek başına kullanılması direkt çözüm olarak bir şey ifade etmez...

Re: Bir tek makineye kurulum
S.a.
Hocam aradan baya bi Zaman geçmiş ama bana yeni lazım oldu. Uygulama çok güzel oldu fakat XP'deçalışmasına rağmen Win8'de olmadı. .xxx dosyayı siliyor ama registry kaydı olmuyor. Çözüm için yardımcı olabilir misiniz?
Hocam aradan baya bi Zaman geçmiş ama bana yeni lazım oldu. Uygulama çok güzel oldu fakat XP'deçalışmasına rağmen Win8'de olmadı. .xxx dosyayı siliyor ama registry kaydı olmuyor. Çözüm için yardımcı olabilir misiniz?
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....