Merhaba arkadaşlar elimde bir proje var. Bu projeyi yazdıktan sonra exe ' sini korumak istiyorum . Herhangi bir şekilde , disassembly edilmesini ya da cracklenmesini istemiyorum. Nasıl bir yol izlemeliyim ? Assembly ardına reverse engineering öğrenerek , bu tekniklerin nasıl yapıldığını görerek bunların ardına mı bir çalışma yapılmalı ? Ya da nasıl bir yol izlenmeli ?
Hazır sistemleri kullanmak istemiyorum , sonuçta elimde bir proje var ve bunu benim yaptığımı göstermem gerekiyor.Sistem online bir sistem olacak ve masaüstü uygulaması , web ile bağlantılı olacak .
Cracking , Disassembly ile Uğraşan Varsa Gelebilir mi?
4
●716
- 07-04-2017, 12:48:47cracked edilmemesini engelleyemezsin, sadece zorlastirabilirsin. Crackerlarin parolasi "calisan her sey kirilir."
Ancak coluk cocugun kirmasini istemiyorsan yapacagin belli basli isler var.
Oncelike neden her sey kirilir? cunku bir programin calismasi demek, bilgilerini memory e yazmasi demektir. Yazilan her sey okunabildigi icin de oradan hareketle her sey kirilabilir. Ancak daha guvenilir bir sistem icin dongle sistemini arastirabilirsin. Onemli olan anahtar-kilit sistemi kurabilmen. Boyle olursa, kilidi sadece tek anahtar acabilecegi icin cabalar beyhude olur.
Yazilimin cok degerliyse; bahsettigim dongle ile koruyabilirsin. Biz acrobat ve MS Office in güvenilir olarak kabul ettigi bir sertifika firmasiyla calisiyoruz dijital sertifika icin. Verdikleri sertifika bir dongle da yazili. Kullandiklari dongle da safenet in. Degisik urunler de mevcut HMS gibi (daha cok yasadigim ulkedeki devlet bu sistemi kullaniyor).
Dongle u manupüle eden yazilima dogru bilgieri vermedikce dongle a erismesi mumkun degil. Dongle bu durumda bizim bir anahtarimiz oluyor, ve kilidimizi o anahtar olmadan acamiyoruz. Haliyle en guvenilir yontem bu. Sen de gerekli olan bir bilgiyi bu sekilde dongle ile koruyup, gerekli bilgiler verilince, geri donderirsen programini en hat safhada korumus olursun. Cunku adamlar programi kirsalar bile ellerine bi sey gecemeyecek cunku anahtar dongle dan gelmedigi icin bir anlam ifade etmeyecek.
Daha acik ornek verirsem
ben yarin ...... gidiyorum.
ben yarin ve gidiyorum kelimeleri programinda olsun. .... ise dongle da olsun.
buradaki .... nin ne oldugunu nasil bulacaksin dongle a erismeden? O yüzden dongle dan o veriyi almadan bu cümle anlamli olmaz yani istenilen isi bize tam soylemez. Iste dongle i bu asamada kullanmak gerek. Dongle i hacklemek de o kadar kolay degil, iyi bir elektronik bilgin olmasi lazim. Ki bu sekilde crackingi dünyada yapacak insanlar sayilidir.
Bu isin profesyonel tarafi..
Yazilim korumaya gelince; hazir sistemler kullanmak istemedigini soylemissin ama bir obfuscator yazacak bilginin oldugunu dusunmuyorum. Zaten o kadar derin low-level programlama bilgin olsaydi bu konuyu acmamis olurdun.
O yüzden; hangi dille yaziyorsun bilmiyorum ama obfuscatorler iyi is yapiyorlar (her ne kadar piyasada cok iyi de obfuscatorler olsa da ornek: de4dot). Bir de isi daha zorlastiran packer lar mevcut. Ben sahsen themida yi tavsiye ederim. Bir cok dil icin kullanabilirsin
http://www.oreans.com/themida.php
Kodlama teknihi önemli olsa da iyi bir cracker icin cok sorun olmaz takip etme. En fazla isini zorlastirirsin. Bunlarla ilgili yiginla makale vardir, onlara girmek istemiyorum.
Dongle alternatifi olarak bu anahtar-kilit olayini webservis ile yapabilirsin. Webservis, dongle in yaptigi is gibi sana anahtari dondermesi yeterli. Bunu alabilmek icin de servise dogru bilgileri vermesi gerek. Kullanici adi sifre gibi. O da geriye token yollar vs. Bu token her yerde kullanilmasin istiyorsan da bir timestamp ekleyebilirsin ve icine cesitli bilgiler gomebilirsin ama yine de %100 guvenlik saglanamayabilinir. Ama piyasada profesyonel yazilimlarda bu sekil oauth2/oauth2 cozumler mevcut.
Dikkat edersen pek fazla kaynak kodlarini korumasiyle ilgili konusmadim. Cunku bir sekilde bu kisim cozulebilir ama diger kisimlerin cozulmesi cok kolay bir is degil.
kolay gelsin - 08-04-2017, 15:43:31Cevabınız için çok teşekkür ederim öncelikle. Bu işi öğrenmem gerekiyor hazır programları kullanmadan , çünkü bu projeyi sunup bu alanda kendimi geliştirmek istiyorum. Mühendislik öğrencisiyim. Zaten projeyi gönderdiğim adamlar da , benden bir demo yazmamı bu konu hakkında ki bilgi seviyemi ölçmek açısından istediklerini düşündüm işin açıkcası. Hani tam olarak hala nereden başlamalıyım bilmiyorum.ertan2002 adlı üyeden alıntı: mesajı görüntüle
- 08-04-2017, 20:17:38bahsettigin sey icin yapabilecegin cok fazla sey yok aslinda. Zaten buna "koruma" yöntemi diyen firmanin da gercekten vizyonu oldugunu dusunmuyorum.
Neyse, yapacagin is bu anlamda code skills ini gelistirmek olur.
https://simpleprogrammer.com/2015/03...ramming-books/
ayrica bu kitaplarii da okuyabilirsin
https://www.amazon.com/Crackproof-Yo.../dp/1886411794
https://www.amazon.com/Software-with.../dp/0977826805
ve son olarak bu konuda nasil kirma prensiplerini ogrenmen icin reverse engineering ogrenmen gerekiyor. Boylece onlarin yontemlerine karsi koyabilirsin en azindan bir kismini engelleyebilirsin. Yani yapman gereken reverse engineer kaynaklarina bakip nasil cracking yapildigini bul ve bunu nasil engelleyebilecegini coz. Her white hat hacker nasil bir hacker ise, programini iyi korumak isteyen kisi de bir cracker olmali.
Bahsettigin konu benim ilgimi cekmedigi icin (cunku boyle korumak cok salakca bana gore) bu konu hakkinda yazmaktan kaciniyorum ve daha iyi koruma yontemlerinden bahsettim.
Hangi alanda oldugunu belirtmedin, alan web ise, o cok farkli bir konu. Ama desktop app ise, pek yapilacak bir sey yok (kod yazma prensipleri acisindan)
neyse kolay gelsin