Eylül 18, 2007

Çağa ayak uyduran virüsler

Bilişim camiasındaki son kullanıcıları yani şimdiki gençliği ele alırsak zannediyorum internet ortamıdan yapılan sohbetleri daha dogrusu sohbetlerde kullanılan cümlelerin tarzlarını tahmin etmek çok da zor olmayacaktır.
-"Nbr nslsn?"
-"Suuuunaaaa baksana, nassssl?"
(Bu noktada aklıma Tansu Çiller ve topluluk karşısında yaptığı konuşmalar geliyor.)
Herneyse, benim değineceğim konu msn üzerinden yayılan bir virüs. Virüs, kendini yaymak amacıyla, listedeki kişilere jpg.rar (ve ya benzeri) uzantılı dosyalar gönderiyor, bu sıkıştırılmış dosyaların içinde ise bir exe mevcut. Dosyayı göndermeden önce, kurbanına ise şuna benzer bir mesaj gönderiyor; "bak yeni çektim, resmime bak ama kimseye gönderme". Buna benzer bir kaç cümle daha var ama aklıma değil. Varmak istediğim sonuç ise şu; virüsler de (aynı zamanda virüs yazarları da) şimdiki son kullanıcılara göre evrim geçiriyor artık. Bir son kullanıcının, bu ve ya buna benzer mesaja atlama olasılığının %95'in üzerinde olduğunu düşünüyorum.

Eylül 14, 2007

python ctypes; dinamik kütüphaneleri python ile kullanın

Şu an üzerinde çalıştığımız projede, hazırlanan web sayfasına bir usb security token yardımıyla giriş yapılmasına karar verdik. Bu esnada 3-4 farklı firmadan örnek olması amacıyla development kit getirttik. Bunları inceleyip, ihtiyaçlarımızı karşılayacak ürünü seçmek benim görevimdi. Bu ürünlerin API'leri arasından gezinirken, dur bakalım bir de python ile kodlayım dedim. C#'dan Pascal'a, Java'dan C'ye kadar bir çok dil için API ve ya örnek mevcuttu. Bu noktada, C için verdikleri kütüphaneyi (so uzantılı dosya), ctypes kullanarak python ile kullanma yolunu keşfettim. ctypes ile mevcut C için kullanılan binary kütüphane dosyalarını, python içinde de kullanabiliyorsunuz. Hemen örnek ile pekiştirelim;

]$ python
>>> import ctypes
>>>libc=ctypes.cdll.LoadLibrary('/lib/libc.so.6')
>>> libc.printf("Necati Demir // Python ile ctypes testi\n")
Necati Demir // Python ile ctypes testi
40

Çok basit şekilde, c ile kullandığımız printf komutunu kullandık. Ayrıca C fonksiyonlarında parametrelerin tipi belirtilir python'dan farklı olarak; f(double a) gibi. Burada da imdadımıza ctypes'in temel veri tipleri yetişiyor.
Örneğin;

>>> >>> libc.printf("An int %d, a double %f\n", 1234, ctypes.c_double(3.14))
An int 1234, a double 3.140000
31

Yukarıdaki örnekte, c_double ile bir double değeri gönderdik fonksiyona.

Ayrıntılı bilgiyi sitedeki kaynaktan bulabilirsiniz.

Eylül 12, 2007

Kapa çeneni yoksa 'hack'lerim

Burada, 127.0.0.1 IP adresli makineyi 'hack'lemeye çalışan birinin komik hikayesi var. Biraz okuyup gülün! :)

Eylül 10, 2007

WWW'yı icat eden kişi // İlk web tarayıcısı

Tim Berners-Lee; Time dergisinde, dünyayı şekillendiren ilk 100 bilim adamı arasında. Kendisi WWW'yi icat eden adam. Bu kişiyi anmamı sağlayan şey ise, bir resim: ilk web tarayıcısı.

Eylül 09, 2007

Linuxçu'ya Windows cezası (!?)

