Lisans İşlemleri
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 508
- Kayıt: 30 Oca 2004 10:49
Hasp konusunda benim de eklemek istediklerim var. Hasp' ın emulatorleri var. Emulatorle önce hasp daki bilgi okunuyor sonra hasp emulatoru çalıştırıyorsunuz. Sanki hasp takılı zannediyor. Emuleden hasp diye arayınca epey program çıkıyor.
Her zaman bir vâmuk-i azra olur alem bu ya,
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
eski tip (aladdin) hasp lar mikrodenetleyici ve bunun epromuna yazılan veririn program içinden check edilmesine dayanıyordu, aynı paralel port donglelardaki mantık, bu yüzden kırılması kolay oldu. yeni hasp hl ler asic chipler henüz kırıldığını duymadım. nette şu an için haspin simulatörünü görmedim ama tabi jmp ile kıranlar var ama 

.-.-.-.-.-.-.-. ^_^
-
- Üye
- Mesajlar: 508
- Kayıt: 30 Oca 2004 10:49
Eski yeni nesil bilmiyorum ama burda var.mege yazdı:eski tip (aladdin) hasp lar mikrodenetleyici ve bunun epromuna yazılan veririn program içinden check edilmesine dayanıyordu, aynı paralel port donglelardaki mantık, bu yüzden kırılması kolay oldu. yeni hasp hl ler asic chipler henüz kırıldığını duymadım. nette şu an için haspin simulatörünü görmedim ama tabi jmp ile kıranlar var ama
http://www........................htm
Kendilerini de lisans anlaşması ile güvenceye almışlar.

LICENSE AGREEMENT
HASP Emulator Professional Edition - it is intended ONLY for legal use, I.e. legal emulation HASP of keys of the protected programs according to the law about to protection of copyrights of the country in which you live or the international agreements.
Any use of the given program, breaking copyrights or international agreements, is not lawful.
ALL CIVIL And the criminal LIABILITY FOR ILLEGAL USE HASP Emulator Professional Edition LAYS ONLY ON the USER.
Authors of this program do not carry any responsibility for actions of users as - or breaking copyrights.
If you are not sure concerning your rights, please contact yours the local legal adviser.
HASP Emulator Professional Edition - it is distributed "AS IS", and also authors of the program do not carry what responsibility for failures in work of operational system or other failures of your computer or the software if they have taken place on fault of the emulator.
IF YOU USE HASP Emulator Professional Edition, WHAT OR IMAGE NOT APPROPRIATE to the GIVEN LICENSE AGREEMENT, ONLY AT OWN RISK.

Her zaman bir vâmuk-i azra olur alem bu ya,
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
linki vermenize gerek yoktu, dediğim gibi hardlockların yok dedim
hasplar eski modelleri. hatta bu programlara bile gerek yok eskilerinin bire bir kopyalarınıda yapabiliyorsunuz. 89xxx serisi bir mc ve bir seri e2prom var bu devreyi kurup mevcut epromu kopyalayarakta yapabiliyorsunuz 
sonuçta ne kullanılırsa kullanılsın koruma sisteminin ayağa düşmesi 1-2 seneyi buluyor, paralel port dongle lar neredeyse 10 yıl piyasada kaldı, usbler birkaç yılda çöpe gitti
sıra bunlarada gelecek. 


sonuçta ne kullanılırsa kullanılsın koruma sisteminin ayağa düşmesi 1-2 seneyi buluyor, paralel port dongle lar neredeyse 10 yıl piyasada kaldı, usbler birkaç yılda çöpe gitti


.-.-.-.-.-.-.-. ^_^
eğer net üzerinden bir onaylama yoksa hiçbiri tam işe yaramaz, hepsi kırılır. dongle ise uygulaması en kolay, biraz maliyetli ama şimdilik en güvenli yöntem.
kısaca

kısaca

deveyi sağlam kazığa bağlayıp cenabı Allah’a tevekkül edeceğiz

