lostyazilim
tr.link

masaüstü yazılım (web servise bağlı) kaynak kodu korumak?

16 Mesajlar 2.303 Okunma
acebozum
tr.link

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Stanley Oyunlarda hile yazmanın mantığı da bu zaten, bellekteki bazı adreslere erişip manipüle ediyorlar. İşlemci konusu her babayiğidin harcı değil ama evet o da mümkün.

Ayrıca sadece bellek ve işlemci değil ağ trafiği izlenerek de o çok gizli verilerin elde edilebilir, hatta HTTPS trafiği bile. Zaten senin senaryonda ilk ağ iletişimi izlenir, çok gizli şifreli kısmı alıp programın içinde nasıl şifreyi çözüyorsan öyle çözerler, sonra isterlerse API'ni kullanıp yeni bir uygulama bile yazarlar.

Örneğin ben spor salonunun mobil uygulamasını beğenmeyince istekleri izleyip API'yi çözüp kendi masaüstü uygulamamı yazmıştım. Onca sözde güvenlik tedbirine rağmen.

Dediğim gibi uygulamanın tamamını veya bir kısmını şifreleme ihtiyacı duyuyorsan burada bir şeyler ters gidiyordur. Kullanıcıya verdiğin hiçbir şeyi şifrelememen gerekir (istisnalar olabilir; bulut servisleri, stream servisleri, bankacılık hizmetleri vs vs.)

Sanırım genç birisin, sana tavsiyem OOP, MVC, MVVM, DDD, DI, IoC, CI/CD gibi onlarca (fullstack olduğunu varsayıyorum) konuyu aradan çıkartman lazım. Mimarisi güçlü yazılımı sadece bilgisi olan en fazla incelemek için açar, bir şeyler çalmak veya kopyalamak için uğraşmaya değmez.
Stanley

kişi bu mesajı beğendi.

no time for caution
elektronikssl
webimgo

RespectionS RespectionS Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 14.08.2019
  • Yaş/Cinsiyet 26 / E
  • Meslek Full-Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad S** Ç**
  • Mesajlar 518
  • Beğeniler 1 / 188
  • Ticaret 5, (%100)

Stanley adlı üyeden alıntı

RespectionS KamilHanci Decimas AhmetKarabulut Öncelikle cevaplarınız için teşekkür ederim. Programın bazı önemli kısımlarını şifreli olarak apiden çekip programın şifreyi çözüp çalıştırması şeklinde güvenliği sağlamayı düşünüyorum. Bu düşünce mantıklı mıdır?

Aslında beni rahatsız eden bir husus şu; birkaç yerde şunu gördüm. Program çalışırken ram'de ve işlemcide kod blokları çalıştığı için isteyen kişi web'den veri çeksen bile pcde bazı programlar vasıtasıyla ram ve işlemcide çalışan kodu görebileceğini söylemişti. Bu mümkün müdür?

Yani api'den bazı verileri alsak bile donanımda çalışacağı için kodlar yine görülebilir mi? Bu doğru mudur, doğruysa buna çözüm var mı?


Program kaynak kodları her zaman erişilebilir api kodlarını şifrelemeniz bir şey değiştirmez hocam yani erişilemeyecek kaynak kodu yok sadece bazıları zaman alır bazıları uzun zaman alır bazılarıda erişilir. Ama bu bahsettiğimiz bellekteki adreslerden izleme ağdaki adrestlerden izleme apiyi çözümleyip sonuca vardırma bunları yapmak her baba yiğidin harcı değil
Stanley

kişi bu mesajı beğendi.

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)

Stanley adlı üyeden alıntı

RespectionS KamilHanci Decimas AhmetKarabulut Öncelikle cevaplarınız için teşekkür ederim. Programın bazı önemli kısımlarını şifreli olarak apiden çekip programın şifreyi çözüp çalıştırması şeklinde güvenliği sağlamayı düşünüyorum. Bu düşünce mantıklı mıdır?

Aslında beni rahatsız eden bir husus şu; birkaç yerde şunu gördüm. Program çalışırken ram'de ve işlemcide kod blokları çalıştığı için isteyen kişi web'den veri çeksen bile pcde bazı programlar vasıtasıyla ram ve işlemcide çalışan kodu görebileceğini söylemişti. Bu mümkün müdür?

Yani api'den bazı verileri alsak bile donanımda çalışacağı için kodlar yine görülebilir mi? Bu doğru mudur, doğruysa buna çözüm var mı?


Hocam apiniz 2 sayıyı toplayıp 2ye bölüyorsa

server'daki pseudo kodunuz ;

function(int x, int y)
{
return (x+y)/2;
}

siz x ve y değeri olarak 2 ve 6 yollarsanız server kodunuzu çalıştıracak

(2+6)/2 olarak ve 8/2'den 4 döndürecek size.

Şimdi desktop yazılıma sayıp bir kişi gelen giden verileri izleyerek nelere erişebilir?

Sizin apiye 2 ve 6'yı yolladığınızı görebilir, dönüş olarak da 4 döndüğünü yine gözlemleyebilir. Ama sizin 2'yle 6'yı toplayıp 2'ye böldüğünüzü (yani serverdaki kodları) göremez.
 

 

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Web kısmında asp.net ile yazdığınızda zaten kaynak kodlara erişemezler çünkü dll içinde tutuluyor backend tarafı. O yüzden web yapmak şimdilik en iyi seçenek.

Masaüstüne gelirsek arada webapi kullanmanız dışardan db ile münasebeti koruyacaktır. Sadece diğer kodalr görünecektir.

Masaüstü kaynak kodara gelirsek ise günümüzde windows bile hacklenip kodlarına bakılırken yanlış anlamayın ama sizin yada bizim yaptığımız 2-3 koddan oluşan basit bir yazılımı kim ne yapsın ?

iyi forumlar
 

 

wmaraci
wmaraci

Stanley Stanley WM Aracı Kullanıcı
  • Üyelik 14.05.2018
  • Yaş/Cinsiyet 25 / E
  • Meslek öğrenci
  • Konum Adıyaman
  • Ad Soyad F** K**
  • Mesajlar 137
  • Beğeniler 7 / 38
  • Ticaret 0, (%0)
ozmencelik
Yorumunuz için teşekkürler.
Ticari olarak kullanılacak bir program için düşünün. Rekabet ortamında basit yazılımımızı yine basit insanlar hackleyecektir.

Masaüstü programa web apiden veri alsak çözümlenemeyecek veya ileri düzey çözümlenecek bir yapı veya öneriniz var mıdır?
 

 

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
c# ile kodlamak yerine c++ ile kodlamanız bir tık daha korur artı c++ tada webservice var.

Onun dışında artık bütün yazılımlar web tabanlı olmaya başladı bence sizde bunu bir düşünün eğer web tabanlı yazarsanız .net olarak kodlayabilirsiniz asp.net yani.

Unutmayın C# kırması çok basit malesef o yüzden web dışında pek sağlıklı bulmuyorum eğer ki kodlar görülmesin derseniz ama her halukarda webservis kuanmanızda yarar var

iyi forumlar
Stanley

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al