Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

Mobil Programlama Kitabım Çıktı

clock Kasım 2, 2010 01:09 by author Volkan Atasever

Kitabımın tanıtımına geçmeden önce bu kitap hakkında bir kaç söz söylemek istemekteyim. Öncelikle büyük bir emek harcanan bu kitap daha iyisi yapılana kadar sektörde öncü konumda olacaktır. Mobil Programlama konusunda Türkiye'de yayınlanan en kapsamlı kitaplardan biridir. Mobil programlamayla ilgilenen herkesin başucu kitabı olacağı iddası içerisinde olduğumu, kitabın çıkacağı duyurusunu yaptığımda da dile getirmiştim. Ben Volkan Atasever ve değerli Kadir Çamoğlu ile birlikte yazdığımız bu kitap düşündüğümüzden daha büyük bir eser haline geldi. Kitabı yazmaya başlarken koyduğumuz 300 sayfa hedefi kitabı bitirdiğimizde 500 sayfa olarak planlananın da ötesine geçti. Siz okuyanlarında yorumlarını her daim beklemekteyim. Resmi olarak 7.Kasım.2010 tarihinde kitabımız raflardaki yerini alacak.

Kitabın yayınevi tanıtımı için: http://kodlab.com/#/detay&kitap=mobilprogramlama

Kitabın Basın Bülteni için: http://kodlab.com/#/detay&kitap=mobilprogramlama linkinden sayfanın aşağısında basın bültenini bilgisayarınıza indirebilirsiniz.

Kitabın iç sayfalarının listesi için: http://kodlab.com/#/detay&kitap=mobilprogramlama linkinden sayfanın aşağısında iç sayfaların listesini bilgisayarınıza indirebilirsiniz.

 

Eser Hakkında Tanıtım:

Mobil Dünyanın Kontrolünü Elinize Alın!

Bu kitap ile mobil programlamayı adım adım uygulamalı olarak öğreneceksiniz.

Kitap, temel seviyede programlama bilgisi olan herkese hitap etmektedir.  Mobil dünya ve programlama konseptinden, “Merhaba Mobil” uygulamasıyla başlayarak, performanslı uygulama projeleri ile biten bu kitap ile adım adım ilerleyerek mobil programlama alanında uzman olacaksınız.

Kitapta anlatılan Mobil Programlama teknikleri C# ve VB.NET dilleri ile hazırlanılarak yapılmıştır.

Mobil programlama kitabında aşağıdaki konuları öğreneceksiniz:

•    Mobil Cihazlar ve Teknolojiler
•    Dosya ve Dizin Okuma/Yazma İşlemleri
•    XML Dosyalarıyla Çalışmak
•    XML Web Servisleriyle Çalışmak
•    ADO.NET Ve Dataset
•    Visual Studio 2008
•    Emülatörlerle ve Cihazlarla Çalışmak
•    SQL Server Compact Edition
•    Grafik Programlama
•    .NET Compact Framework
•    Mobil Uygulamalar İçin Arayüz Geliştirmek
•    SMS, E-posta Göndermek
•    Performanslı Uygulamalar Geliştirmek
•    Test ve Hata Ayıklamak
•    Uygulama Örnekleri

 

Kitap Hakkında:

500 Sayfa
ISBN: 978.605.4205.370
Boyut: 15 x 21
1. Baskı

Kitabı Satın Almak için: Hepsiburada.com Idefix.com Kitapyurdu.com ve diğer kitap satış sitelerinden de sipariş verebilirsiniz!

 

Kitabın Yazar Tanıtımı:

