13 Ağustos 2011 Cumartesi

DEITEL JAVA HOW TO PROGRAM

C ve C++ Deitel & Deitel kitabının ne kadar güzel olduğunu hepiniz biliyorsunuzdur.Deitel&Deitel ‘ın Java programlama dili içinde bir kitabı var.Kitapçılarda kolay kolay bulunmayan bir kitap olmakla beraber henüz bu kitabın Türkçeside yok.E- kitap formatınıda internetten bulmak zor olduğundan sizin için yüklemek istedim.Kitabın PDF formatını aşağıda ki linklerden herhangi  birinden  indirebilirsiniz.
İyi çalışmalar…



2 Ağustos 2011 Salı

LINUX'DA SİLİNEN DOSYALARI GERİ GETİRMEK




1-)İndirmemiz gereken sleuthkit ve foremost adında iki  paketimiz vardır.Ubuntu'da bu paketleri çekmek için terminale ;

sudo apt-get install sleuthkit
sudo apt-get install foremost

komutlarını yazmamız yeterli olacaktır.


2-)Öncelikle bilgisayarımızda ki disklerin yapısını incelememiz gerekiyor.Bunun için konsola df -h yazmamız gerek.Karşımıza şöyle bir yazı çıkacak.

mesut@mesut-laptop:~$ df -h
Dosyasistemi Boy Dolu Boş Kull% Bağlanılan yer
/dev/sda5 48G 5,7G 40G 13% /
none 1,5G 364K 1,5G 1% /dev
none 1,5G 812K 1,5G 1% /dev/shm
none 1,5G 104K 1,5G 1% /var/run
none 1,5G 0 1,5G 0% /var/lock
none 1,5G 0 1,5G 0% /lib/init/rw
/dev/sdb1 466G 119G 348G 26% /media/MESUT EMRE

Buradan da anlayacağımız üzere Linux sistemimiz dev/sda5 ' te kurulu.İlk olarak silinen dosyanın izlerinin diskteki konumunu belirleyelim. Bunun için debugfs isimli bir dosya sistemi hata ayıklayıcısı (debugger) kullanacağız. Ancak debugfs'i kullanabilmek için süper kullanıcı haklarını elde etmemiz gerekiyor:


debugfs /dev/sda5

komutunu veriyoruz.

3-)Şimdi yapmamız gereken silinen dosyanın bulunduğu dizine gitmek ve inode numarasını 
(silinen dosyalarla ilgili bilgileri ve diskteki blok grubunu saklar) tespit etmek.

debugfs 1.41.3 (12-Oct-2008)
debugfs:  cd /home/mesutemre/resimler
debugfs:  ls -d

Karşımıza şöyle bir şey çıktı.

252525  (12) .    333908  (4084) ..   <366591> (4052) resim.jpg

Hatırlarsanız silinen dosyamız /home/mesutemre/resimler adresindeidi.q tuşuna basarak debugfs'e 
geri dönelim. Burada yaptığımız bu dizine girerek ls -d komutunu vermek.Bu komut o dizindeki 
silinen verileri görüntülemeye yarar. Böylece silinmiş verinin inode numarasını tespit etmiş olduk. 
Şimdi yapmamız gereken bu verinin blok grubunu tespit etmek. Onun için


debugfs:  imap <numarası_inode_numarası>

Diyelim ki inode 252525 olsun.

Debugfs: imap<252525>

Inode 252525 is part of block group 45
        located at block 1474568, offset 0x0e00
Gördüğümüz gibi dosyamız 45 nolu blokta.

4-) Dosyamızı  geri getirmek için son bir bilgiye daha ihtiyacımız vardır. O da bir blok grubunda ki 
blok sayısı. Bunu bulmak için sats komutunu verdikten sonra q tuşuna basarak debugfs ' e geri 
dönelim.

debugfs: stats
        ***
        ***
Blocks per group:         125521
        ***
debugfs: q

5-)Sırada ki işlemimiz adresini tespit ettiğimiz blok grubunun içeriğini öğrenmek. İşte bunun için 
the sleuthkit ' i kullanacağız. Hatırlarsanız dosyamız 45 nolu grupta buluınuyor. Bu yüzden 45 nolu 
blokta ki bütün blokların içeriğini elde etmemiz gerekir. Bunun için 45. blokta ki ilk ve son blokların 
adresilerini öğrenmemiz yeterlidir. Gerisini sleuthkit bizim için hallediyor. İlk ve son bloğun adresini 
elde etmek için genelleştirilmiş bir formül vardır.

  b : blok sayısı (32768) => bir blokta 32768 tane blok var.

  n : grup no  (45)

Bu verilere göre ;  n x b   –    (n+1) x b -1     arasında blunuyor.

6-) Artık  45. bloğun içeriğini  diskten ayıklayabiliriz. Bunun için

root@ubuntu:~# dls /dev/sda6 1474560-1507327 > /media/disk-1/block.dat   komutunu vereceğiz. 
Birkaç saniye bekledikten sonra bu blok içeriği tamamen block.dat adında başka bir diske aktarılmış 
olduğnu göreceksiniz.

7-) Şimdi yapmamız gereken tek şey dosyayı bu bloğun içerisinden çekip almak. Bunun için foremost 
' u kullanacağız.

root@ubuntu:~# mkdir /media/disk-1/output
root@ubuntu:~# foremost -t jpg -i /media/disk-1/block.dat -o /media/disk-1/output/
bu komutu verdikten sonra ekrana
Processing: /media/disk-1/block.dat
benzeri bir çıktı gelecektir. Burada yaptığımız şey yeni bir klasör yaratıp (output) blok grubu içeriğindeki silinen dosyaları bu klasöre atmak. Gördüğümüz gibi foremost komutuna -t, -i ve –o gibi parametreler verdik. -t parametresi istediğimiz tipteki dosyların araştırılmasını sağlar. Bir jpg dosyası aradığımızdan -t yi jpg argümanı ile kullandık. -i parametresi içeriğini araştırmak istediğimiz veri dosyaları (block.dat) için kullanılan parametredir. -o parametresi ise silinen dosyaların geri geldikten sonra saklanacağı klasörü tanımlar, o yüzden de -o ile /media/disk-1/output argümanını kullandık.

8-)Hepsi bu kadar. Şimdi /media/disk-1/output klasörünü açalım. Eğer yaptığımız işler doğruysa burada bir jgp adlı klasör bulunmalıdır. Eğer -t parametresini kullanmasaydık foremost tüm dosya tiplerini araştıracak ve geri getirebildiği dosyaları, tip isimlerine sahip olan klasörlere atacaktı.jpg klasörünü açalım. Burada birden fazla dosya görebiliriz, bunun nedeni incelenen bloklarda birçok silinmiş dosya olması dolayısıyladır.