Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Uygulama güvenliği - USB Dongle koruma ve diğerleri
#21
@QuAdR çok teşekkürler. Çok güzel bilgiler.
Çok yaşa emi. Themida : Metin2 den aklımda kalan, ismini hatırlamadığım ama çok zorlu olduğunu hatırladığım bir sistemdi.

Söylediklerin şu aşamada biraz karışık duruyor. Hazır kullanmak kolaylık açısından iyi. Ancak örneğin asprotect ile işlenmiş bir uygulamayı çözen potansiyel olarak asprotect ile işlenmiş çoğu uygulamayı çmzecektir.

Kendimiz bir şeyler yapsak dediğiniz gibi bir çok yöntemi uygulasak uğraşan kişiyi bezdirir. Hele birde sadece çözmeye çalıştığı uygulamaya özel olduğunu anlarsa ve karşısına bir daha aynı yöntemi kullanmış uygulama çıkmayacağını anlarsa vazgeçebilir. Tabi hırs yapmazsa Smile Gördüğüm kadarıyla hepsi başlı başına konular ve üzerlerinde çalışmak gerekiyor. Şu an için yoğunlaşabileceğim konular değil. Ama notumu alıyorum.
Birde dongle tarafına bakalım. Dongle kullanımında "bak bakalım senin dongle mı?" diye basitçe karşılaştırmanın dışında ilgili uygulamayı paketleyerek koruma kullanılıyor. Bunu da dongle üreticisinin paketleyicisi sağlıyor. Yanlış mıyım?
Zaten uygulama etkin şekilde paketlenmese dongle emulatorlere gerek kalmazdı. Bu işte sanırım Safenet çok iyi. Rockey ve diğerleri bu işte nasıldır?
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#22
(04-11-2016, Saat: 14:06)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.@QuAdR hocam, peki program her başlatıldığında base address i değiştirebilsek? NOP, JUMP ile kırılma olaylarının önüne geçebilirmiyiz ?

Base adres değiştirmen bir şey ifade etmez zaten exe üzerindeki gerekli izinleri aldıktan sonra search and replace veya create edilen bir snıf veya form caption .... uniq bir takım şeylere bakılarak işlem yapılmaktadır.
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#23
(03-11-2016, Saat: 18:11)QuAdR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir cracker atasözü derki;
Hayat boş nopla($90) coş...

QuAdR hocam bir kaç deneme yaptımda ollydbg ile, bu nop ne güzel birşeymiş. Big Grin
One of the major software engineering challanges is managing change.
Cevapla
#24
(07-11-2016, Saat: 15:57)kimimben Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(03-11-2016, Saat: 18:11)QuAdR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Bir cracker atasözü derki;
Hayat boş nopla($90) coş...

QuAdR hocam bir kaç deneme yaptımda ollydbg ile, bu nop ne güzel birşeymiş. Big Grin

Hayatın anlamını keşfetmişsin...nop nop ver coşkuyu.
Bir defa bu işlere bulaştınmı her şeyi debug etme isteği doğar.
Hele bir debug edeyimde adam ne yapmış dersin Smile
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#25
QuAdR hocam mesajınız gözümden kaçmış.
Bir an merakla bakıp deneme yapmıştım.Çok bilinçli bir şekilde yapmadım tabi ki.
Teorikte ve pratikte bilmediğim bir sürü şey var.