Linux'çuya Windows cezası başlıklı bir haberin adresini göndermiş bir arkadaş. Haberde; bir sistem yöneticisinin, paylaşım programları aracılığı ile Star Wars: Episode III filmini paylaşması sonucunda Windows kullanma cezası aldığı yazıyor. Tabi, ben bu esnada şaşırıyorum; "demek ki cezayı veren hakim, bilişimden anlıyor ve Linux kullanan birinin Windows ile arasının iyi olmadığını, kullanmaktan zevk almayacağını biliyor ve bu cezayı veriyor" diye düşünüyorum.
Ardından bahsedilen sistem yöneticisinin bloguna girdiğimde aslında olayın bu şekilde olmadığını görüyorum. Bu kişiyi denetlemek için, sistemine bir yazılım kurulması gerekiyor zaten sistem yöneticisi de "bu benim cezam" diyor ama yazılım Windows ortamında çalışan bir yazılım. Bu noktada, "ya Windows kuracan ve de senin sisteme bu yazılımı kuracağız ya da bilgisayar kullanmayacaksın" diyorlar.
Direk olmasa da, dolaylı olarak Windows kullanmaya itiyorlar bu durumda. Ama bahsettiğim haber sitesindeki haberin de bir çarpıtma olduğu bu şekilde anlaşılıyor.

Eylül 06, 2007

Ben böyle sistemin...

Süper(!) işleyen sağlık sistemimizden iki olay;

1) İki öğrenci arkadaş, gece geç saatlerde midelerinde bir bulanma ile karşılaşırlar ve istifra etmeye başlarlar. Sabah yedikleri tavuktan şüphelenen gençler, devlet hastanesi koşar. Cevap; "biz zehirlenmeler bakmıyoruz". Ardından da eskiden sigorta hastanesi olan hastaneye giderler. Diyalog şu şekilde gelişir;
- Sağlık karneniz yoksa, ücret 50 YTL.
- Abi sen ne yapıyorsun?

Ardından içeriden bir doktor görevliye "kontenjan yaz" der ve çocuklara bakılır.

2) Hastaneye gidilir, sağlık karnesinden "öğrencidir" yazdığı için karnede kaşe aranır, bulunamaz. "Öğrenci belgeni getir" denir. "Parası ne ise verelim" denir, kabul edilmez. Ertesi gün belge getirilir, sıra alınır, sıra numarası 18 ama doktor 15 hastaya baktığı için muayene olamaz bu öğrenci arkadaşımız da. Bir sonraki gün yine sıra alınır ama bu sefer doktor hiç bir hastaya bakmaz.

İşte süper(!) sağlık sistemimizden iki örnek.

Thunderbird'de kopya mesajlar

Diskim dolu olduğunda, thunderbird ile sunucudan mesaj çekmeye çalıştığımda doğal olarak disk dolu hatası alıyorum ve mesajları çekemiyorum. Diskimde yer açtıktan sonra, sunucudan mesaj çekmek istediğimde ise, bütün mesajların birer kopyasını daha çıkarıyor. Zannediyorum bu noktada thunderbird'te bir hata var, ya da ayarlarla ilgili bir şeyler olabilir. Önceden de başıma gelmişti, sorunu nasıl çözdüğümü hatırlamıyorum, belki de bir script yazıp halletmiştim ama bu sefer bunu bir thunderbird eklentisi ile hallettim; Remove Duplicate Messages.

Eylül 05, 2007

python, pynotify, notify-send

Yaklaşık bir ay önce gezegende notify-send hakkında iki[1,2] yazı çıkmıştı. Ben de bu işin python ile nasıl yapılacağını yazayım.

Kısaca notify-send ile ilgili bir örnek vereyim;
]$ notify-send "Deneme" "notify-send ile deneme"







Yukarıda notify-send ile yaptığımızı python ile şu şekilde yaparız;
]$ python

>>> import pynotify
>>> pynotify.init("Deneme")
>>> n = pynotify.Notification("Deneme", "pynotify ile deneme")
>>> n.show()

Eylül 04, 2007

GP2X // avi2mp3


GP2X aldım. Tahmin edilebileceği üzere Linux tabanlı olması benim için bir cazibe unsuruydu. Bir süre son kullanıcı modunda kullanıp, ardından da vakit bulunca SDK'sını kurcalamayı planlıyorum.

Elimdeki 100 dakikalık bir Metallica konser kaydını da mp3 formatına çevirip cihaza atmak istiyordum ki bu noktada mplayer imdadıma yetişti.

mplayer -dumpaudio Metallica.avi -dumpfile Metallica.mp3 [1]

[1] http://linux.byexamples.com/archives/229/extract-audio-from-video-or-online-stream/

Uykusuz


Penguen okurları biliyordur; Penguen çizerlerinden bir ekip ayrıldı ve yeni bir dergi kurmaya karar verdiler. Derginin adı Uykusuz. İlk sayıyı az önce aldım.

Not: İlk sayının kapığı, resimde gözüken değil.

Eylül 03, 2007

Başbakanlık Sitesi Hacklendi

Başbakanlık sayfasının alt klasörlerinden biri hacklenmiş.