




Exe Güvenliği: Anti Unpacking, Anti Cracking, Anti Decompile
-
Merhaba Arkadaşlar,
Yazdığım programlar için hiçbir sürümünde unpacking'i bulunmayan bir exe koruyucu lazım. İyi olması kaydıyla ücretli de olabilir. Konuyla ilgili arkadaşlardan kısa sürede yanıt rica ediyorum.
Lisans yönetimi olması gerekmiyor. Sadece EXE'nin unpack edilmesini önlesin, kodları gizlesin, hafızayı korusun yeterli.
Şimdiye kadar denediklerim:
Aspack sürümleri: Unpack edilebiliyor.
Zprotect: Çin malı olunca güvenemedim. Pek güvenli görünmüyor.
Ionworx SecureCode: Bunu düşünüyorum ancak kodlama sırasında gerçek zamanlı koruma yapması zahmetli olabiliyor. En güvenli bu geldi. Amerikan hükümeti de bu standartlarda şifreleniyormuş.
Armadillo: Karışık, sıkıcı.
Exeshield: Lisans yönetimine ağırlık verilmiş.
-
ionworks tercihtir hocam...
fullunu bulabiliyormusun?
-
2003'ten beri güncellenmemiş ancak w*reze de düşmemiş. Bu açıdan güvenli görünüyor. Eğer onda karar kılarsam parasını verip lisansını alacağım. Anti unpacking konusunda ne kadar yetenekli bilgim yok. Bilginiz varsa verileri paylaşın değerlendireyim.
-
Öncelikle şunu kabullen, unpack edilemeyen, cracklenemiyen bir yazılım yazmak mümkün değildir, öyle olsaydı milyarlar eden devasa yazılımların keygenleri ortalıkta dolaşmazdı.
Sebebine gelince, exe yi istediğin kadar şifrele, eninde sonunda çalışma anında bu şifre çözülecek ve programın saf kodları belleğe açılacak, açılmasa zaten program çalışamaz, işte bir debugger ile, şifre çözüldükten sonra saf kod dump edilerek rahatlıkla crack edilebilir.
Packer için ölçüm kırılıp kırılamaması değil, ne kadar sürede kırılıp kırılabildiğidir. Ancak kodu tamamen değiştirip çorba yapan packerler de var. polymorphic packer ler böyledir, bir tane makina dili kodu için, aynı işi dolaylı olarak yapan 15 tane kod ekler, doğal olarak senin kodu anlaman 15-20 kat zorlaşır.
Örneğin, Mov eax, 0x100 için
Mov ebx, 0x80
Mov ecx, 0x80
Add ecx, ebx
Xor eax, eax
Add eax ,0x1
Imul ecxGibi karma karışık işlemler eklenir ve sonuçta eax e 0x100 eklenmiş olur ancak kodu okuyan adam bu kadar işlemin bunun için yapıldığını anlayamaz. Bunun da dezavantajları var, kodun büyümesi yavaşlaması gibi ama en güvenli packerler "polymorphic packer" lardır. Onları araştır.
Son olarak şunu söyleyim, çalışabilen herşey kırılabilir. Fazla da takıntı yapma, M$ , adobe vs. düşünsün.
-
Sanırım profesyonel bi programı packlemeyi düşünüyorsun,
lisanslı boyuttaki programlarla cok fazla uğraşmadım, bizimki daha cok hacking ve zararlı yazılımların pack unpack işlemi,
Daha önce bi mevzu geçmişti böyle, o zaman en güvenlisi olarak ionworks olarak karar kılmıştık...
-
Tugberk bunu yazdı:
-----------------------------
-----------------------------Tabi bide bu var :)
dün bi arkadaşla konuşuyorduk, .netin tüm kodlarını ne yaparsan yap kabak gibi ortaya cıktığını,
sonucta ne yaparsan yap bi yerde o makinanın anlayacağı hale dönüşecek...
şu anda konuştuğumuz mevzu, bunun bulunmasını geciktirmekten başka birşey değil...
-
Tugberk bunu yazdı:
-----------------------------
Öncelikle şunu kabullen, unpack edilemeyen, cracklenemiyen bir yazılım yazmak mümkün değildir, öyle olsaydı milyarlar eden devasa yazılımların keygenleri ortalıkta dolaşmazdı.
Sebebine gelince, exe yi istediğin kadar şifrele, eninde sonunda çalışma anında bu şifre çözülecek ve programın saf kodları belleğe açılacak, açılmasa zaten program çalışamaz, işte bir debugger ile, şifre çözüldükten sonra saf kod dump edilerek rahatlıkla crack edilebilir.
Packer için ölçüm kırılıp kırılamaması değil, ne kadar sürede kırılıp kırılabildiğidir. Ancak kodu tamamen değiştirip çorba yapan packerler de var. polymorphic packer ler böyledir, bir tane makina dili kodu için, aynı işi dolaylı olarak yapan 15 tane kod ekler, doğal olarak senin kodu anlaman 15-20 kat zorlaşır.
Örneğin, Mov eax, 0x100 için
Mov ebx, 0x80
Mov ecx, 0x80
Add ecx, ebx
Xor eax, eax
Add eax ,0x1
Imul ecxGibi karma karışık işlemler eklenir ve sonuçta eax e 0x100 eklenmiş olur ancak kodu okuyan adam bu kadar işlemin bunun için yapıldığını anlayamaz. Bunun da dezavantajları var, kodun büyümesi yavaşlaması gibi ama en güvenli packerler "polymorphic packer" lardır. Onları araştır.
Son olarak şunu söyleyim, çalışabilen herşey kırılabilir. Fazla da takıntı yapma, M$ , adobe vs. düşünsün.
-----------------------------Buna katılıyorum. Aradığım şey ortalama bir crackerın hazır unpackerlarla kıramayacağı, kodları yalın olarak görüntülemeyeceği şekle sokan bir sıkıştırıcı, şifreleyici, paketleyici... Yeterli zaman harcanırsa çalışabilen herşey kırılabilir evet ancak çalışma zamanını göreceli hale getirmek ve çalışmayı karmaşıklaştırmak da benim işim. Bir program önerisi var mı?
-
renegadealien bunu yazdı:
-----------------------------
Sanırım profesyonel bi programı packlemeyi düşünüyorsun,
lisanslı boyuttaki programlarla cok fazla uğraşmadım, bizimki daha cok hacking ve zararlı yazılımların pack unpack işlemi,
Daha önce bi mevzu geçmişti böyle, o zaman en güvenlisi olarak ionworks olarak karar kılmıştık...
-----------------------------Ionworx güçleniyor. Ancak sürümün neden 2003'ten beri güncellenmediği bir soru işareti oluşturuyor.
-
Bulabilirsen Safengine Protector'un çok başarılı olduğunu duymuştum.
Demoyu bir inceledim gerçekten başarılıymış :D (http://www.safengine.com/download/release.zip)
(Safengine Protector = www.safengine.com/en-us/products/protector)
Diğerlerinden;
Themida/WinLicense = www.oreans.com
RLPack = www.reversinglabs.com
EncryptPE = www.encryptpe.com
VMProtect = www.vmpsoft.com
Tugberk'e yüzdeyüz katıyorum. Bakınız: SecuROM, SafeDisc, StarForce ve niceleri..
Bu yazılımlar yeni cracker'ı zorlar uzman adamı güldürür..
ASPack,ASProtect,Armadillo,Exeshield,ExeCrypter gibi zımbırtıları hiç kullanma..
Ha birde ZProtect piyasaya göre güvenlidir :D
-
Kendinde bişeler ekleyebilirsin kodlar ile
- İşlemler listesini devamlı kontrol ettir. Zararlı yazılım açıksa kapatsın kendisini
- Orjinal programın boyutunu aldır, boyut da bir değişiklik olursa kapatsın kendisini. hata felan verdirtme
-
DE5TROY3R bunu yazdı:
-----------------------------
Kendinde bişeler ekleyebilirsin kodlar ile
- İşlemler listesini devamlı kontrol ettir. Zararlı yazılım açıksa kapatsın kendisini
- Orjinal programın boyutunu aldır, boyut da bir değişiklik olursa kapatsın kendisini. hata felan verdirtme
-----------------------------Orayı direk jump ile geçemezler mi?
Meraktan soruyorum.
Bir de bu cracking olayına, windows service ile çözüm bulmak en mantıklısı değil mi?
Program servisi kontrol etse, servisden bazı veriler programın çalışması için zorunlu olsa...
Hani illaki o da taklit edilir de, en kolay olarak en güvenli koruma bu değil midir?