Arşiv Anasayfa Delphi ipuçları
Sayfalar: 123
Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Cturk Tarih: 19 November 2007 22:53:17
Form'un OnCreate Olayına :
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption:=datetostr(date);//Güncel Tarih
Label2.Caption:='01.12.2007';//Belirlediğiniz Tarih
if strtodate(Label1.Caption)>strtodate(Label2.Caption)then
 begin
  showmessage('hata oluştu');
  halt;
 end
else
 if strtodate(Label1.Caption)=strtodate(Label2.Caption) then
   begin
    showmessage('Bu proğram Demo Sürümdür! Buğün Sonlanacak?');
   end
  else
   if strtodate(Label1.Caption)<strtodate(Label2.Caption)then
    begin
     form1.Show;
   end;
end;

Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: barutali Tarih: 19 November 2007 22:59:24
ufak projeler için güzel b yöntem ama orta ölcekli projeler için pek sağlıklı değil.. Ama güzel çalışma thanx
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: 4hm3t Tarih: 28 November 2007 09:51:27
eline sağlık kardeş harika bi paylaşım
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: SelçuK Tarih: 07 December 2007 16:32:01
Bu proje için bişey soracağım. Sistem saatini ileri alırsam ne olur Grin
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Cturk Tarih: 15 December 2007 00:52:19
[Time] prosödürü işlemediği için etkilemez sadece o günü bağlar!..........
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: kocaturk Tarih: 15 December 2007 01:22:49
 Smiley Smiley Smiley
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Akrep Tarih: 15 December 2007 03:41:24
Bu proje için bişey soracağım. Sistem saatini ileri alırsam ne olur Grin
İleri alırsan program çalışırken birşey olmaz, ama bir daha çalıştırmak istediğinde 7 ve 8'inci kod satırları işler. Ama her seferinde sistem tarihini geri alırsan, programı istediğin kadar kullanırsın Smiley
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: kocaturk Tarih: 15 December 2007 14:08:53
Bu proje için bişey soracağım. Sistem saatini ileri alırsam ne olur Grin
İleri alırsan program çalışırken birşey olmaz, ama bir daha çalıştırmak istediğinde 7 ve 8'inci kod satırları işler. Ama her seferinde sistem tarihini geri alırsan, programı istediğin kadar kullanırsın Smiley

Selçuğun soruyu sorarken ne kadar hınzırca sırıttığını fark etmedin mi akrep SmileSmile
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Cturk Tarih: 15 December 2007 22:34:30
Ama her seferinde sistem tarihini geri alırsan
............................bu sadece geliştirmeğe açık basit bir örnek;,o zaman proğramın içinden,basit bir hınzır kod ile(gün saydırılarak tuzak kurulur)sistem tarihi ile saati kontrol ettirilir ve..sistem tarihi geriye alınmağa kalkışıldığı an,günü dolmadan proğram stop!..Sonra geçeriz TV karşısına Tilki ile Karga'nın  çizgi Filim'ini seyrederiz!......
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Akrep Tarih: 15 December 2007 23:48:31
İşte gün saydıracak hınzır kodu programın içerisine koymazsan bizim de kodlar hakkında yorum yaparken o dediğini hesaba katmamızı bekleyemezsin @Cturk Smiley