.-.-.-.-.-.-.-. ^_^
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Merhaba,
Debugger olup olmadığını anlamak için, bir keresinde deneme olarak bir kanal kullanmıştım. Eğer debugger varsa, kanala abuk bir komut verip, hem debuggerı hem de programı patlatmak mümkün. Ancak tehlikeli tavsiye etmem.
Ancak Armadillo diye bir program var. Bu program shareware korumak için yapılmış. Donanım kilidi ve debugger blocker özellikleri var.
Bu programla şifrelenmiş / korunmuş olan programları debuggerla açmaya kalktığınızda, itiraz edip kapatıyor.
Gerçi açılışta nasıl tespit ettiğini anlayamadım. Ancak bunu threadlerle nasıl yaptığıma dair örneği saklamışım.
İki tane threadim var birisi hiç bir iş yapmıyor ancak yalnızca debugger varsa ona habire duraklamasını söylüyor.
Şöyle ki :
Aslında bu kanalın adı şifreleme kanalı ancak tabi beceremediğim için denemenin ötesine geçemedi.
İkinci kanalım ise, debugger var mı diye kontrol ediyor:
Bir üye de açılışta debugger'ı nasıl tespit edeceğimizi söylerse belki bir şeyler yapılabilir. Hatta ASM'den anlayan birisi programın belki de işletim sisteminin bile çökmesini sağlayabilir. Ancak ne derece ahlaki olur o tartışmalı tabi ki.
Saygılar ve Başarılar.
Debugger olup olmadığını anlamak için, bir keresinde deneme olarak bir kanal kullanmıştım. Eğer debugger varsa, kanala abuk bir komut verip, hem debuggerı hem de programı patlatmak mümkün. Ancak tehlikeli tavsiye etmem.

Ancak Armadillo diye bir program var. Bu program shareware korumak için yapılmış. Donanım kilidi ve debugger blocker özellikleri var.
Bu programla şifrelenmiş / korunmuş olan programları debuggerla açmaya kalktığınızda, itiraz edip kapatıyor.
Gerçi açılışta nasıl tespit ettiğini anlayamadım. Ancak bunu threadlerle nasıl yaptığıma dair örneği saklamışım.
İki tane threadim var birisi hiç bir iş yapmıyor ancak yalnızca debugger varsa ona habire duraklamasını söylüyor.
Şöyle ki :
Kod: Tümünü seç
procedure TEncryptionThread.Execute;
begin
{ Place thread code here }
While DevamEt do
begin
DebugBreak;
end;
end;
İkinci kanalım ise, debugger var mı diye kontrol ediyor:
Kod: Tümünü seç
procedure TDebuggerKiller.Execute;
var
i : integer;
EncryptionThread : TEncryptionThread;
begin
{ Place thread code here }
Devamet := True;
i := 0;
While Devamet do
begin
If (IsDebuggerPresent > 0)
or (CheckRemoteDebuggerPresent > 0) then
begin
Inc(i);
Sleep(500);
If i >= 5 then
begin
Devamet:= False;
EncryptionThread := TEncryptionThread.Create(True);
EncryptionThread.Priority := tpHighest;
EncryptionThread.DevamEt := True;
EncryptionThread.Resume;
If not EncryptionThread.DevamEt then
begin
UygulamaKulpu := GetCurrentProcess;
DebugActiveProcessStop(UygulamaKulpu); //bu komut delphi debuggerını şaşırtıyor.
end;
end;
end;
end;
Terminate;
end;
Saygılar ve Başarılar.
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Arkadaşlar açılışta algılama işlemini de başardımAkin_Delphi yazdı: Bir üye de açılışta debugger'ı nasıl tespit edeceğimizi söylerse belki bir şeyler yapılabilir. Hatta ASM'den anlayan birisi programın belki de işletim sisteminin bile çökmesini sağlayabilir. Ancak ne derece ahlaki olur o tartışmalı tabi ki.
Saygılar ve Başarılar.



Formlardan birisinde initialization bölümü oluşturup aşağıdaki kodu yazıyorsunuz:
Kod: Tümünü seç
initialization
Deger := IsDebuggerPresent;
//Deger2 := CheckRemoteDebuggerPresent;
{If (IsDebuggerPresent > 0)
or (CheckRemoteDebuggerPresent > 0) then }
If (Deger > 0) or
(Deger2 > 0) then
begin
ExitProcess(1000);
end;
Ancak iki fonksiyonu birden kullandığınızda program debugger olmadığında bile basitçe açılmıyor. Neden acaba?
Bu arada önceki mesajımda söylemeyi unuttum. Bu üç fonksiyon Windows unitinde tanımlı değil. Onu kendiniz tanımlamanız gerekiyor. Şöyle ki :
Kod: Tümünü seç
var
Form1: TForm1;
Deger, Deger2 : Integer;
function IsDebuggerPresent:Integer;external'Kernel32';
function CheckRemoteDebuggerPresent:Integer;external'Kernel32';
function DebugActiveProcessStop(dwProcessID:DWORD):Integer;external'Kernel32';