VOLKAN ATASEVER
6 yaşlarında bilgisayarla tanışan yazarımız, yazılım dünyasına BASIC ve C/C++ dili üstünde uygulamalar geliştirerek adım atmıştır. Yazarımız daha sonra C# ve VB.NET ile uygulamalar geliştirmiştir. Bilgisayar Mühendisi olan yazarımız, yazılıma mühendislik metodolojileriyle yaklaşarak verimli ve kaliteli uygulamalar geliştirmeyi ilke edinmiştir. Yazılım Uzmanlığı ve Danışmanlığı görevinde olan yazarımız, Microsoft'un Akademik sitesi MSAkademik.Net’de VB.NET editörlüğü yapmıştır. Ineta topluluklarında uzun zaman yazarlık ve editörlük yaptıktan sonra kurduğu www.DeveloperMania.net sitesinin topluluk lideri olmuştur. Konuşmacı olarak çeşitli üniversite ve eğitim merkezinde seminer vermektedir. Öğrencilik yıllarında S2B programı kapsamında Microsoft'un Türkiye’de sadece 18 kişiye verdiği Sharepoint Server sertifikasını almıştır. Mobil uygulamalar, ASP.NET, MOSS 2007-2010, SQL Server ve Windows geliştirmeleri içeren projelerde görev almaktadır. Bilgisayar ve teknoloji dergilerinde yazarlık yapmaktadır.  Akademik makale ve bildiri yazarak bunları ulusal akademik konferans ve sempozyumlarda sunmaktadır.  www.volkanatasever.com adresinde teknik günlüğünü yazmaktadır.

 

KADİR ÇAMOĞLU
1974 İstanbul doğumludur. 1995 yılından bu yana çeşitli yazılım projelerinde görev almış; veritabanı ve yazılım alanlarında eğitmenlik ve danışmanlık yapmıştır. 2007- 2009 yılları arasında bir vakıf üniversitesinde öğretim görevlisi olarak çalışan yazar son olarak BilgeAdam Kurumsal’da yazılım danışmanı olarak çalışmaktadır.
Daha önce KODLAB'tan Programlama Ve Veritabanı Mantığı, 10 Adımda Yazılım Geliştirmek kitapları yayınlanmış olan yazarımızın bir de Chip Online dergisinde 'Tek Kişilik Yazılımevi' adında bir blogu bulunmaktadır. Yazarımızın ayrıca yazılım kalitesi, servis odaklı mimarı, nesneye yönelik programlama ve etmene yönelik programlama konularında akademik çalışmalar yapmakta ve yayınları bulunmaktadır.
Kadir Çamoğlu, Microsoft Yetkili Eğitim Danışmanı (MCLC), Microsoft Yetkili Eğitmeni (MCT), Microsoft Yetkili Yazılım Geliştirme Uzmanı (MCPD) ve Microsoft Yetkili Teknoloji Uzmanı (MCTS) sertifikalarına sahiptir. Microsoft tarafından 3 yıl üst üste En Değerli Profesyonel (MVP) unvanına layık görünen yazarın bir de 'New Horizons' tarafından verilen 'Worldwide Excellence in Training' ödülü bulunmaktadır.



Yakında: Mobil Programlama Kitabım

clock Ekim 21, 2010 04:28 by author Volkan Atasever

Değerli Kadir Çamoğlu ile birlikte yazdığımız Mobil Programlama kitabı yakın bir zaman sonra raflarda yerini alacak. Mobil Programlama kitabımızın çıkmasına geri sayım başlamışken kitapla ilgili duyurular yayınevinin sitesinide süslemeye başladı. Türkiye'deki en kapsamlı mobil programlama kitabı olacak bu kitap, yazılım dünyasının yükselen trendi olan mobil dünya da yerinizi almanızı sağlayacak. Kitaba konu olan işletim sistemi ise Windows Mobile olmuştur. Aşağıda yayın evinin sitesinde yapılan tanıtımı görebilirsiniz. Çıkacağı günü şahsım adına bende sabırsızlıkla bekliyorum. Kitabın basılana kadar geçen süreci takip etmenin ise ayrı bir heyecan olduğun söylemek isterim. Benim ilk kitabım olan ve mobil programlamayı ince ayrıntılarına kadar irdeleyen bu kitabın sektörde bu konu üstünde çalışmalar yapmak isteyenlerin başucu kitabı olacağı iddiası içerisindeyim.

 

Yayınevinin sitesi: www.kodlab.com

 



Mobil Cihazlarda Hacking Yöntemleri

