arkdaş doğru diyor vmprotect .net icin iyi üzerine eklemeler yapılarak zor hale kesinlikle getirilebilirvmprotect kullanabilirsin eğer para sıkıntın yoksa ve c++ kullanıyorsan geliştirdiğin uygulamada vmprotect priw vm alabilirsim
ek olarak eğer .net içinse dnguardada bakabilirsiniz
runtime obfuscation, encryption source içi şeyler daha yararlı olur dışardan kulanacağın obfuscatorlar biryere kadar etkili olabilirThermida vm protect gibi şeyler unpack ediliyor kolayca güclü bi obfuscator oneriniz var mı fiyatı farketmiyor?
dışardan kullanacağı çoğu şeyde etkili olur source içi şeylere gerek yok source içi olarak c++ ise lazy importer anti dump anti debug vb koyabilir c# ise anti debug anti dump vb gibi şeyler kullanabilir dışarıdan alacağı obf olmadanda bunların çoğu bir işe yaramaz nasıl bir yere kadar etkili oluyor hocamruntime obfuscation, encryption source içi şeyler daha yararlı olur dışardan kulanacağın obfuscatorlar biryere kadar etkili olabilir
LI Antidump bunlar basic şeyler çok dahja gelişmişlerinden bahsediyorum bendışardan kullanacağı çoğu şeyde etkili olur source içi şeylere gerek yok source içi olarak c++ ise lazy importer anti dump anti debug vb koyabilir c# ise anti debug anti dump vb gibi şeyler kullanabilir dışarıdan alacağı obf olmadanda bunların çoğu bir işe yaramaz nasıl bir yere kadar etkili oluyor hocam
nelerden bahsediyorsunuz açabilirmisiniz birazLI Antidump bunlar basic şeyler çok dahja gelişmişlerinden bahsediyorum ben
bu arkadaş mesela muntelem protectionu authlu bi projesi için istiyor, dışardan obfuscate etsen authun zayıf olsa ne yazar giden gelen packetler şifrelemek lazım integrity checks gerekirse memory checklerde dahilnelerden bahsediyorsunuz açabilirmisiniz biraz
Themida/VMProtect/Enigma vb. zaten bunları sağlıyor (Runtime Encryption hariç ve Runtime Encryption için yapılması gereken birçok şey var (Polymorphic/Metamorphic Engine gibi) bunun yanı sıra stabil olmasını da sağlamak zorunda. Genelde bunu RAT vb. için kullanırlar. Hilelerde "doğru" Unique Build için gereklidir ama Crâck için hatırı sayılır koruma sağlamaz. AHK gibi Loader içinde var olan kodları farklı şekillerde çalıştırmaya yarar (Code Mutation' un Runtime' da değişen hali gibi düşünebilirsin). Tabi senin bahsettiğin string vb. içinse (Xor gibi) evet bu gerekli en basit şeydir ve bu programlar zaten bunu sağlıyor.). Tabi çoğu kullanıcı bunları bilmediğinden sadece exe/dll' i programa sürükleyip kullanıyor. Doğru kullanmak için SDK ile Marker kullanmak gerekir. Ve bu korumaların sağladığı func/api' leri kendi programın içinde de çağırıp istediğin gibi kullanabilirsin. Yani kısacası Source içinde olanla dışarıdan kullandığın programlar arasında hiçbir fark yok, sadece nasıl kullanacağını bilmen lazım. İşin sonunda zaten bu programlar hazır bir Loader gibidir sadece senin programını kendi Loader' larının içinde koruyarak/değiştirerek çalıştırır.runtime obfuscation, encryption source içi şeyler daha yararlı olur dışardan kulanacağın obfuscatorlar biryere kadar etkili olabilir
hocam elinize sağlık çok güzel açıklamışsınız konuyu bildiğime göre vmprotecyin private vminde bunları yapıyolardı doğrumu bu konu hakkında bilginiz varmı acabaThemida/VMProtect/Enigma vb. zaten bunları sağlıyor (Runtime Encryption hariç ve Runtime Encryption için yapılması gereken birçok şey var (Polymorphic/Metamorphic Engine gibi) bunun yanı sıra stabil olmasını da sağlamak zorunda. Genelde bunu RAT vb. için kullanırlar. Hilelerde "doğru" Unique Build için gereklidir ama Crâck için hatırı sayılır koruma sağlamaz. AHK gibi Loader içinde var olan kodları farklı şekillerde çalıştırmaya yarar (Code Mutation' un Runtime' da değişen hali gibi düşünebilirsin). Tabi senin bahsettiğin string vb. içinse (Xor gibi) evet bu gerekli en basit şeydir ve bu programlar zaten bunu sağlıyor.). Tabi çoğu kullanıcı bunları bilmediğinden sadece exe/dll' i programa sürükleyip kullanıyor. Doğru kullanmak için SDK ile Marker kullanmak gerekir. Ve bu korumaların sağladığı func/api' leri kendi programın içinde de çağırıp istediğin gibi kullanabilirsin. Yani kısacası Source içinde olanla dışarıdan kullandığın programlar arasında hiçbir fark yok, sadece nasıl kullanacağını bilmen lazım. İşin sonunda zaten bu programlar hazır bir Loader gibidir sadece senin programını kendi Loader' larının içinde koruyarak/değiştirerek çalıştırır.
Bunlara ek olarak programın unpack edilmesi sandığınız kadar önemli bir konu değil. Crâck' de asıl korumayı sağlayan şey Virtualization' dur. Yani kodları istediğiniz kadar Mutation/Obfuscation vb. edin asıl korumayı sağlayan tek şey Virtualization Örnek olarak programı sadece Themida' ya sürükleyip packleyip kullanırsanız kodlarınızda herhangi bir Virtualization olmaz. Themida sadece kendi kodlarına Virtualization uygular ve sizin kodlarınızı da bunun arkasında korur. Ama SDK dahil edip hangi func/api' lerinizi Virtualization/Mutation yapmasını Marker ile belirtirseniz işte o zaman doğru şekilde kullanmış olursunuz. Ve unpack edilse de kaynak kodunuza ulaşması çok daha zor olur.
Custom LLVM ile birkaç yıl önce oluşturduğum bir test uygulaması bu ve gördüğün gibi bunu ilk gören kişi bunula mı uğraşıcam diyip cayabilir. Ama aslında yaptığı şey çok basit. Temelinde bu bir Obfuscation uyguluyor ve bunun yanında basit düzeyde Virtualization. Uygulama şekliyse kod bloğunun içinde birkaç blok daha oluşturmak. Kısa adıyla CFF (Control Flow Flattening). Çözümüyse basit, programı inceleyip oluşturulan her loopentry label' i takip eden store için otomatikleştirilmiş for döngüleri yeterli
Neyse işte sözün kısası bu programlar doğru kullanıldığı sürece yeterli korumayı sağlayacaktır, Cracklemek isteyen koruma ne olursa olsun yapabilir. Önemli olan kaynak kodunu korumaktır.