debuggerlarında bu tip API ler için HideDebugger seçenekleri var
bu olmasada Debuggerla programı açıp ilgili apileri aratıp o kısımlara ufak bir yama yaparak halledilebiliyor
Şöyle bir laf vardır "Bir program çalışıyorsa kırılabilirde" yani sen eninde sonunda şifre kontrolünüde, debugger kontrolünüde, netten kontrolünüde kod olarak yapacaksın bu kodu şifrelesende sıkıştırsanda bu programın çalışması için yine ortaya çıkması lazım ve hazin son haa siz ne yapabilirsiniz adamların işini daha zorlaştırabilirsiniz. Programınızın değerine göre -ucuzdan pahalıya -
viewtopic.php?p=25222&highlight=#25222
yada
Sıkıştırma- koruma programları kullanabilirsiniz
(armadillo, asprotect, upx,...)
veya
megenin dediği gibi
tabii son çıkan tiplerini tercih etmek lazımdongle ise uygulaması en kolay, biraz maliyetli ama şimdilik en güvenli yöntem.
kısaca Very Happy
kolay gelsin
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
Arkadaşlar ben korumayı şöyle yapıyorum;
windows dizinine bir INI dosyası ve Registry e bir anahtar koyuyorum. Burada Donanım bilgileri Anahtar kelime ile şifreli bir şekilde kayıtlı. Başka bir dosyada da EXE dosyanın son halinin hash kodu var. Exe ye virüs bulaşsa ya da exe nin bir byte ını bile değiştirsen hash kodu tutmadığı için aynı şekilde ini veya registry içinde bir tutarsızlık varsa program kendini siliyor. Debugger ile editlenebileceği için değişken isimleride delphi fonksiyonlarına benzer isimler ve bir tek jmp komutu ile kırılacak bir şey değil. if komutu ile değil, case ile 5-6 yerde farklı şekillerde kontrol ediyor ve birinden geçemezse birinde takılıyor. Bunu 3-4 yıldır kullanıyorum, henüz kırıldığını görmedim. Bir tek if ile sakın koruma yapmayın, case te de şaşırtıcı değerler ve atlamalar koyabilirsiniz. Masraflı işlere gerek yok, hepsinin de çözümü var.
windows dizinine bir INI dosyası ve Registry e bir anahtar koyuyorum. Burada Donanım bilgileri Anahtar kelime ile şifreli bir şekilde kayıtlı. Başka bir dosyada da EXE dosyanın son halinin hash kodu var. Exe ye virüs bulaşsa ya da exe nin bir byte ını bile değiştirsen hash kodu tutmadığı için aynı şekilde ini veya registry içinde bir tutarsızlık varsa program kendini siliyor. Debugger ile editlenebileceği için değişken isimleride delphi fonksiyonlarına benzer isimler ve bir tek jmp komutu ile kırılacak bir şey değil. if komutu ile değil, case ile 5-6 yerde farklı şekillerde kontrol ediyor ve birinden geçemezse birinde takılıyor. Bunu 3-4 yıldır kullanıyorum, henüz kırıldığını görmedim. Bir tek if ile sakın koruma yapmayın, case te de şaşırtıcı değerler ve atlamalar koyabilirsiniz. Masraflı işlere gerek yok, hepsinin de çözümü var.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
s.a.
Arkadaşlar Exemod diye bir unit var, ve içinde birçok fonksiyon var
bu unit exe dosyalar üzerinde herşeyi yapıyor,
exe içine string, bilgi gömme, okuma, başka bit exe yi gömme, onu bu exe den çıkartma vss.
bu unit işinizi görür
kaynak : http://www.delphiturk.com
Arkadaşlar Exemod diye bir unit var, ve içinde birçok fonksiyon var
bu unit exe dosyalar üzerinde herşeyi yapıyor,
exe içine string, bilgi gömme, okuma, başka bit exe yi gömme, onu bu exe den çıkartma vss.
bu unit işinizi görür
kaynak : http://www.delphiturk.com