clock Ekim 10, 2010 09:54 by author Volkan Atasever

 

Bu makalemde bir hacking senaryosu hazırlayıp mobil cihazda nasıl benzeri bir hack yapacağımızı irdeleyeceğiz. Bu yöntem tamamen “ethical hacking” konusu altında incelenmekte olup asıl amacımız bu tehlikeli saldırılara karşı nasıl güvenli bir yöntem bulacağımız konusuna eğilmektir.

Öncelikle bir senaryo hazırlayalım. Ali isimli kişinin mobil cihazına internete bağlıyken sızabiliyor veya toplumsal mühendislik konularını kullanarak offline cihaza erişebiliyoruz. Diğer bir yöntemse bir “sazan avlama” (phishing) yöntemi ile kötü niyetli uygulamamızı kullanıcının çalıştırmasını sağlamak olacaktır. Yapacağımız işlemse background’da çalışan bu programın her click işleminde ekran görüntüsünü almak olacaktır. Bu sayede eğer mobil cihaz üzerinden internet bankacılığı gibi bir işlem yapıyorsa dahi bu şifreleri yakalayabilmek olasıdır. Kullanıcının bu açığa en iyi cevabı uygulama cihaza yüklenmeden önce onu durdurmak olmalıdır. Basit bir “ekran görüntüsü yakalama” (screen capture) uygulaması yaparak bu işlemin ne kadar kolay olacağını inceleyelim.

Yapacağımız uygulama için basit bir kullanıcı arayüzü yapalım. Bu arayüzde bir buton kontrolü ve bir picturebox kontrolü bulunsun.

 

C# kodu:

 

using System;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

 

namespace SmartDeviceProject26

{

    public partial class Form1 : Form

    {

        [DllImportAttribute("coredll.dll")]

        public static extern IntPtr GetWindowDC(IntPtr hWnd);

 

        [DllImport("coredll")]

        public static extern int DeleteDC(IntPtr hdc);

 

        [DllImportAttribute("coredll.dll")]

        internal static extern IntPtr ReleaseDC(IntPtr hdc);

 

        public const int SRCCOPY = 0x00CC0020;

 

        [DllImport("coredll.dll")]

        public static extern bool BitBlt(IntPtr hdcDest,

            int nXDest, int nYDest, int nWidth,

            int nHeight, IntPtr hdcSrc, int nXSrc,

            int nYSrc, uint dwROP);

 

        public Form1()

        {

            InitializeComponent();

        }

        private Bitmap CaptureScreen()

        {

            Bitmap b = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

            using (Graphics g = Graphics.FromImage(b))

            {

                IntPtr hdcSrc = IntPtr.Zero;

                IntPtr hdcDest = g.GetHdc();

                try

                {

                    hdcSrc = GetWindowDC(IntPtr.Zero);

                    BitBlt(hdcDest, 0, 0, b.Width, b.Height,

                        hdcSrc, 0, 0, SRCCOPY);

                }

                finally

                {

                    if (hdcSrc != IntPtr.Zero)

                    {

                        ReleaseDC(hdcSrc);

                        DeleteDC(hdcSrc);

                    }

 

                    g.ReleaseHdc(hdcDest);

                }

            }

 

            return b;

        }

 

 

        private void button1_Click(object sender, EventArgs e)

        {

            this.pictureBox1.Image = CaptureScreen();

        }

    }

}

 

VB.NET kodu:

Imports System.Drawing

Imports System.Text

Imports System.Windows.Forms

Imports System.Runtime.InteropServices

 

