C# ve Grafik programlama

Başlatan sigmoid, 03 Haziran 2010, 22:37:42

sigmoid

Yazın boş vaktimde C# ile basit düzeyde devre çizim programı yapmayı düşünüyorum. O nedenle şimdiden araştırmalarıma başladım. İlk iş olarak Wrox'un Graphics Programlama kitabını okuyorum.

Basit düzeyde çalışmalar, açık kaynak kodlu çizim programları, tavsiye edebileceğiniz bir web sitesi ve kaynak varsa sevinirim.

ORC

#1
Alıntı yapılan: abdullaho - 03 Haziran 2010, 22:37:42
Yazın boş vaktimde C# ile basit düzeyde devre çizim programı yapmayı düşünüyorum. O nedenle şimdiden araştırmalarıma başladım. İlk iş olarak Wrox'un Graphics Programlama kitabını okuyorum.

Basit düzeyde çalışmalar, açık kaynak kodlu çizim programları, tavsiye edebileceğiniz bir web sitesi ve kaynak varsa sevinirim.

http://www.codeproject.com/
http://www.csharpnedir.com/dotnettv/
http://www.csharptr.com/c-ta-cizim-yapmavideolu
http://hasan-bozkurt.blogspot.com/2009/01/c-ile-grafik-izimi.html

Birde örnek olarak  bir cad programı var bu sitede faydalı olabilir

http://www.accesstr.net/konu-c-ile-bir-vektorel-cizim-programi-basit-bisi.html

bu siteler iyi bir tane daha vardı adı aklıma gelmiyor geldiğinde yazarım inş.  C# ın grafik kutuphanesi hayli geniş ve cok imkanlar saglıyor. Ama kullanabilmek için en azından temel olarak bilmekte fayda var. Kolay gelsin :)

muhittin_kaplan



muhittin_kaplan


sigmoid


ORC

Alıntı yapılan: abdullaho - 04 Haziran 2010, 06:49:40
Alıntı yapılan: ORC - 04 Haziran 2010, 00:58:56

http://www.accesstr.net/konu-c-ile-bir-vektorel-cizim-programi-basit-bisi.html


Güzel bir çalışma yapmış. Yalnız sadece exe olarak siteye koyması kötü olmuş.

sorun değil .net yazılmıssa exe den kaynak koduna erişebilirsiniz..  ;)

sigmoid

Araştırırken aşağıdaki siteyi buldum. Bir çok konuyu videolu olarak anlatmış. Bir çok arkadaşımızada yarayacağına eminim. Grafik konusunda şu ana kadar bulduğum en geniş konu anlatımlı site. İngilizce olarak bile bu kadar geniş konu bulamadıydım.  ;D

http://www.durgut.com

muhittin_kaplan

Alıntı yapılan: ORC - 04 Haziran 2010, 09:14:26
Alıntı yapılan: abdullaho - 04 Haziran 2010, 06:49:40
Alıntı yapılan: ORC - 04 Haziran 2010, 00:58:56

http://www.accesstr.net/konu-c-ile-bir-vektorel-cizim-programi-basit-bisi.html


Güzel bir çalışma yapmış. Yalnız sadece exe olarak siteye koyması kötü olmuş.

sorun değil .net yazılmıssa exe den kaynak koduna erişebilirsiniz..  ;)
bilinen genel bir yanlıştır. eğer yazlılımcı dusfuctor yaptıysa anlamsız kodlara ulaşırsınız.

sigmoid

@dusfuctor nasıl yapılıyor ? önerebileceğin güzel bir program var mı.

muhittin_kaplan

Alıntı Yap.NET mimarisinin en önemli avantajlarından biri, ILDASM (intermediate language disassembler) ile edinebileceğimiz pek çok faydalı bilgiyi barındıran assembly'lerdir. Bu bizim için bir avantaj olsa da, binary dosyalarınıza ulaşan biri, assembly'lerdeki bilgileri kullanarak orijinal kodlarınıza (neredeyse tamamına) ulaşabilir. Bu noktada reverse-engineering işlemlerinin önüne geçmek için, kaynak kodu reverse engineering ile  okunduğunda anlamsız olarak görüntüleyen obfuscation metodu geliştirildi. Bu makalede, uygulamalarımızın kodlarını, reverse-engineering'e karşı korumak için kullanabileceğimiz etkili bir metod olan obfuscating'i ve .NET ortamında uygulanmasını ele alıyor olacağız.