Maksadım alet nasıl çalışıyor onu anlamak.
Bu konularda da yol gösteren, yönlendiren , yol haritası çizenler olduğu zaman öğrenmek çok daha güzel oluyor.
One of the major software engineering challanges is managing change.
Cevapla
#26
benim yazılım koruma yöntem şu lisans kontrol yaptırmıyorum pc özelikleri bir şifre oluşturuyorum bu şifre ile db ye bağlanmaya çalışıyorum bağlanıyorsa lisans var demektir bağlanamazsa lisans istemesi gerekiyor.
Cevapla
#27
(04-11-2016, Saat: 12:47)QuAdR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Asprotect örnek verdim.Kendiniz bir şeyler yapmayı düşünmeyip hazır bir şeyler ile devam etmek isterseniz şu an piyasada en iyi koruma sağlayan koruma motoru oreansın geliştirdiği themida ve winlicense dır.
Kendiniz bir şeyler yapmak isterseniz SMC (Self modifying code) ve overlay(Out section) metodlarını kullanabilirsiniz.
SMC runtime code bloklarını yeniden düzenleme işlemidir.
Overlay ise exe dosyalar sectionlardan oluşur ve bu section boyutları dosya içerisinde belirtilir.
Siz belirtilen exe boyutu üzerine yani dosyanın devamına kod yazarak bu kodu runtime da okuyarak kontrollerinizi yapabilirsiniz.
Overlay metodu ile önce exeyi derleyip bir compress işlemi yaptıktan sonra exe üzerine tekrar yazdırırsanız.
Eğerki exe decompress yani unpack edilirse bu veriler tekrar yazılmaz ise exe bozuk bir dosya haline gelecektir.
Yine buraya yazacağınız veriyi runtime da code bloğu silik bir exe ye belirli method çağrımları ile yazdırıp işlem bitiminde tekrar
sildirtebilirsiniz.Böylelikle debug edilse bile boş code bloğu ile karşılaşılacaktır.
Başka bir method ise exe içerisinde exe.Birinci exenin loader mantığı ile hafıza kontrolü yapıp ikinci exeyi direk kendi içerisinden hafızaya
açarak çalıştırmasıdır.Owner exe ile child exe yede birbirlerini kontrol ettirebilirseniz herhangi birine müdahale durumunda biri diğerine sonlanma isteği gönderebilir.Yine bu mantığa smc ve overlay de eklerseniz sağlam bir koruma sağlamış olursunuz.

Fikir olsun diye basit bir smc örneği vereyim.
program SMC;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
 SMCFunc: function: Integer;
{$J+}
const
 Code: array[0..5] of Byte = (
   //eax a bir değer alıp geri dönderelim
   $B8, $00, $00, $00, $00, $C3);
var
 FByte: Byte;

begin

 @SMCFunc := @Code;
 WriteLn('Su anki deger = ' + IntToStr(SMCFunc));
 WriteLn('Bir sayi giriniz (0-255)');
 ReadLn(FByte);
 Code[1] := FByte;
 WriteLn('Son deger = ' + IntToStr(SMCFunc));
 ReadLn;
end.

Tam olarak anlayamadığım bir durum var.
Uygulamaya önce lisans kontrolü yaptırmamız gerekecek. Yani lisans kodu/dosyası geçerli mi değil mi? "Eğer lisans geçerli ise devat et" ile daha önce bozduğumuz EXE yapısını uygulama açılırken tamir edeceğiz ve uygulamamız başarıyla çalışacak. Kod yapısının "Eğer lisans geçerli değilse devam et" olarak değiştirilmemesini de korumamız gerekecek. Bunun korunmasını nasıl sağlayacağız?
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#28
Burada biraz assambler bilgisi devreye giriyor.Yazdiginiz kodu derleyip kontrol yaptiginiz yerlerdeki byte uzunluklarini debug ederek bulup o uzunluk kadar program icerisinde memory alani ayirmalisiniz.Bu kodlarin guvenliginide yine bir kriptolama ile saglayabilirsiniz.Encrypt ederek exenin devamina yazarsiniz decrypt ederek istediginizde kullanip geri silersiniz.
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...





Cevapla
#29
Tamamdır, ben kontrol kısmının da sonradan yazılacağımı atladım.
Yalnız bu işi yapacakbkadar assembler da öğrenmek gerekecek.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ÇÖZÜLDÜ] Windows Service içerisinden başka uygulama çalışmasını kontrol etme theSinan 2 407 08-06-2019, Saat: 12:17
Son Yorum: elixir84
  Modern Servis Uygulama İskeleti Tuğrul HELVACI 20 2.294 13-02-2019, Saat: 11:00
Son Yorum: ssahinoglu
  restful servers guvenligi klavye 2 530 08-09-2018, Saat: 17:55
Son Yorum: klavye
Question Şifreleme yöntemleri güvenliği ? Mr.Developer 3 820 13-06-2018, Saat: 14:50
Son Yorum: Mr.Developer
  Uygulama derlenirken exe açık uyarısı hk yhackup 6 2.375 24-05-2018, Saat: 17:41
Son Yorum: narkotik



Konuyu Okuyanlar: 1 Ziyaretçi