Namespace SmartDeviceProject26

                Public Partial Class Form1

                               Inherits Form

                               <DllImportAttribute("coredll.dll")> _

                               Public Shared Function GetWindowDC(hWnd As IntPtr) As IntPtr

                               End Function

 

                               <DllImport("coredll")> _

                               Public Shared Function DeleteDC(hdc As IntPtr) As Integer

                               End Function

 

                               <DllImportAttribute("coredll.dll")> _

                               Friend Shared Function ReleaseDC(hdc As IntPtr) As IntPtr

                               End Function

 

                               Public Const SRCCOPY As Integer = &Hcc0020

 

                               <DllImport("coredll.dll")> _

                               Public Shared Function BitBlt(hdcDest As IntPtr, nXDest As Integer, nYDest As Integer, nWidth As Integer, nHeight As Integer, hdcSrc As IntPtr, _

                                               nXSrc As Integer, nYSrc As Integer, dwROP As UInteger) As Boolean

                               End Function

 

                               Public Sub New()

                                               InitializeComponent()

                               End Sub

                                Private Function CaptureScreen() As Bitmap

                                               Dim b As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)

                                               Using g As Graphics = Graphics.FromImage(b)

                                                               Dim hdcSrc As IntPtr = IntPtr.Zero

                                                               Dim hdcDest As IntPtr = g.GetHdc()

                                                               Try

                                                                              hdcSrc = GetWindowDC(IntPtr.Zero)

                                                                              BitBlt(hdcDest, 0, 0, b.Width, b.Height, hdcSrc, _

                                                                                              0, 0, SRCCOPY)

                                                               Finally

                                                                              If hdcSrc <> IntPtr.Zero Then

                                                                                              ReleaseDC(hdcSrc)

                                                                                              DeleteDC(hdcSrc)

                                                                              End If

 

                                                                              g.ReleaseHdc(hdcDest)

                                                               End Try

                                               End Usinga

 

                                               Return b

                               End Function

 

 

                               Private Sub button1_Click(sender As Object, e As EventArgs)

                                               Me.pictureBox1.Image = CaptureScreen()

                               End Sub

                End Class

End Namespace

 

Uygulamanın ekran görüntüsü:

 

Gördüğünüz gibi 30 satırı geçmeyen bir kodla o anda ekranda hangi görüntü varsa yakalayabildik. Kullanıcının yapması gereken en başta bu uygulamanın çalışmasına izin vermemektir. Diğer bir yolsa “process” listesinde bilmediği bir uygulamayı derhal sonlandırması gerektiğidir.

Diğer bir yöntem ise kayıt defterine hakim olmaktır. Bu sayede cihaz içinde istediğiniz işlemi yapabilirsiniz. Kayıt defterinde ilgili bilgilerin nerede kaydedildiğini bilmeniz gerekmektedir. Tüm anahtarların bir anlamı vardır.

Kayıt defterindeki bazı anahtarlara ve değerlerine göz atalım.

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Start Items

Bu kayıt defteri yolunda başlangıçta çalışacak programlar listelenmiştir. Her prgram burada listelenmemekle birlikte ilgili ayarları değiştirebilirsiniz.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inbox\

“Settings” anahtarına basın ve “SMSNoSendMsg” string değerini 1 olarak ayarlayın. Bu sayede mobil cihazdan mesaj yollandığında mesaj yollama notification kontrolü gözükmeyecektir. Aslında bu hackerlar açısından istenen bir durumdur. Kendi gizli uygulamalarından mesaj gönderdikleri zaman bu değeri 1 olarak ayarladıklarında kullanıcı cihazdan mesaj gittiğini farketmeyecektir. Kaçak uygulamanın işi bittiği zaman programatik olarak bu değeri tekrar değiştirebilmektedir.



Mobil Cihazlarda Güvenlik

clock Ekim 7, 2010 04:34 by author Volkan Atasever

Hacking Nedir?