Gelelim meseleye, ben TV'de "karga ile tilki" çizgi filmini izlemek istemiyorsam önce programı kapatır, sonra sistem tarihi ve saati ile oynarım. Böylece program, sistem saatiyle oynadığımı anlayamaz. Şimdi ne diyorsun? (devam et ki biraz beyin fırtınası yapalım, sonunda senin kazanacağını düşünüyorum o ayrı mesele Smile)
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Cturk Tarih: 16 December 2007 02:19:59
işin içinde "hınzırlık"(Burada Hacker'lere sitem ediyorum) olunca iş değişir,her türlü  hınzırlıklar hesaplanır ve Proğramı kapatıp sistem saatiyle oynandığı zaman yine o hınzır kod'lardan , öldürücü olanı(Harakiri) devreye girer ve Hınzır olmayan bir şeyden Habersiz Data'nın üstüne otomatik olarak anlamsız kodlar yazar ve Film biter Çünkü Proğram kapalıyken Sistem saatiyle oynanmıştır!?, Proğram açıldığı zaman olması gereken Tarihi kontrol eder ve değiştiğini.....!?.. ,olması gereken Tarihle  karşılaştırır,aynı değilse,proğram tam açılmadan,kendisini yok eder!...veee.... ondan sadece bir isim kalır......
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: kocaturk Tarih: 16 December 2007 02:41:45
Güzel, bu konu hoşuma gitmeye başladı fakat şöyle bir şey var, teori konuşmayın delphi ce yada kod ca konuşun, belki bu konunun ilerleyen cevaplarında kırılması güç bir algoritma ortaya çıkar ne dersiniz?
Ayrıca neyi nasıl kontrol ettiğin çok önemli değil, mühim olan kontrol mekanızmasının, ketum ve karmaşık olması. Cracker sistemin tarihi ile oynamaz ( Sadece Selçuk oynar SmileSmile ) senin kod içerisinde o kontrolu yapan byte ları siler ve senin program sağır,dilsiz,ve kör olur.
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Akrep Tarih: 16 December 2007 03:17:37
belki bu konunun ilerleyen cevaplarında kırılması güç bir algoritma ortaya çıkar ne dersiniz?
Ben de onu sağlarız belki diye karşıt görüş bildirdim Smiley Ve devam ediyorum;

Sevgili @Cturk, şimdi diyorsun ki program kapandığında başka bir program sistem tarihinin değişip değişmediğini kontrol eder.. Ama bu "demo program" mantığından ziyade "zararlı yazılım" mantığına dönüşmüş olur. Çünkü açıp kapatabildiğimiz bir program var ortada, ama ona yardımcı olmak ve tarihi değiştirdiğimizde asıl demo programa ispiyonlamak amacıyla yazılmış ve sürekli çalışan (muhtemelen gizli) bir program daha.

Bu iki program mantığı bence yazılımlar arası bir savaş olacaksa tartışması zevkli olabilecek yeni bir konudur. Ama şu açıdan düşünelim; bir demo program yapıyoruz ve "cracker" olacak seviyede olmayan bir bilgisayar programcısı (delphi) bu demo'yu ne yaparsa sürekli çalışmak konusunda ikna edebilir?  Smiley

Programı kapattıktan sonra sistem tarihini geri aldığım için hala ben öndeyim. Tartışmayı  daha zevkli hale getirmek için isterseniz Cturk'un ilk mesajındaki kodlarda bulunan 01.12.2007 tarihi gibi değil de, 10 günlük deneme versiyonu şeklinde yapalım isterseniz. Kullanıcı ne yaparsa yapsın 10 gün sonra programa mortu çektirecek olan algoritmayı bulmaya çalışalım... Ama "belirli bir tarih vererek de aynı mortu çektiririz.." derseniz ona da devam edebiliriz.
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: Cturk Tarih: 16 December 2007 15:28:43
Evet basit bir örnek nerelere geldi..bu kadar önemli olacağını tahmin edemedim?..ortada bir örnek var? Geliştirmek yeni öğrenmek isteyenlere kalmış, aslında bu küçük örnekten büyük projeler doğar!?..eğer daha ayrıntılı tam olarak verilse o zaman bu tür sitelere gerek kalmaz ,profesyonel ustalar kodları yazar..uygulamak isteyenler hazır kodları alır ve proğramcı olur!!?? (Amme hizmeti yapıyoruz ya!!!!!).
Ynt: Proğramınız Belirlediğiniz Tarihe Kadar çalışsın!. Gönderen: dameon Tarih: 16 December 2007 17:33:24
save "app start time" and "app end time". Next time when user run app compare time with last "app end time". If less show user error and exit. This way you can force user to keep time up to date.

OR

Maintain counter, everytime before exiting from app, add : (AppStartTime-AppEndTime) in counter. So you know how long app run...

Smart user can change time before exiting, so little improvement is, save in btw...
 Smile

--------------------------------------------------------------------------------------------------------------------------------
Türkçesi :

Programınızın "başladığı zamanı" ve "sonlandırıldığı zamanı" kaydedin.Bir sonraki program çalıştırılışındaki "sonlandırıldığı zaman" ile önceki değerleri karşılaştırın.Eğer küçük bir değer çıkarsa Tarih geri alınmış demektir , o zaman hata verin ve programdan çıkın.Böylece kullanıcıyı sistemin tarih/saatini güncel tutmaya zorlamış olursunuz...

veya

Bir counter (sayaç) oluşturun , program sonladırılmadan hemen önce programın "başlangıç zamanı" ile "sonlandırılma zamanı" farkını alıp bu sayaca ekleyin , böylece programın ne  kadar süre kullanıldığını tesbit edebilirsiniz...Fakat akıllı kullanıcılar programdan çıkmadan önce sistemin zamanını değiştirebilirler Smile
Bu yüzden mesela programın ortalarında bir yerlerde de değerler kaydedebilinir.

----------------------------------------------------------------------------------------------------------------------
Not : Yukarıdaki yazı bir siteden alıntıdır...