Şu ana kadar muhtemelen Microsof .NET Framework mimarisinde yer alan zengin metadata'nın, uygulamaların dağıtımı ve versiyonlanmasından, kendisi ile ilgili bilgiler içeren binary dosyalar ile sağlanan zengin IDE fonksiyonelliğine kadar pek çok alanda sunduğu faydalara tanık olmuşsunuzdur. Bunca avantajına karşın, metadata şu ana kadar uygulama geliştiriciler açısından ciddi bir risk oluşturmayan bir riskin üzerinde daha fazla durulması gereğini ortaya çıkarttı. Managed kod ile yazılan uygulamalar, kolayca reverse-engineering işlemine tabi tutulabilmekte. Bu .NET Framework'un tasarımından kaynaklanan bir hata olarak algılanabilecek olsa da, aslında modern, intermediate-compiled dillerin (java gibi) bir gerçeğidir. Hem Java hem de .NET Framework metadata bilgilerinin (.NET Framework'te MSIL (Microsoft Intermediate Language), Java'da ise bytecode) executable kodun içine embed edilmesi yöntemini kullanmakadır. Makina kodundan daha yüksek seviyede olmasından dolayı, executable dosyalar kolayca deşifre edilebilecek pek çok bilgi ile yüklüdür. ILDASM (.NET Framework SDK ile birlikte gelen MSIL disassembler) ve benzeri araçlar veya Anakrino veya Reflector for .NET benzeri decompiler uygulamaları ile assembly'lerinizin içeriği kolayca incelenebilir ve yeniden okunabilir / kullanılabilir kaynak koda kolayca dönüştürülebilir. Kötü niyetli kullanıcılar uygulamanızdaki güvenlik sorunlarını keşfederek bunlardan faydalanabilir, özgün fikirlerinizi kullanabilir ve lisanslama kodunuzu bypass edebilirler. Sanırım bu kadar olasılık, bu konuda nasıl önlem alabileceğinizi düşünmenizi sağlamak için yeterli olacaktır :)

Bu aşamada bu tür reverse-engineering uygulamalarına karşı kodlarımızı korumak için uygulanması son derece basit olan obfuscation metodunu ele alacağız. Obfuscation, assembly'lerimiz üzerinde reverse-engineering işlemlerinin uygulanmasını engellemiyor. Ancak assembly'lerimizin içerdiği sembolleri reverse-engineering sonrasında anlamsız  (hatta son derece anlamsız) bir çıktı oluşmasını sağlayacak şekilde (tabi uygulamamızın çalışmasını etkileyemeyecek şekilde) rename ediyor. Aslında bu yöntem, Java platformunda geliştirilen ürünlerin korunmasında uzun zamandır kullanılmaktadır.

Pek çok firma, .NET için 3. parti obfuscation araçları geliştirerek yayınlamış durumda. Microsoft'ta Visual Studio 2003 ile birlikte, PreEmptive Solutions firmasına ait Dotfuscator uygulamasının Community Edition versiyonunu uygulama geliştiricilerin kullanımına sunmaktadır.

Makalenin geri kalan bölümünde, obfuscation konusunu, kullanılabilecek obfuscation metodlarını ve bir obfuscator ile çalışırken karşılaşabileceğimiz senaryoları çok detaylı olarak ele alacağız
http://www.yazgelistir.com/Makaleler/1000000735.ygpx
den alıntıdır

sigmoid


sigmoid

ilk çalışmam. çok basit düzeyde. ekrana and kapısı çizip mousela sağa sola sürükleyebiliniyor.


Ekle butonuna basıldıkca ekrana and kapısı ekliyor. Eklenen kapıyı mouse ile ekranın istediğimiz yerine sürükleyebiliyoruz. Sağ tuşa basılınca çıkan menüden kapi silinebilinir. Benim bilgisayarda çalışırken performans olarak bir sorun çıkarmadı. Çalıştırmak için NET Framework 3.5 gerekiyor.

ilk başta kapılarla çizim yapılabilecek bir program yapacağım. Kapılar arası ara bağlantıların yapımı biraz beni zorlayacak gibi. Çünkü bir kapı yerinden oynatıldığında bağlantının kopmadan yeniden çizilmesi gerecek vs.

http://www.4shared.com/file/7OPCTKrg/GrafikDeneme3.html

sigmoid


muhittin_kaplan