Şimdi Ara

derlediğim exeyi çözebilirler mi ? yazdığım kodlar başkasının eline geçer mi ? nasıl önlem alırım ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
15
Cevap
0
Favori
464
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba arkadaşlar. ben c++ ile bir program yazmaya çalışıyorum test etmeye yaklaştım. hobi olarak 1 yıldır uğraşıyorum oyun gibi bir şey multiplayer özellikli falan. ama kafama takılan bir şeyler var. hobi olarak yapıyor olsam da çalınırsa çok üzülürüm. o yüzden lütfen bana bir fikir verin :)


    1) derlediğim exeyi tersine mühendislik gibi yöntemler ile çözüp çalabilirler mi ? yani içindeki c++ ile yazılmış kaynak kodlarına ulaşabilirler mi ?
    2) eğer öyle ise bunu önlemek için ne yapmam lazım ?
    3) şifreleme mi yapmam lazım ? eğer şifreleme yapmam gerekirse nasıl yaparım ? ve şifrelemeden sonra program eskisinden daha mı yavaş çalışır ? ne derece yavaş çalışır ?
    4) exe dosyamın yanında kullandığım .obj türünde 3boyutlu veri dosyaları .png .jpg türünde resim dosyalarım var onları şifreleyebilir miyim ? şifrelemem gerekir mi sizce ?


    alta bilgileri yazim
    IDE: codeblocks
    compiler olarak: GNU GCC compiler seçili
    yazdığım dil c++
    kullandığım kütüphaneler: sdl ve sdl içinde opengl ve c++nın standart kütüphaneleri

    biraz uzun oldu ama kafamda deli sorular :)







  • seyfi84 S kullanıcısına yanıt
    dev aynasında gördüğüm yok. öğrenmek istediğim şu ki benim kendimce o kadar emek verdiğim şeyi 13 yaşındaki bir çocuk 5 dakikada ele geçirebilir mi ? yani atıyorum tabi ki kimse zamanını benim yaptığım şeyi çözmeye çalışmakla uğraşmaz ama 5 dakikada 1 günde çözülebilir bir şeyde olmasın ki böyle absürd bir durumda kalmayayım.
  • Kodu ve programi korumak yazilimin kendisinden ziyade hukukun isi. Eger programin sizin oldugunu ispat edebiliyorsaniz bosverin. Performanstan veya zamandan kaybetmeden programi kapali kutu yapmak cok mumkun degil. Hatta direkt olarak mumkun degil. Web sitelerinde javascript'i obfuscate ederler mesela cogu zaman, bakan anlamasin ve bandwidth'ten tasarruf edelim diye. Yine de kurtarmaz tabi, yeterince ugrasan kisi kodu okur. Obfuscation falan da isi yavaslatmaktan baska ise yaramaz. Sektorde milyon dolarlarca satan oyunlar, programlar sunlar bunlar cikiyor; 1 haftaya kalmadan kiriyorlar. Microsoft dahi olsaniz bir sey yapamiyorsunuz. Yapanlari bulup dava etmek vb. haricinde pek opsiyon yok.

    Bireysel olarak programi kiran ve kullanan kisiye yapacak cok bir sey yok.
    Kurumsal bir yapida programiniz veya oyununuz crackli surumle kullaniliyorsa dava acabilirsiniz (kazanirsiniz da).
    Baska biri programinizi kendisininmis gibi "satiyorsa" zaten ayvayi yemis demektir, dava acin, kazanirsiniz. O adamin satip da elde ettiginden fazlasini tazminat olarak verirler.

    Yazilmis kod sanat eseri statusunde Creative Commons lisansi veya Copyright altinda degerlendirilebiliyor. Bugun coca cola ismini kullanarak kendi uretiminiz olan kolayi satmaya calistiginizi dusunun? Cok kotu seyler olur sizin acinizdan. Bu da ayni mantik. Korkmayin yani.

    ---

    Bu arada; C++ derlendikten sonra makine koduna donusuyor. Makine kodunu C++'a geri ceviren bir arac var mi bilmiyorum. O is biraz zor. Genelde yapilan sey makine kodunun icinde ufak oynamalar yapip programi lisanssiz kullanmaya olanak hale getirmeye calismak vb. oluyor.



    < Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 6 Haziran 2018; 10:15:18 >




  • burda önemli olan yaptığın programın ne kadar prim getireceğidir. yani ilgi çekmeyen bir uygulamada kimse kod kırma işine bulaşmayacağı için öyle devam edersin ilgi çeken bir uygulama ise c++ c# vb ye göre kırması daha zordur. tabiki kodu obfuscator ile şifreleyip biraz daha avantajınız olur ben olsam şu an piyasada kırılması zor olan uygulamaların neyle korunduğunu öğrenip ona göre bende o programları bulup uygulamaya çalışırım
    mesela steinbergin cubase uygulaması zor kırılan bir uygulama veya aklıma tmpg video mastering works vardı crc cki çıkmamıştı
  • çok teşekkürler cevabın için. bir kaç araştırma yaptım dediğin gibi c++ derlenince çözmesi biraz daha zormuş sanırım javaya nazaran javada doğrudan makine diline çevrilmediği için daha kolaymış bulduğum link.

    c++ ile yazıyor güzel rastlantı oldu bana. zaten benim istediğim şey client-server ayrı ayrı iki exe derliyorum clienti millete vericem o clientin içinde serverın ipsi var orayı değiştirip de başka adamlar benim emek verdiğim şeyi kullanmasın istiyorum. ama performansı etkileyecekse hiç bulaşmayabilirim genede bu verdiğim linkteki gibi bir şeyi denemeli miyim gerçi bu linkte java ve .net dilleri için önermiş sanırım. ne dersin c++ için hiç uğraşmaya gerek yok mu değmez mi ?




  • Gökşen PASLI G kullanıcısına yanıt
    yorumun için çok teşekkürler hocam dediğin mantıklı bir kaç tane deneyip performansı etkiliyor mu diye test edicem sanırım. ilgi çeken bir uygulama kısmına gelirsek ben hobi olarak geliştirmeye çalışıyorum ama bir yandanda içten içe inanıyorum ilgi çekiceğine :) umut fakirin ekmeği işte :)
  • emrekaya413 E kullanıcısına yanıt
    Server-Client mantiginda calisan uygulamalarda cok daha kolaydir uygulamayi korumak. Kullanicidan giris yapmasini istersiniz, server'da adama oturum acarsiniz. Oturum olmadan islem yaptirmazsiniz. Suresi dolan lisanslara islem yaptirmazsiniz vb. Bunu bir arastirin, sonra kodlari millete dagitsaniz bile olur. Bunlar C++ ile nasil yapiliyor tam bilmiyorum ama IP'yi gizlemek icin programi obfuscate falan etmek istiyorsaniz o is kesinlikle oyle olmaz. Spotify'in IP'si ortada mesela. Ama bedava kullaniciysaniz oyle rastgele istekler atip sarkilari istediginiz gibi dinleyemiyorsunuz mobilde. Server izin vermiyor. O cesit bir yapi olusturun.

    "Permissions" olarak geciyor web terminolojisinde. Izniniz olmayan bir veriyi serverdan almaya calisirsaniz 403 Forbidden alirsiniz ya, o bunla saglaniyor. Siz de kendi programinizda server izin vermedigi surece veri yollamazsiniz, veri almazsiniz etmezsiniz. Kullanilamaz hale gelir program.

    --

    Cevabi 2. kez okudum da client'in kodlarini calip bastan server yazmak gibi ekstrem aktivitelere kimse girismez saniyorum.



    < Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 6 Haziran 2018; 16:7:31 >




  • C++'da source code ele gecirmesi zor. Diger arkadaslarin dedigi gibi imkansiz degil tabi, siz bunla ugrasmak yerine kalite kod yazarak bi proje cikarmaya bakin.
  • Ya şimdi söylemiyim diyorumda @seyfi84 sen ne boş adamsın ya. Boş boş yorum yapma artık trolleme şu konuları. Adam uğrasşmıs yapmış senin zoruna giden ne ?

    Sen çok biliyon ya ( halbuki 0 sın ) çok konuşan boş konuşandır boş konuşanda boş adamdır.

    Sen şu son mesajımı bir cevaplasanahttps://forum.donanimhaber.com/sinema-salonu-programim--132957692-2#133142899

    Seni bence forum uzaklaştırmalı yararsızsın ama ağzın boş durmuyor bir saniye.


    Konu sahibi @emrekaya33 arkadaş sana gelecek olursak c++ ile yapmış olman c# ye göre avantaj sağlar kırılması c# ye göre biraz daha zordur. İllaki kırılır ama hani öyle herkeste kırarım ederim dese de zordur. O yüzden profesyonel masaüstü programların çoğu c++ ile yazılır.

    Sana tavsiyem Google de "how to crack c++" gibi seyler yazıp araştırırsan illaki makale ve videolar görebilirsin. C++ de pek bilgim yok ama c# olsaydı kırılmasının 2 saniye olduğunu söylerdim.

    Bu arada başarılar ve kendini geliştirmeye devam etmen dileği ile.



    < Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 10 Haziran 2018; 5:51:21 >




  • quote:

    Orijinalden alıntı: OzMeN OzzY

    Ya şimdi söylemiyim diyorumda @seyfi84 sen ne boş adamsın ya. Boş boş yorum yapma artık trolleme şu konuları. Adam uğrasşmıs yapmış senin zoruna giden ne ?

    Sen çok biliyon ya ( halbuki 0 sın ) çok konuşan boş konuşandır boş konuşanda boş adamdır.

    Sen şu son mesajımı bir cevaplasanahttps://forum.donanimhaber.com/sinema-salonu-programim--132957692-2#133142899

    Seni bence forum uzaklaştırmalı yararsızsın ama ağzın boş durmuyor bir saniye.


    Konu sahibi @emrekaya33 arkadaş sana gelecek olursak c++ ile yapmış olman c# ye göre avantaj sağlar kırılması c# ye göre biraz daha zordur. İllaki kırılır ama hani öyle herkeste kırarım ederim dese de zordur. O yüzden profesyonel masaüstü programların çoğu c++ ile yazılır.

    Sana tavsiyem Google de "how to crack c++" gibi seyler yazıp araştırırsan illaki makale ve videolar görebilirsin. C++ de pek bilgim yok ama c# olsaydı kırılmasının 2 saniye olduğunu söylerdim.

    Bu arada başarılar ve kendini geliştirmeye devam etmen dileği ile.
    Hocam selamlar, merak ettim neden her mesajda seyfi denilen üyeye saydırıyorsunuz ?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Önüne gelene laf sokmaya calsıyor milletin hevesini kacırmaya calsıyor ama bilgisi 0 icraatı 0. Madem birilerinin ezilmesi gerekiyor ozaman o ezilsin değil mi ?

    birde bayağa sallıyor.



    < Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 18 Haziran 2018; 16:22:25 >
  • c++ ile yazılmış native kodlar disassemblerlar ile sembolik makine koduna geri dönüştürülebilir(objdump örneğin).
    objdump ile exe dosyadaki global değişkenlerin fonksiyonların symbol table entrylerine ulaşılabilir hatta .text .data .rdata gibi sectionlara da ulaşılabilir.Günümüz işletim sistemlerinde kodlar derlenirken compiler tarafından global fonkların değişkenlerin isimleri türleri symbol table'lara kaydedilir ilgili object dosya formatının,linker program ise relocation ve symbol table'lara bakarak address relocation dediğimiz işlemi gerçekleştirir,atıfta bulunulan global fonklar ve değişkenler sanal adreslere dönüştürülür/object module'ler birleştirilir ve çalıştırılabilir exe dosya üretilir.Uzun lafın kısası,
    global fonksiyonların ve değişkenlerin isimleri cisimleri symbol table'a kaydedilir buyüzden şifrelemenin bi faydası olmaz.işlemcinin makina komutlarına gelirsek zaten onları şifrelersen işlemci geçersiz komut olarak algılar ve içsel kesme oluşturur.DRM teknolojilerini kullanman gerekecek eskiden starforce vardı hatırlayanlar bilir yada denuvo.


    edit:DRM'ler bile kırılabiliyor,senin benim yazdığım programların da güvenliği pek yok



    < Bu mesaj bu kişi tarafından değiştirildi koccan9 -- 26 Haziran 2018; 10:19:5 >




  • ufak not:Derleyici yerel değişkenlerin isimlerini EBP yazmacına göreli olarak offsetlere dönüştürür yani onlar için entry girilmez symbol table'a.şuanki windows sistemlerinin exe formatı PE(Portable Executable) formatıdır,linuxunki ise elf formatıdır,bunlar COFF denen formattan türemişlerdir.
  • OzMeN OzzY kullanıcısına yanıt
    hocam çok özür bana bildirim gelmemiş. mesajlarınızı daha yeni gördüm. teşekkür ederim cevabınız için.
  • koccan9 kullanıcısına yanıt
    çok teşekkürler hocam. drm olayını araştıracağım eğer benim uygulayabileceğim kolay bir şey ise deneyebilirim. fifadan ismini biliyorum fifanın bir oyununda crack çıkartamamışlardı bu koruma yüzünden diye duymuştum. geç cevabım için kusura bakma daha yeni gördüm
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.