Bilişim dünyasının ilk yıllarında bu yana hacking ve hacker kavramları oldukça ilgi görmüştür. Bilgisayar sistemlerine izinsiz girişi sağlayan ve bunları kendi çıkarları doğrultusunda kullanan kişilere hacker bu işleme ise hacking ismi verilmiştir. İşin doğrusu bu noktada aslında birden fazla terim olduğudur. Öncelikle her sisteme sızana veya benzer işler yapana hacker denemez. Herhangi bir sistemde çok fazla açık mevcutsa piyasada bulunan bir kaç program sayesinde bu cihazlara izinsiz erişim yapmanız çok kolaydır. Teknoloji, sistem ve yazılım bilgisi olmadan bu programları kullanıp kendini hacker ilan edenlere genellik “lamer” denilmektedir. Genellikle kötü bir sıfat olan “lamer” olma durumu istenen bir durum olmamakla beraber bir üretkenlik yoktur. Hacker kavramı ise beyaz şapkalı ve siyah şapkalı olarak ikiye ayrılmaktadır. Her iyi yazılımcı aslında birer hackerdır. Çünkü yazılımı en iyi ve güvenlik açığı olmadan yazmak bu işin sanatsal yönlerinden biridir. Bu yönteme programlama sanatı demek çok doğru olmaktadır. Beyaz şapkalı hacker’lar genellikle güvenlik açıklarını tespit edebilmek için tüm saldırı yöntemlerini iyi bilmek zorundadırlar. Kötü niyetli bir hacker’ın yapabildiklerini yapmakla beraber bu bağlam savunma işlemlerini çok iyi bilmeleri gerekmektedir. Hacker dediğimiz kavram toplumumuzda bilgisayara çok fazla hakim kişiler olarak anılmaktadır. Gerçek bir hacker aynı zamanda toplum mühendisi olabilmekten geçmektedir. Sosyal ilişkilerde karşı taraftaki şahıs veya firmanın açıklarını diyaloğa girerek bulabilmeside sisteme sızması için kimi zaman yeterli olabilmektedir. Bu bilgiye veya maddi herhangi bir şeye izinsiz girişlerin ve kullanımların çoğu hacking olarak adlandırılmaktadır.

 

Mobil cihazlarda hacking olayını herhangi bir cihaz veya sunucudaki hacking olayından farklı görmemek gerekmektedir. Mobil cihaz konsepti ne kadar farklı olursa olsun bir işlemci,ram,depolama birimi ve bu bileşenlerin uyumlu çalışması için işletim sistemiyle beraber gelmektedir. Herhangi bir sunucu veya kişisel bilgisayardan farkı yoktur. En önemli nokta ise mobil cihaza yapılan hacking yöntemi sonucu edinilen bilgilerin diğer cihazlardaki bilgilerden kısmen daha önemli olabildiğidir. Hacking yöntemleriyse diğer cihazlardan farklılık göstermektedir. Mobil cihazlar üstünde koşan işletim sistemlerinin farklı ve çeşitli olması nedeniyle hacking işlemleri oldukça zorlaşmaktadır. Açık bulunan bir cihaz üstünde güncelleme yapılmadıysa veya hacking yöntemleri ile beraber cihaza sızılmışsa bu noktada cihaz savunmasız hale gelebilmektedir. Cihaz üstünden erişilebilecek bilgilerse oldukça önemli bilgilerdir. Bu bilgiler telefon rehberi, kısa mesajlar, cihaz üstünde izinsiz arama yapmak, cihaz üstündeki özel notları alabilmek gibi sıralanabilmektedir.

 

Mobil Cihaz Açıkları

Mobil cihazlarda belirlenen en önemli açıklar bu cihazlara bulaşabilen virüslerdir. Son döneme kadar bu virüsler için özel önlemler alınmamaktaydı. Şu anda ise Eset firması, avast firması gibi antivirüs firmaları mobil cihazlar içinde antivirüs yazılımları üretmeye başladılar. Mobil cihazların bilgisayarla senkronizasyonu ve dosya alış verişi yapması virüs bulaşma ihtimalini fazlasıyla kuvvetlendirdir. Bundan dolayı kullanıcılar bu antivirüs uygulamalarını cihazlarına kurmaya başladılar. Ne yazık ki bu uygulamaların kullanımı sıradan kullanıcılar için gözardı edilebilmektedir. Bulaşan virüslerse sistemde açıklar meydana getirmektedir.

Diğer önemli bir mobil cihaz açığı ise doğrudan hedeflenen kişinin mobil cihazına yönelik yapılan saldırılardır. Bu saldırılarda email yoluyla veya herhangi bir cihaza ulaşma yöntemiyle cihaza çeşitli uygulamalar yükleyerek o anki konuşmaların dinlenmesi veya bilgilere ulaşılmasıdır. Bu yöntem toplumsal mühendislikle birleştiğinde cihazın sahibinin aldatılmasıyla mobil cihaza çeşitli  kötü niyetli uygulamalar yüklenilmesi olarak sıralanabilir. Toplumsal mühendislik, kötü niyetli kullanıldığında karşındakini ikna edip bu ikna gücünü kötü niyetli kullanmak olarak tanımlanabilmektedir.

Geliştiricileri ilgilendiren en önemli noktaysa yaptıkları uygulama içinde yapılan açıklardır. Bu açıklar kullanıcıyı doğrudan etkilemektedir. Eğer yapılan uygulama geniş kitlelere ulaşmışsa uygulamanın güvenli daha önemli bir hal almaktadır. Bu açıklar uygulamanın cracklenmesini yani izinsiz kullanımınında önünü açmaktadır.

İyi niyetli gözüken ücretsiz uygulamalarada şüpheyle yaklaşmak gerekmektedir. Her uygulama bu kategoriye girmesede bu bağlamda yapılan bazı uygulamalar cihaza yüklendikten sonra kişisel bilgileri izinsiz olarak uygulamanın sahibine gönderebilmektedir. Bu da dolandırıcılıklara ve izinsiz bilgi hırsızlığı açısından büyük bir tuzak olarak görülebilmektedir.

 

Tehdit Problemleri ve Çözümleri

Kaliteli mobil cihaz güvenlik uygulamaları aşağıdaki sorunlara çözümler üretmektedir.

Bu sorunlar;

  • Virüsler
  • Spam postalar (SMS mesajları)
  • Worms
  • Spyware
  • Trojanlar
  • Ve en önemlisi hackerlar

Hiç bir zaman bir cihazın %100 güvenli olduğunu söylemek oldukça zordur. Bilişim dünyasında hiç bir zaman %100 güvenlik adı altında bir kavram olmamıştır. Her daim yeni açıklar, yeni hatalar ve yeni hack yöntemleri gelişmektedir. Bunlara karşın güvenliğinizi maksimum düzeyde tuttuğunuz sürece en azından bilinen açıklara ve tehlikelere karşı güven altında olmaktayız. Piyasada mobil antivirüs yazılımı olarak birden fazla alternatif mevcuttur.

 



Varmısın Yokmusun Yarışma Programında yarışmacıyım!

clock Ağustos 23, 2010 03:54 by author Volkan Atasever

Acun Ilıcalı'nın sunduğu Varmısın Yokmusun yarışmasında 12 Ağustos 2010 tarihinden itibaren yarışmacıyım. Yarışmacı arkadaşlarla birlikte geçirdiğim keyifli vakit paha biçilemez. Acun Ilıcalı ile de muhabbet etme şansı yakaladığımız yarışmada tek yürek halinde yarışan arkadaşlarımızın 500bin kazanmasını istiyoruz. Genel yorumlarınızı bu gönderinin altına yapabilirsiniz. Yorumlar onaylandıktan sonra yayına girecektir.

 

 



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Kurucu&Genel Müdür/Software4Galaxy Ltd.
Bilgisayar Mühendisi
Bilim Adamı, Eğitmen ve Danışman, Teknoloji Yazarı, Şair, Araştırmacı, Girişimci, Amatör Telsiz Operatörü, Amatör Denizci, Akvarist, Nümismat, Filatelist, Amatör Balıkçı

HAM Radio Sign: TA2OVA

SWL Sign: TA234127

QTH Location: KN41TE

Genel Duyurular

-Yakın bir zamanda Amatör Telsiz , Amatör Denizcilik, Amatör Balıkçılık ve Shortwave Radio adında yeni dört kategori ile bilgilerimi paylaşıyor olacağım.

-RC Araçlar kategorisi ilgi alanımdadır artık bu konuda da araştırmalar yapıp zaman buldukça projelerimi paylaşacağım.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2019

Sign In