<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KnbykL Official Web Site &#124; Web Security, Web Application Security</title>
	<atom:link href="http://www.knbykl.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.knbykl.org</link>
	<description>Web Security, Articles and Application, Hacking Methods, SQL Injection, CSRF, XSRF and Server Security</description>
	<lastBuildDate>Sat, 27 Feb 2010 02:37:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zenginden Alıp, Fakire Dağıtmak</title>
		<link>http://www.knbykl.org/zenginden-alip-fakire-dagitmak/</link>
		<comments>http://www.knbykl.org/zenginden-alip-fakire-dagitmak/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 02:08:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Konu Dışı]]></category>
		<category><![CDATA[Bedava Avea Kontör]]></category>
		<category><![CDATA[Bedava Kontör Gönder]]></category>
		<category><![CDATA[Bedava Turkcell Kontör]]></category>
		<category><![CDATA[Bedava Vodafone Kontör]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=527</guid>
		<description><![CDATA[
Uzun zamandır birşey için uğraşıyordum ve sonunda başarının verdiği mutluluğu sizlerle paylaşıyorum. Başlıkta yanlış yazmıyor, gerçekten kontöre ihtiyacı olanlar Turkcell,Avea,Vodafone farketmeksizin kontörlerini yollayabiliyorum. 
İlk başlarda bir üyeliği ele geçirmeyle başlayan cracking işleminde 2 arkadaşımın da yardımıyla şu anda ayrı 3 sistemi yönetebiliyorum. Belki dolandırıcılığa giriyor ama &#8220;zenginden alıp, halka dağıtma&#8221; dedikleri şeyi uyguluyorum.
Sistemlerin belirli bir [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-528" title="bedava_kontor" src="http://www.knbykl.org/wp-content/uploads/2010/02/bedava_kontor.jpg" alt="" width="615" height="100" /><br />
Uzun zamandır birşey için uğraşıyordum ve sonunda başarının verdiği mutluluğu sizlerle paylaşıyorum. Başlıkta yanlış yazmıyor, gerçekten kontöre ihtiyacı olanlar Turkcell,Avea,Vodafone farketmeksizin kontörlerini yollayabiliyorum. <span id="more-527"></span></p>
<p>İlk başlarda bir üyeliği ele geçirmeyle başlayan cracking işleminde 2 arkadaşımın da yardımıyla şu anda ayrı 3 sistemi yönetebiliyorum. Belki dolandırıcılığa giriyor ama &#8220;zenginden alıp, halka dağıtma&#8221; dedikleri şeyi uyguluyorum.</p>
<p>Sistemlerin belirli bir kredisi var, şu an yaklaşık eski parayla 4 milyar karşılığı kontör transfer hakkına sahibim. Bunu da sanırım en iyi dağıtmanın yolu bloguma yazmaktı. Herhangi bir suçlama yapamayacaklarının garantisini verebilirim, ayrıca parça kontör gelen numarayı da geri aramamalısınız.</p>
<p>Yapmanız gereken sadece yorum alanına telefon numaranızı ve hangi operatöre bağlı olduğunuzu belirtmek. 100 kontör ve üzeri de yükleme şansım var fakat sınırlama olarak 20 kontör ideal diye düşünüyorum, en azından daha fazla kişi yararlanmalı, belirli bir süreden sonra da bu miktarı 10 kontöre indirebilirim. Burayı kesinlikle bağımlılık haline getirmeyin, inanın bana bu insanlardan koparabildiğimiz kadarını koparmaya çalıştım, çünkü bahsettiğim kişiler ve firmalar insanları zehirlemek gibi pis işlerle de ilgileniyorlar.</p>
<p>Ayrıca yorum alanına numaranızı yazdığınız zaman, onaylanmadan gözükmeyeceği için, onaylarken de numaranızı gizleyeceğimden emin olabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/zenginden-alip-fakire-dagitmak/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Black Hawk Safety Net</title>
		<link>http://www.knbykl.org/black-hawk-safety-net/</link>
		<comments>http://www.knbykl.org/black-hawk-safety-net/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 15:30:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Çin Bilişim Suçları]]></category>
		<category><![CDATA[Hacker]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=524</guid>
		<description><![CDATA[
Black Hawk Safety Net&#8217;i daha önce duyanlarınız vardır. Ağdaki bilgisayarlara sızma, sistem açıklarından yararlanarak sistemi çökertme, bilgi hırsızlığı vb. konularda eğitimler veriyorlardı. Bu yüzden de Çin Bilişim Suçları Polisi grubun faaliyetlerini durdurmak için çalışmalar başlatmıştı. Bunu grup kendisi de açıklamıştı zaten.
Aslında herşey sitede bulunan 3 yöneticinin bilgisayarın nasıl çökertilmesi gerektiğini üyelerine öğretmesiyle başladı. Bu da [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-525" title="Black Hawk Safety Net" src="http://www.knbykl.org/wp-content/uploads/2010/02/Black-Hawk-Safety-Net.jpg" alt="" width="615" height="100" /></p>
<p>Black Hawk Safety Net&#8217;i daha önce duyanlarınız vardır. Ağdaki bilgisayarlara sızma, sistem açıklarından yararlanarak sistemi çökertme, bilgi hırsızlığı vb. konularda eğitimler veriyorlardı.<span id="more-524"></span> Bu yüzden de Çin Bilişim Suçları Polisi grubun faaliyetlerini durdurmak için çalışmalar başlatmıştı. Bunu grup kendisi de açıklamıştı zaten.</p>
<p>Aslında herşey sitede bulunan 3 yöneticinin bilgisayarın nasıl çökertilmesi gerektiğini üyelerine öğretmesiyle başladı. Bu da Çin&#8217;de suç sayıldığı için geçen sene başladı soruşturma.</p>
<p>Polis;</p>
<ul>
<li>1 otomobil</li>
<li>9 web sunucusu</li>
<li>5 bilgisayara</li>
</ul>
<p>el koyduğunu açıkladı.</p>
<p>2005&#8242;te kurulan sitesinin 200 bine yakın üyesi var, bunların 15 bine yakını belirli ücret karşılığı özel hazırlanan hacking dökümanlarını alabilmek için 1.02 milyon abd doları para ödediler.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/black-hawk-safety-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Türkiye&#8217;de 6123 Site Kapatıldı</title>
		<link>http://www.knbykl.org/turkiyede-6123-site-kapatildi/</link>
		<comments>http://www.knbykl.org/turkiyede-6123-site-kapatildi/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 02:17:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Bu siteye erişim mahkeme kararıyla engellenmiştir]]></category>
		<category><![CDATA[mahkeme kararı]]></category>
		<category><![CDATA[site kapatma]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=520</guid>
		<description><![CDATA[Türkiye’de erişim engelli internet sitesi sayısı 6 bini geçti. Sadece son dört ayda Türkiye’den erişimi engellenen web sitesi sayısı 3 bine yakın.


Erişime engellenen sitelerin yarısı 5651 sayılı İnternet Kanunu’nda sıralanan gerekçelerle kapatılırken, diğer yarısına erişim çoğunlukla MÜ-YAP’ın şikayeti üzerine 5864 sayılı Fikir ve Sanat Eserleri Kanunu Ek Madde 4 uyarınca engellendi.

Mahkeme Kararı Yazanlar (5550)
Mahkeme Kararı [...]]]></description>
			<content:encoded><![CDATA[<p>Türkiye’de erişim engelli internet sitesi sayısı 6 bini geçti. Sadece son dört ayda Türkiye’den erişimi engellenen web sitesi sayısı 3 bine yakın.<br />
<img class="alignnone size-full wp-image-521" title="turkiyede_kapatilan_siteler" src="http://www.knbykl.org/wp-content/uploads/2010/01/turkiyede_kapatilan_siteler.jpg" alt="turkiyede_kapatilan_siteler" width="615" height="100" /><br />
<span id="more-520"></span></p>
<p>Erişime engellenen sitelerin yarısı 5651 sayılı İnternet Kanunu’nda sıralanan gerekçelerle kapatılırken, diğer yarısına erişim çoğunlukla MÜ-YAP’ın şikayeti üzerine 5864 sayılı Fikir ve Sanat Eserleri Kanunu Ek Madde 4 uyarınca engellendi.</p>
<ul>
<li>Mahkeme Kararı Yazanlar (5550)</li>
<li>Mahkeme Kararı Yazmayanlar (550)</li>
<li>Erişim Engeli Kaldırılanlar (26)</li>
<li>Engellenen Wordpress Blogları (17)</li>
<li>Engellenen Blogger/Blogspot Blogları (29)</li>
</ul>
<p><em>Not: Bu bilgiler 1 Şubat 2010 tarihinde alınmıştır</em></p>
<p>651 sayılı yasa uyarınca engellenen sitelerin büyük kısmı cinsel içeriği nedeniyle erişime kapatıldı. Onu bahis ve kumar oynatma ve teşvik etme, Atatürk aleyhine işlenen suçlar, uyuşturucuya teşvik etme, fuhuş da diğer gerekçeler arasında.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/turkiyede-6123-site-kapatildi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Karıncaların Ölüm Zamanı Yaptıkları</title>
		<link>http://www.knbykl.org/karincalarin-olum-zamani-yaptiklari/</link>
		<comments>http://www.knbykl.org/karincalarin-olum-zamani-yaptiklari/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 01:58:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Konu Dışı]]></category>
		<category><![CDATA[düşünme]]></category>
		<category><![CDATA[Hasta Karınca]]></category>
		<category><![CDATA[Ratisbonne University]]></category>
		<category><![CDATA[Zooloji]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=515</guid>
		<description><![CDATA[Hasta karıncaların, ölmeden önce yuvadan uzaklaştıkları ortaya çıktı. Almanya&#8217;daki Ratisbonne Üniversitesi Zooloji Enstitüsü&#8217;nden bilimadamları, ölmeden kısa süre önce hasta karıncanın yuvayı terk ettiğini gördü.

Enstitüden yapılan açıklamada, hasta karıncanın yuvadaki diğer karıncalarla temas etmekten kaçındığını ve uzakta tek başına ölmeyi tercih ettiği belirtildi.
Bilimadamları, karıncaların &#8220;başkalarını düşünme özelliğine&#8221; sahip olduğunu ve özellikle yuvayı koruma kaygısı fazla olan [...]]]></description>
			<content:encoded><![CDATA[<p>Hasta karıncaların, ölmeden önce yuvadan uzaklaştıkları ortaya çıktı. Almanya&#8217;daki Ratisbonne Üniversitesi Zooloji Enstitüsü&#8217;nden bilimadamları, ölmeden kısa süre önce hasta karıncanın yuvayı terk ettiğini gördü.<img class="alignnone size-full wp-image-516" title="karincalarin_olum_zamani" src="http://www.knbykl.org/wp-content/uploads/2010/01/karincalarin_olum_zamani.jpg" alt="karincalarin_olum_zamani" width="615" height="100" /><br />
<span id="more-515"></span></p>
<p>Enstitüden yapılan açıklamada, hasta karıncanın yuvadaki diğer karıncalarla temas etmekten kaçındığını ve uzakta tek başına ölmeyi tercih ettiği belirtildi.</p>
<p>Bilimadamları, karıncaların &#8220;başkalarını düşünme özelliğine&#8221; sahip olduğunu ve özellikle yuvayı koruma kaygısı fazla olan işçi karıncaların hastalandıklarında kendilerini &#8220;yalnız ölmeye mahkum ettiğini&#8221; vurguladılar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/karincalarin-olum-zamani-yaptiklari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WAFP – Web Application Finger Printer</title>
		<link>http://www.knbykl.org/wafp-%e2%80%93-web-application-finger-printer/</link>
		<comments>http://www.knbykl.org/wafp-%e2%80%93-web-application-finger-printer/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 03:29:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Ruby Dili]]></category>
		<category><![CDATA[WAFP]]></category>
		<category><![CDATA[Web Application Finger Printer]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=494</guid>
		<description><![CDATA[Wafp, ruby ile yazılmış, sqlite3 kullanan ve bir web sitesinden aldığı bilgileri kendi database’i ile karşılaştırarak  ilgili web uygulama hakkında bilgi veren ve sürüm numarasını tespit etmek üzere kullanılan bir araçtır.


Penetrasyon testleri için kullanılabilecek olan wafp detayında belirttiğiniz web sitesinden aldığı veriyi bir db’ye yazar, sonrasında da elde edilen bu veriye ait checksum’ları kendi database’inde [...]]]></description>
			<content:encoded><![CDATA[<p>Wafp, ruby ile yazılmış, sqlite3 kullanan ve bir web sitesinden aldığı bilgileri kendi database’i ile karşılaştırarak  ilgili web uygulama hakkında bilgi veren ve sürüm numarasını tespit etmek üzere kullanılan bir araçtır.<br />
<img class="alignnone size-full wp-image-512" title="WAFP–WebApplicationFingerPrinter" src="http://www.knbykl.org/wp-content/uploads/2010/01/WAFP–WebApplicationFingerPrinter1.jpg" alt="WAFP–WebApplicationFingerPrinter" width="615" height="100" /><br />
<span id="more-494"></span><br />
Penetrasyon testleri için kullanılabilecek olan wafp detayında belirttiğiniz web sitesinden aldığı veriyi bir db’ye yazar, sonrasında da elde edilen bu veriye ait checksum’ları kendi database’inde bulunanlarla eşleştirerek uygulama hakkında sürüm numarası gibi bilgileri saptar.  Bu şekilde hedef uygulamanın altyapısı hakkında bilgi edinilebilir.</p>
<p>Penetrasyon testerları için faydalı bir araç olan web application finger printer, ruby ve shell scriptlerden oluştuğu için sisteme ayıca kurulmaya gerek bulunmamaktadır ve tüm linux dağıtımlarında ve gerekli düzenlemeleri yaptıktan sonra BSD’ler üzerinde de çalışabilir.  Yazının devamında kullanımı ile ilgili detaylı bilgi bulabilirsiniz.</p>
<p><a href="http://mytty.org/wafp/">http://mytty.org/wafp/</a> adresinden download edilebilen wafp’yi çalıştırabilmek için sisteminizde öncesinden aşağıdaki paketler yüklü olmalıdır.</p>
<ul>
<li>ruby &gt;= 1.8</li>
<li>sqlite3 &gt;= 3</li>
<li>sqlite3-ruby &gt;= 1.2.4</li>
</ul>
<p>İndirdiğiniz paketi açtığınız zaman dizin içerisindeki README ve HOWTO dosyalarında detaylı bilgiler bulunmaktadır en temel kullanım şekli ruby scriptin direk ./wafp.rb şeklinde çalıştırılmasıdır.</p>
<p>Not: Wafp’yi FreeBSD üzerinde çalıştırmak istiyorsanız ruby path’ini doğru şekilde belirtmeniz gerekir.</p>
<p>Scripti -h parametresi ile çalıştırırsanız aşağıdaki help ekranı görüntülenir.</p>
<blockquote><p># ./wafp.rb -h<br />
USAGE: ./wafp.rb [Options] {URL}<br />
&#8211;<br />
-p, &#8211;product STRING       a string which represents the name of the product to check for;<br />
STRING can be something like: &#8220;wordpress&#8221;<br />
-v, &#8211;pversion STRING      a string which represents the versions of the product to check for;<br />
STRING can be something like: &#8220;2.2.1&#8243; or &#8220;%.2&#8243; or &#8220;1.%&#8221;.<br />
-P, &#8211;dump-products STRING this will dump all products for which fingerprints are available;<br />
STRING can be something like: &#8220;%bb%&#8221; which will select all products<br />
having bb|BB in their name.<br />
-s, &#8211;store STRING         write the fetched data to the database for later use;<br />
STRING is used as an identifier.<br />
-f, &#8211;fetch                fetch only &#8211; do not fingerprint the app.<br />
(mostly used in conjunction with -s)<br />
-l, &#8211;list STRING          list the stored data archives containing STRING.<br />
STRING is optional in this case.<br />
-d, &#8211;dry STRING           perform the fingerprint on the stored data STRING instead of fetching it.<br />
-t, &#8211;threads INT          this is the count of threads to use. [8]<br />
&#8211;user-agent STRING    a STRING which holds the User-Agent headerfield contents.<br />
&#8211;outlines INT         number of results to print. [10]<br />
&#8211;timeout INT          connection timeout in seconds. [10]<br />
&#8211;retries INT          maximum retries per file to fetch. [3]<br />
&#8211;any                  this causes wafp to fetch all files known by fingerprints of all products.<br />
&#8211;low-mem              this causes wafp to NOT load the fingerprint database to the memory.<br />
&#8211;verbose              turns on verbose output.<br />
&#8211;debug                turns on debug output.<br />
&#8211;quiet                output off &#8211; besides the final results.<br />
&#8211;dbinfo               prints some database stats.<br />
&#8211;version              print WAFP version and exit.<br />
-h, &#8211;help                 print this help and exit.</p>
<p>EXAMPLES:<br />
./wafp.rb -p &#8216;wordpress&#8217; -v &#8216;2%&#8217; http://blog.example.com/<br />
./wafp.rb -f -t 32 -s phpmy-save01 -p &#8216;phpmyadmin&#8217; -v &#8216;1.1.%&#8217; https://user:pass@www.example.com/phpmyadmin/<br />
./wafp.rb -d phpmy-save01 -p &#8216;phpmyadmin&#8217; -v &#8216;1.1.%&#8217;</p></blockquote>
<p>Wafp’nin en temel kullanım şekli şöyledir:</p>
<blockquote><p>./wafp.rb -p phpBB http://www.example.com/</p></blockquote>
<p>Komutun çıktısı aşağıdakine benzer olacaktır:</p>
<blockquote><p>wafp.rb &#8211;verbose -p phpmyadmin https://phpmyadmin.example.de<br />
VERBOSE: loading the fingerprint database to the ram&#8230;<br />
Collecting the files we need to fetch &#8230;<br />
Fetching needed files (#432), calculating checksums and storing the results to the database:<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..<br />
VERBOSE: request for &#8220;/themes/darkblue_orange/img/b_info.png&#8221; produced &#8220;Connection refused &#8211; connect(2)&#8221; for 1 times &#8211; retrying&#8230;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..<br />
Checking gathered/stored checksums (#432) against the selected product (phpmyadmin) versions (#87) checksums:<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>found the following matches (limited to 10):<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
phpmyadmin-2.11.9.1                	 296 / 299  (98.99%)<br />
phpmyadmin-2.11.9.2                	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.9.4                	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.8.1                	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.9.5                	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.8                  	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.9.3                	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.9                  	 295 / 299  (98.66%)<br />
phpmyadmin-2.11.4                  	 294 / 299  (98.33%)<br />
phpmyadmin-2.11.5.2                	 294 / 299  (98.33%)<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
WAFP 0.01-26c3  &#8211; - &#8211; - &#8211; - &#8211; - &#8211;  http://mytty.org/wafp/</p>
<p>VERBOSE: Returncode stats:<br />
VERBOSE: Ret-Code	200	#302<br />
VERBOSE: Ret-Code	404	#130<br />
VERBOSE: deleting the temporary database entries for scan &#8220;472312620367191262036719_httpsphpmyadmin.example.de&#8221; &#8230;</p></blockquote>
<p>Ancak hedef sitenin altyapısı konusunda hiç bir fikriniz yoksa o halde -p parametresini iptal edebilirsiniz:</p>
<blockquote><p>./wafp.rb http://www.example.com/</p></blockquote>
<p>Son olarak, wafp’nin ana database’i utils/ isimli dizinde bulunan online_update.sh shell scripti sayesinde güncellenebilir.</p>
<p>Sahip olduğunuz db versiyonu için</p>
<blockquote><p>./online_update.sh &#8211;show</p></blockquote>
<p>Db’yi update etmek içinse</p>
<blockquote><p>./online_update.sh &#8211;update</p></blockquote>
<p>komutlarından yararlanabilirsiniz.<br />
Kaynak:syslogs<br />
Göndere:nalcaci</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/wafp-%e2%80%93-web-application-finger-printer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debug ve Kullanımı</title>
		<link>http://www.knbykl.org/debug-ve-kullanimi/</link>
		<comments>http://www.knbykl.org/debug-ve-kullanimi/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 09:15:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[a100]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debug komutları]]></category>
		<category><![CDATA[decimal]]></category>
		<category><![CDATA[moh ah]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=484</guid>
		<description><![CDATA[İster DOS olsun isterse Windows, çalıştırılabilir iki tipte dosya bulunur. Com veya exe tipindedir. Com tipi dosyalar birebir programın bellekteki şeklinin aynısıdır. Exe tipi dosyalarda ise programın başında işletim sisteminin anlayacağı tipte bir başlık bulunur.

İşletim sistemi bu kısımdaki direktiflere göre code, data ve diğer segmentleri bellekte boş olan yerlere göre hafızaya yükler ve ilgili segmentlerin [...]]]></description>
			<content:encoded><![CDATA[<p>İster <span style="color: #008000;">DOS</span> olsun isterse <span style="color: #008000;">Windows</span>, çalıştırılabilir iki tipte dosya bulunur. <span style="color: #008000;">Com</span> veya <span style="color: #008000;">exe</span> tipindedir. Com tipi dosyalar birebir programın bellekteki şeklinin aynısıdır. Exe tipi dosyalarda ise programın başında işletim sisteminin anlayacağı tipte bir başlık bulunur.<br />
<img class="alignnone size-full wp-image-490" title="debug-ve-kullanimi-image-assembly" src="http://www.knbykl.org/wp-content/uploads/2009/12/debug-ve-kullanimi-image-assembly.jpg" alt="debug-ve-kullanimi-image-assembly" width="615" height="100" /><br />
<span id="more-484"></span>İşletim sistemi bu kısımdaki direktiflere göre code, data ve diğer segmentleri bellekte boş olan yerlere göre hafızaya yükler ve ilgili segmentlerin adreslerini registerlere aktararak programin ilk komutu ile işlemi programa bırakır. Com tipi programlarda böyle bir düzenleme yapılmaz, sadece diskten okunur, boş bir bellek adresine yerleştirilerek yürütme programa bırakılır. Tabii dos altında olsa idik tam olarak böyle idi. Windows altında dos için yazılmış olan tüm programlar bir dos emülasyon penceresi altında sanal bir ortamda çalışırlar. (Com dosyaları 64k dan daha uzun olamazlar, exe tipi dosyalarda bu tür bir sınırlama olmayıp gelişmiş özellikler içerirler. Bu nedenlerle exe tip dosyalar daha çok kullanılırlar.)</p>
<p>Exe tipi programlar derlenerek hazırlabilirler, fakat com tipi dosyaların derlenmeye ihtiyacı yoktur ve Debug.exe isimli komut satırı programı ile bunlar programlanabilir. Debug.exe tüm dos ve windows işletim sistemleri ile birlikte geldiği için ek bir program kurmanıza gerek yoktur. Tabii bu programı sadece komutların kullanımlarını görmek, programımızı satır satır çalıştırarak registerleri nasıl etkilediğini görmek amacıyla kullanacağız. Fakat kullandıkça vazgeçmesi zor bir programdır, yani bağımlılık yapar. (Şunu unutmamalıyız: Debug ile 16 bit registerlere ulaşabilir ve bu şekilde program yazabiliriz, 32bit ile çalışmalar bir sonraki bölümden itibaren başlayacaktır.)</p>
<p><span style="color: #008000;">Başlat -&gt; Çalıştır</span> yolunu izleyerek <span style="color: #008000;">command</span> yazıyoruz. Sonra <span style="color: #008000;">debug</span> yazıp enterleyin. Karşımıza sadece &#8216;-&#8217; işareti geldi. Artık debug  bizden komut girmemizi bekliyor. Aşağıda ilk programımızı yazdık, şimdi biraz anlatalım.</p>
<p><img src="http://www.knbykl.org/wp-content/uploads/2009/12/debug01.gif" alt="" /></p>
<p>Komut satırını açarak debug&#8217;a geçiş yaptık. &#8216;<span style="color: #008000;">a100</span>&#8216; şeklinde bir ifade var. &#8216;<span style="color: #008000;">a</span>&#8216; komutu bizim assembly kodlarının girişine başlayacağımızı bildirir. sonundaki &#8216;100&#8242; ise komutları yazmaya başlayacağımız adrestir. Debug ile sadece com tipi dosyalar yazılabiliyor ve bu tür programlar 100h adresinden itibaren yazılırlar. (Debug altında gireceğimiz tüm matematiksel ifadeler hexadecimal sistemdedir!!! Yani <span style="color: #008000;">100h</span> aslında decimal 256&#8242;ya denk gelir.)</p>
<p><span style="color: #008000;">mov ah,2</span> : <span style="color: #008000;">MOV</span> komutu bizim en çok kullanacağımız komutlardan biri. Sağdaki register içeriğini veya herhangi bir hexadecimal sabit değerin soldaki registere kaydedilmesidir. Tabii bu durumda ah&#8217;ın eski değeri kaybolur, zaten bizim için şu anda bunun önemi yok. (com tipi dosyalarda program ilk çalışmaya başladığında çoğu registerin değeri sıfırdır.)</p>
<p><span style="color: #008000;">mov dl,3</span> : Yukarıdaki <span style="color: #008000;">MOV</span> komutu gibi burada da bir atama söz konusu. <span style="color: #008000;">DL</span> isimli 8bit registere <span style="color: #008000;">3h</span> değeri kaydediliyor.</p>
<p><span style="color: #008000;">int 21, int 20</span> : Bu komutlar dos kullanıldığı zamanlarda geçerli idi. Benzer işlemde şu anda windows altında API fonksiyonları görev yapmaktadır. Bunları bir tür dos işletim sisteminin bize sunduğu hazır fonksiyonlar olarak görebiliriz. Elbette sadece 20 ve 21 bulunmamakta. Fakat bunlara değinmeyeceğiz. (int=interrupt) Interrupt 20 parametresiz çağırılır ve bizim com tipi programımızı sonlandırır. Interrupt 21 dos ile gelen dev bir fonksiyonlar kütüphanesidir. Hangi numaralı fonksiyonun çağırılacağını ah registerine koymak zorundayız. Fonksiyonun tipine göre istenen başka değerler bulunuyor ise bunlar da ilgili registerlara atanmalıdır. Daha sonra interrup çağrısı yapılır. Biz iki numaralı fonksiyonu (yani ekrana karakter yollama fonksiyonu) çağırıyoruz, bunun için ah a 2 atadık. Daha sonra ASCII karakter tablosuna göre hangi değer ekrana getirilecek ise onun hexadecimal değerini DL registerine atıyoruz. (Burada 3h kalp şeklinde bir karakter, eğer 41h değeri atanırsa &#8216;A&#8217; harfi ekrana basılır.) (Bunlardan sonraki satırı ENTER ile boş geçin.)</p>
<p><span style="color: #008000;">g</span> : ile programa çalışma emri veriliyor. Gördüğünüz gibi bir karakter ekrana basılıp program int 20 ye geldiğinde normal olarak sonlanıyor.</p>
<p><span style="color: #008000;">n </span>: ile programımıza isim veriyoruz. <span style="color: #008000;">r cx</span> ile <span style="color: #008000;">cx</span> registerinin değerini değiştirerek 8 giriyoruz çünkü programımızın son satırı <span style="color: #008000;">0108</span> adresini gösteriyor. Ilk satır <span style="color: #008000;">0100</span> ise arada 8 byte yokmu? Yani programımız 8byte uzunluğunda ve biz bunu cx&#8217;e aktararak diske kaydedilecek programın boyutunu belirtiyoruz ve w ile işlem tamamlanıyor. Artık q komutunu verip Debug&#8217;dan çıkın ve bulunduğunuz dizinde 8 byte uzunluğunda bir kalp.com isimli program var mı bir bakın. Veya hemen kalp yazıp ekran çıktısının debug içinde g komutu ile aldığımızın aynısı olduğunu görebilirsiniz. Bu bizim ilk programımız oldu.</p>
<p><img src="http://www.knbykl.org/wp-content/uploads/2009/12/debug02.gif" alt="" /></p>
<p>Yukarıdaki çalışma yine aynı program üzerinde yapıldı. Burada <span style="color: #008000;">t (trace, izle) </span>komutu ile programımızı satır satır çalıştırdık ve registerler üzerindeki etkilerine baktık. Interruptlar birer dev kod bloğu olduğuna göre ve bunları da trace eder isek sayfalar sonra içinde çıkabileceğimiz için bunları pas geçmek için p kullanıldı. Ilk komut işlendikten sonra ekrana ilk gelen bölümü inceleyelim. Ilk komut <span style="color: #008000;">mov ah,2</span> idi. Gördüğünüz gibi <span style="color: #008000;">AX=0200</span> bölümünde <span style="color: #008000;">AX</span> in üst 8 bitine yani AH&#8217;a 2 değeri atanmış. Burada dikkat ederseniz <span style="color: #008000;">DS,ES,SS,CS </span>değerleri yani segment registerları aynı blok adresini gösteriyorlar. Yani com tipi dosyalarda kodlar ile datalar aynı yerde bulunuyor. Bu da bize program yazarken dikkatli olmamız gerektiği anlamında önemli bir not. IP pointeri daima sırada işlenecek olan komıtu gösterir. Ilk komut işlendiğine göre 0102 değerini gösteriyor. IP nin hemen sağ tarafındaki ifadeler flagların durumlarını göstermektedir, şu anda önemli değil. Üçüncü satırda sırayla şunlar yer alıyor: <span style="color: #008000;">CS:IP &lt;MAKINA KODU&gt; &lt;ASSEMBLY KARŞILIĞI&gt;</span></p>
<p>Ikinci trace&#8217;de <span style="color: #008000;">DL</span> ye 3 değerinin aktarılmış olduğu rahatlıkla görülebilir. Bundan sonraki p komutu ile <span style="color: #008000;">int 21</span> işleme girer ve ekranda görülen kalp işareti geliyor. <span style="color: #008000;">int 20</span> de programdan çıkılıyor. Bu basit bir örnek oldu, daha karmaşık bir örnek inceleyelim.</p>
<p><img src="http://www.knbykl.org/wp-content/uploads/2009/12/debug03.gif" alt="" /></p>
<p><span style="color: #008000;">mov ah,2</span> : Interrupt 21 içindeki 2 numaralı fonksiyon yani ekrana karakter basmamız için atıyoruz.</p>
<p><span style="color: #008000;">mov cx,FF</span> : Şu ana kadar görmediğimiz döngü işlemi için kullanılacak. <span style="color: #008000;">FF yani decimal 255</span> değeri <span style="color: #008000;">CX</span> e atanıyor. Aşağıdaki <span style="color: #008000;">loop &lt;adres&gt;</span> komutuna gelindiğinde cx in değeri bir azaltılıyor ve  sıfıra eşit değil ise &lt;adres&gt; değerine atlıyor program. CX içindeki sayı kadar bu loop döngüsü devam ediyor, yani 255 defa. CX sıfıra eşit olduğunda ise hiçbir işlem yapılmıyor ve bir alttaki komut ile programa devam ediliyor. Diyebiliriz ki LOOP komutu gizli olarak cx registerini kullanmaktadır.</p>
<p><span style="color: #008000;">inc dl</span> : inc komutu karşısındaki registerin değerini bir artırır. Biliyorsunuz ki ekrana gönderilecek karakter dl içinde. Biz 255 döngü içinde 1 ila 255 arasındaki tüm ASCII karakterleri ekrana basmak istiyoruz. Bunun için toplama işlemi de yapabilirdik (add dl,1) fakat bu işlemin okunurluğu daha iyidir.</p>
<p><span style="color: #008000;">int 21</span> : Ekrana karakter yazma fonksiyonu çağırılıyor.</p>
<p><span style="color: #008000;">loop 105</span> : <span style="color: #008000;">CX</span> sıfıra eşit değil ise 105 adresine zıpla.</p>
<p><span style="color: #008000;">int 20</span> : Programdan çık.</p>
<p>Aşağıda <span style="color: #008000;">g (go)</span> komutu ile çıktı alınıyor. Tabii buradaki karakter seti dos altındaki; windows altındaki ile uyuşmayabilir. Daha sonra ise ascii.com şeklinde kaydediliyor.</p>
<p> </p>
<p><strong><span style="font-size: x-small;">Aşağıda bazı assembly komutları ve açıklamaları bulunuyor:</span></strong></p>
<p><span style="color: #008000;">MOV</span> : Değer aktarmak için kullanılır.  <span style="color: #008000;">mov ah,2 mov ax,FFFF mov bx,cx mov dl,bh mov [200],ah mov dl,[382]</span> gibi. (Köşeli parantez &#8216;adresindeki&#8217; anlamındadır. Yani ah içeriğini 200 adresine transfer et gibi.)<br />
<span style="color: #008000;">XCHG</span> : İki registerin içeriklerini karşılıklı olarak değiştirmelerini sağlar. <span style="color: #008000;">xchg ah,bh xchg ax,dx</span> gibi.<br />
<span style="color: #008000;">ADD</span> : İki değerin toplanması amacıyla kullanılır. Sonuç değer soldaki registere kaydedilir. <span style="color: #008000;">add ax,bx add ah,AF add dl,1 add al,ah</span> gibi.<br />
<span style="color: #008000;">SUB</span> : Çıkarma işlemi yapar. Sonuç ilk registere kaydedilir. <span style="color: #008000;">sub ah,1 sub ax,bx sub cx,10</span> gibi.<br />
<span style="color: #008000;">MUL</span> : Çarpma işlemi yapar. Tabii ki tüm işlemlerde olduğu gibi değerler ve sonuçlar hexadecimaldir. 3 farklı durumda incelenebilir.<br />
<span style="color: #008000;">8bit*8bit</span> yani <span style="color: #008000;">byte*byte : </span>Çarpılacak değerlerden biri <span style="color: #008000;">al</span> ye kaydedilir <span style="color: #008000;">mov al,5F</span> gibi. Daha sonra çarpma işlemi yapılır, <span style="color: #008000;">mul bl</span> gibi. Sonuç ise <span style="color: #008000;">ax</span> registerindedir. (ax=al*bl işlemi)<br />
<span style="color: #008000;">16bit*16bit</span> yani <span style="color: #008000;">word*word : </span>Çarpılacak değerlerden biri <span style="color: #008000;">ax</span> ye kaydedilir <span style="color: #008000;">mov ax,05FF</span> gibi. Daha sonra çarpma işlemi yapılır, <span style="color: #008000;">mul bx</span> gibi. Sonuç ise <span style="color: #008000;">dx,ax </span>ikilisine aktarılmıştır. Yani üst 16bitlik kısım <span style="color: #008000;">dx</span> de, alt 16bitlik kısım ise <span style="color: #008000;">ax</span> dedir. (dx,ax=ax*bx)<br />
<span style="color: #008000;">32bit*32bit</span> yani <span style="color: #008000;">dword*dword </span>Çarpılacak değerlerden biri <span style="color: #008000;">eax</span> ye kaydedilir <span style="color: #008000;">mov eax,A055FF10</span> gibi. Daha sonra çarpma işlemi yapılır, <span style="color: #008000;">mul ebx</span> gibi. Sonuç ise <span style="color: #008000;">edx,eax </span>ikilisine aktarılmıştır. Yani üst 32bitlik kısım <span style="color: #008000;">edx</span> de, alt 32bitlik kısım ise <span style="color: #008000;">eax</span> dedir. (edx,eax=eax,ebx)</p>
<p><span style="color: #008000;">DIV</span> : Bölme işlemi için kullanılır. Ayrıntılarına girmiyorum.<br />
<span style="color: #008000;">INC</span> : Register içeriğini bir artırır. <span style="color: #008000;">inc ah</span> gibi<br />
<span style="color: #008000;">DEC</span> : Register içeriğini bir azaltır. <span style="color: #008000;">dec cx</span> gibi.<br />
<span style="color: #008000;">NEG</span> : Sayının ikili tamamlayıcısını bulur. Örneğin <span style="color: #008000;">al</span> de 11110000 binary değeri bulunuyor ise <span style="color: #008000;">neg al</span> işleminden sonra bu değer 00001111 olur.<br />
<span style="color: #008000;">PUSH</span> : Stack a yani stack segmente değer göndermek için kullanılır. <span style="color: #008000;">push ax</span> gibi.<br />
<span style="color: #008000;">POP</span> : Stack dan değer çekmek için kullanılır. <span style="color: #008000;">pop cx</span> gibi.</p>
<p><strong><span style="font-size: x-small;">Aşağıda assembly komutlarının çoğunun bulunduğu bir liste mevcuttur. Geliştirilen her yeni komutseti ile bu liste büyümektedir:</span></strong></p>
<p><span style="color: #008000;"><span style="color: #99cc00;"><span style="color: #00ccff;">A<br />
</span><br />
AAA ASCII Adjust After Addition<br />
AAD ASCII Adjust AX Before Division<br />
AAM ASCII Adjust AX After Multiply<br />
AAS ASCII Adjust AL After Subtraction<br />
ADC Add with Carry<br />
ADD Add<br />
AND Logical AND<br />
ARPL Adjust RPL Field of Segment Selector</span><span style="color: #99cc00;">WAIT/FWAIT Wait<br />
WBINVD Write Back and Invalidate Cache<br />
WRMSR Write to Model Specific Register</span><span style="color: #99cc00;">XADD Exchange and Add<br />
XCHG Exchange Register/Memory with Register<br />
XLAT/XLATB Table Look-up Translation<br />
XOR Logical Exclusive OR</span></span></p>
<p><span style="color: #00ccff;">B</span></p>
<p><span style="color: #99cc00;">BOUND Check Array Index Against Bounds<br />
BSF Bit Scan Forward<br />
BSR Bit Scan Reverse<br />
BSWAP Byte Swap<br />
BT Bit Test<br />
BTC Bit Test and Complement<br />
BTR Bit Test and Reset<br />
BTS Bit Test and Set</span></p>
<p><span style="color: #00ccff;">C</span></p>
<p><span style="color: #99cc00;">CALL Call Procedure<br />
CBW/CWDE Convert Byte to Word/Convert Word to Doubleword<br />
CDQ Convert Double to Quad<br />
CLC Clear Carry Flag<br />
CLD Clear Direction Flag<br />
CLI Clear Interrupt Flag<br />
CLTS Clear Task-Switched Flag in CR0<br />
CMC Complement Carry Flag<br />
CMOVcc Conditional Move<br />
CMP Compare Two Operands<br />
CMPS/CMPSB/CMPSW/CMPSD Compare String Operands</span></p>
<p><span style="color: #99cc00;">CMPXCHG Compare and Exchange<br />
CMPXCHG8B Compare and Exchange 8 Bytes<br />
CPUID CPU Identification<br />
CWD/CDQ Convert Word to Doubleword/Convert Doubleword to Quadword<br />
CWDE Convert Word to Doubleword</span></p>
<p><span style="color: #00ccff;">D</span></p>
<p><span style="color: #99cc00;">DAA Decimal Adjust AL after Addition<br />
DAS Decimal Adjust AL after Subtraction<br />
DEC Decrement by 1<br />
DIV Unsigned Divide</span></p>
<p><span style="color: #00ccff;">E</span></p>
<p><span style="color: #99cc00;">EMMS Empty MMX(TM) Technology State<br />
ENTER Make Stack Frame for Procedure Parameters</span></p>
<p><span style="color: #00ccff;">F<br />
</span><br />
<span style="color: #99cc00;">F2XM1 Compute 2x-1<br />
FABS Absolute Value<br />
FADD/FADDP/FIADD Add<br />
FBLD Load Binary Coded Decimal<br />
FBSTP Store BCD Integer and Pop<br />
FCHS Change Sign<br />
FCLEX/FNCLEX Clear Exceptions<br />
FCMOVcc Floating-Point Conditional Move<br />
FCOM/FCOMP/FCOMPP Compare Real<br />
FCOMI/FCOMIP/ FUCOMI/FUCOMIP Compare Real and Set EFLAGS</span></p>
<p><span style="color: #99cc00;">FCOS Cosine<br />
FDECSTP Decrement Stack-Top Pointer<br />
FDIV/FDIVP/FIDIV Divide<br />
FDIVR/FDIVRP/FIDIVR Reverse Divide<br />
FFREE Free Floating-Point Register<br />
FICOM/FICOMP Compare Integer<br />
FILD Load Integer<br />
FINCSTP Increment Stack-Top Pointer<br />
FINIT/FNINIT Initialize Floating-Point Unit<br />
FIST/FISTP Store Integer<br />
FLD Load Real</span></p>
<p><span style="color: #99cc00;">FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ Load Constant<br />
FLDCW Load Control Word<br />
FLDENV Load FPU Environment<br />
FMUL/FMULP/FIMUL Multiply<br />
FNOP No Operation<br />
FPATAN Partial Arctangent<br />
FPATAN Partial Archtangent<br />
FPREM1 Partial Remainder<br />
FPTAN Partial Tangent<br />
FRNDINT Round to Integer<br />
FRSTOR Restore FPU State</span></p>
<p><span style="color: #99cc00;">FSAVE/FNSAVE Store FPU State<br />
FSCALE Scale<br />
FSIN Sine<br />
FSINCOS Sine and Cosine<br />
FSQRT Square Root<br />
FST/FSTP Store Real<br />
FSTCW/FNSTCW Store Control Word<br />
FSTENV/FNSTENV Store FPU Environment<br />
FSTSW/FNSTSW Store Status Word<br />
FSUB/FSUBP/FISUB Subtract<br />
FSUBR/FSUBRP/FISUBR Reverse Subtract<br />
FTST TEST</span></p>
<p><span style="color: #99cc00;">FUCOM/FUCOMP/FUCOMPP Unordered Compare Real<br />
FWAIT Wait<br />
FXAM Examine<br />
FXCH Exchange Register Contents<br />
FXTRACT Extract Exponent and Significand<br />
FYL2X Compute y * log2x<br />
FYL2XP1 Compute y * log2(x +1)</span></p>
<p><span style="color: #00ccff;">H</span></p>
<p><span style="color: #99cc00;">HLT Halt</span></p>
<p><span style="color: #00ccff;">I</span></p>
<p><span style="color: #99cc00;">IDIV Signed Divide<br />
IMUL Signed Multiply<br />
IN Input from Port<br />
INC Increment by 1<br />
INS/INSB/INSW/INSD Input from Port to String<br />
INT n/INTO/INT 3 Call to Interrupt Procedure<br />
INVD Invalidate Internal Caches<br />
INVLPG Invalidate TLB Entry<br />
IRET/IRETD Interrupt Return</span></p>
<p><span style="color: #00ccff;">J</span></p>
<p><span style="color: #99cc00;">Jcc Jump if Condition Is Met<br />
JMP Jump</span></p>
<p><span style="color: #00ccff;">L</span></p>
<p><span style="color: #99cc00;">LAHF Load Status Flags into AH Register<br />
LAR Load Access Rights Byte<br />
LDS/LES/LFS/LGS/LSS Load Far Pointer<br />
LEA Load Effective Address<br />
LEAVE High Level Procedure Exit<br />
LES Load Full Pointer<br />
LFS Load Full Pointer<br />
LGDT/LIDT Load Global/Interrupt Descriptor Table Register<br />
LGS Load Full Pointer<br />
LLDT Load Local Descriptor Table Register</span></p>
<p><span style="color: #99cc00;">LIDT Load Interrupt Descriptor Table Register<br />
LMSW Load Machine Status Word<br />
LOCK Assert LOCK# Signal Prefix<br />
LODS/LODSB/LODSW/LODSD Load String<br />
LOOP/LOOPcc Loop According to ECX Counter<br />
LSL Load Segment Limit<br />
LSS Load Full Pointer<br />
LTR Load Task Register</span></p>
<p><span style="color: #00ccff;">M<br />
</span><br />
<span style="color: #99cc00;">MOV Move<br />
MOV Move to/from Control Registers<br />
MOV Move to/from Debug Registers<br />
MOVD Move 32 Bits<br />
MOVQ Move 64 Bits<br />
MOVS/MOVSB/MOVSW/MOVSD Move Data from String to String<br />
MOVSX Move with Sign-Extension<br />
MOVZX Move with Zero-Extend<br />
MUL Unsigned Multiply</span></p>
<p><span style="color: #00ccff;">N</span></p>
<p><span style="color: #99cc00;">NEG Two&#8217;s Complement Negation<br />
NOP No Operation<br />
NOT One&#8217;s Complement Negation</span></p>
<p><span style="color: #00ccff;">O</span></p>
<p><span style="color: #99cc00;">OR Logical Inclusive OR<br />
OUT Output to Port<br />
OUTS/OUTSB/OUTSW/OUTSD Output String to Port</span></p>
<p><span style="color: #00ccff;">P</span></p>
<p><span style="color: #99cc00;">PACKSSWB/PACKSSDW Pack with Signed Saturation<br />
PACKUSWB Pack with Unsigned Saturation<br />
PADDB/PADDW/PADDD Packed Add<br />
PADDSB/PADDSW Packed Add with Saturation<br />
PADDUSB/PADDUSW Packed Add Unsigned with Saturation<br />
PAND Logical AND<br />
PANDN Logical AND NOT<br />
PCMPEQB/PCMPEQW/PCMPEQD Packed Compare for Equal<br />
PCMPGTB/PCMPGTW/PCMPGTD Packed Compare for Greater Than</span></p>
<p><span style="color: #99cc00;">PMADDWD Packed Multiply and Add<br />
PMULHW Packed Multiply High<br />
PMULLW Packed Multiply Low<br />
POP Pop a Value from the Stack<br />
POPA/POPAD Pop All General-Purpose Registers<br />
POPF/POPFD Pop Stack into EFLAGS Register<br />
POR Bitwise Logical OR<br />
PSLLW/PSLLD/PSLLQ Packed Shift Left Logical<br />
PSRAW/PSRAD Packed Shift Right Arithmetic<br />
PSRLW/PSRLD/PSRLQ Packed Shift Right Logical</span></p>
<p><span style="color: #99cc00;">PSUBB/PSUBW/PSUBD Packed Subtract<br />
PSUBSB/PSUBSW Packed Subtract with Saturation<br />
PSUBUSB/PSUBUSW Packed Subtract Unsigned with Saturation<br />
PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ Unpack High Packed Data<br />
PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ Unpack Low Packed Data<br />
PUSH Push Word or Doubleword Onto the Stack<br />
PUSHA/PUSHAD Push All General-Purpose Registers<br />
PUSHF/PUSHFD Push EFLAGS Register onto the Stack</span></p>
<p><span style="color: #99cc00;">PXOR Logical Exclusive OR</span></p>
<p><span style="color: #00ccff;">R</span></p>
<p><span style="color: #99cc00;">RCL/RCR/ROL/ROR Rotate<br />
RDMSR Read from Model Specific Register<br />
RDPMC Read Performance-Monitoring Counters<br />
RDTSC Read Time-Stamp Counter<br />
REP/REPE/REPZ/REPNE /REPNZ Repeat String Operation Prefix<br />
RET Return from Procedure<br />
ROL/ROR Rotate<br />
RSM Resume from System Management Mode</span></p>
<p><span style="color: #00ccff;">S<br />
</span><br />
<span style="color: #99cc00;">SAHF Store AH into Flags<br />
SAL/SAR/SHL/SHR Shift<br />
SBB Integer Subtraction with Borrow<br />
SCAS/SCASB/SCASW/SCASD Scan String<br />
SETcc Set Byte on Condition<br />
SGDT/SIDT Store Global/Interrupt Descriptor Table Register<br />
SHL/SHR Shift Instructions<br />
SHLD Double Precision Shift Left<br />
SHRD Double Precision Shift Right<br />
SIDT Store Interrupt Descriptor Table Register</span></p>
<p><span style="color: #99cc00;">SLDT Store Local Descriptor Table Register<br />
SMSW Store Machine Status Word<br />
STC Set Carry Flag<br />
STD Set Direction Flag<br />
STI Set Interrupt Flag<br />
STOS/STOSB/STOSW/STOSD Store String<br />
STR Store Task Register<br />
SUB Subtract</span></p>
<p><span style="color: #00ccff;">T<br />
</span><br />
<span style="color: #99cc00;">TEST Logical Compare</span></p>
<p><span style="color: #00ccff;">U<br />
</span><br />
<span style="color: #99cc00;">UD2 Undefined Instruction</span></p>
<p><span style="color: #00ccff;">V<br />
</span><br />
<span style="color: #99cc00;">VERR, VERW Verify a Segment for Reading or Writing</span></p>
<p><span style="color: #00ccff;">W</span></p>
<p><span style="color: #00ccff;"><span style="color: #99cc00;">WAIT/FWAIT Wait<br />
WBINVD Write Back and Invalidate Cache<br />
WRMSR Write to Model Specific Register</span><br />
</span></p>
<p><span style="color: #00ccff;">X</span></p>
<p><span style="color: #00ccff;"><span style="color: #99cc00;">XADD Exchange and Add<br />
XCHG Exchange Register/Memory with Register<br />
XLAT/XLATB Table Look-up Translation<br />
XOR Logical Exclusive OR</span></span></p>
<p><span style="color: #00ccff;"><span style="color: #99cc00;"> </span></span><span style="color: #008000;"><span style="color: #99cc00;"><span style="color: #333333;">© Roman Novgorodov</span><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/debug-ve-kullanimi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bilgisayarlar ve Mikroişlemciler &#124; Assembly</title>
		<link>http://www.knbykl.org/bilgisayarlar-ve-mikroislemciler-assembly/</link>
		<comments>http://www.knbykl.org/bilgisayarlar-ve-mikroislemciler-assembly/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 23:55:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Advisories]]></category>
		<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[decimal]]></category>
		<category><![CDATA[ENIAC]]></category>
		<category><![CDATA[Pentium]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=481</guid>
		<description><![CDATA[Aslında abaküs&#8217;e kadar dayanıyor. Öncelikle matematikteki daha sonra fen bilimlerinde ve teknolojideki gelişmeler ve yeni teknikler bizi şu anda bulunduğumuz noktaya getirdi. İlk hesaplayıcılardan sonra Pascal ve Babbage&#8217;in mekanik hesaplayıcıları gelmektedir. 
Elektronik devre elemanlarının geliştirilmesi ve tüplü tranzistörlerin sayesinde ilk elektronik hesaplayıcılar, yani modern bilgisayara giden yol açılmış oldu. 1936-1951 arasındaki bu donemde 1945 de [...]]]></description>
			<content:encoded><![CDATA[<p>Aslında abaküs&#8217;e kadar dayanıyor. Öncelikle matematikteki daha sonra fen bilimlerinde ve teknolojideki gelişmeler ve yeni teknikler bizi şu anda bulunduğumuz noktaya getirdi. İlk hesaplayıcılardan sonra Pascal ve Babbage&#8217;in mekanik hesaplayıcıları gelmektedir. <img class="alignnone size-full wp-image-482" title="bilgisayar-ve-mikroislemciler-assembly" src="http://www.knbykl.org/wp-content/uploads/2009/12/bilgisayar-ve-mikroislemciler-assembly.jpg" alt="bilgisayar-ve-mikroislemciler-assembly" width="615" height="100" /><br />
<span id="more-481"></span>Elektronik devre elemanlarının geliştirilmesi ve tüplü tranzistörlerin sayesinde ilk elektronik hesaplayıcılar, yani modern bilgisayara giden yol açılmış oldu. 1936-1951 arasındaki bu donemde 1945 de ENIAC yapıldı. ENIAC ile işlemler soket bağlantılarının değiştirilmesi ile yaptırılıyor idi. 70bin direnç, 10bin kondansatör, 18bin tüplü tranzistör ve çalışırken harcanan 150-200 kilowatt enerjisi ile dev ama sadece dört işlem yeteneği, çok yavaş çalışması, kablolarla programlamanın zorluğu ve çok sık arıza yapmasıyla da hantal bir cihaz idi.</p>
<p>1948 yılında germanyum, 1954 de silisyum tranzistörler bulundu. Artık vakum tüpleri yerini yarı iletken tranzistörler aldı. Mikroelektronik geliştikçe tranzistörler küçüldü ve sonunda bunları tek bir devre parçasında birleştirme fikri gelişti. Artık entegre devreler yani çipler karşımızda. Harcanan daha az enerji, daha küçük devreler taşınabilir radyolar gibi ürünleri beraberinde getirdi.</p>
<p>İntelin ilk ticari amaçlı işlemcisi 1971 yılının 4004 çipi idi. Dört bitlik bir işlemci olup sadece hesap makinalarında kullanıldı. Bizi ilgilendiren 1978 yilinda üretilen 8086. Bu işlemci 8bitlik basit ve yavaş bir işlemcidir. Fakat şu andaki Pentium 4 mimarisi bile geriye uyumlu olarak bu işlemciyi desteklemektedir. Farkları hız, ek birçok komut ve yeni teknolojilerdir. Biz de bu 8086 ile başlayan x86 komut setini programlıyor olacağız. Aşagıda bir ilerleme yer almaktadır.</p>
<p><span style="color: #99cc00;">8086 -&gt; 80186 -&gt; 80286 -&gt; 80386 -&gt; 80486 -&gt; Pentium -&gt; Pentium Pro -&gt; Pentium !! -&gt; Pentium !!! -&gt; Pentium 4</span></p>
<p>İntel işlemciler 80386 den itibaren bazı yenilikler getirdiği için ( 32bit ve multitasking işlemci ) artık bizim için temel teşkil etmektedir.<br />
Pentium 4 3000C işlemcisi için biraz açıklama yapalım: Mimari:Pentium 4 İşlemci çekirdek hızı: 3000Mhz (yani bir saniyede 3 milyar komut işler) C: Veriyolunun 800Mhz olduğu anlamında. Klasik özellikler: 32bit işlemci, 64 bit veriyolu, 4Gbyte bellek adresleme, Hypertreading teknolojisi ile çift işlemci gibi çalışma ve gelişmiş mimari özellikleri ile tek döngüde iki işlem yapabilme özellikleri bulunuyor.</p>
<p>İşlemcimizin 32 bit olması ne demek? Öncelikle bit nedir? 1 byte bilgi tek karakterden oluşur. Yani notepad içine yazdığınız tek bir &#8216;A&#8217; harfi 1 byte yer kaplar. 1 byte bilgisayarda 8 bit yani 8 tane &#8216;1&#8242; veya &#8216;0&#8242; dan oluşur.</p>
<p>binary <span style="color: #99cc00;">11111111</span> = decimal <span style="color: #99cc00;">255</span> eder.<br />
binary <span style="color: #99cc00;">01000001</span> = decimal <span style="color: #99cc00;">65</span> eder. Bu değeri içinde saklayan bir 8bitlik saklayıcı &#8216;A&#8217; harfini gösterir. Yani matematiksel değerlerinin yanında bu 8 bitlik değerler ASCII karakter setine göre belirli bir karaktere de denk gelmektedir.</p>
<p>İlk sayfada <span style="color: #c0c0c0;">0C85:0100</span> <span style="color: #99cc00;">B402</span> <span style="color: #ff0000;">MOV AH,02</span> şeklinde bir satır bulunuyor idi. Buradaki B402 16lık sayı sistemindeki 2 byte bilgidir. Ve bu makina dili komutu assembly olarak <span style="color: #ff0000;">Mov ah,02</span> ye denktir. Bu komut ise ah registerine (işlemcideki 8bit saklayıcılardan biri) 02 hexadecimal değerini atar. İleride bit düzeyinde işlemler de yapacağımız için 16 lık 10 luk ve 2 lik sayı sistemlerinin birbirine dönüşümlerini bilmek zorundayız. Örnek bir binary-decimal dönüşümü aşağıdadır.</p>
<p>binary <span style="color: #99cc00;">01001110</span> için Decimal karşılığı=<span style="color: #99cc00;">0*2^7+1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+0*2^0=64+8+4+2=78</span> eder.</p>
<p>Daha önce de belirttiğimiz gibi işlemci sadece matematiksel değerlerden anlar. İster kod isterse data olsun esas olan bitlerdir. 32 bit işlemciler 1 döngüde 32 bit yani 4 byte bilgiyi işleyebilme özelliğine sahiptir. Çarpma, bölme, bellekten işlemciye veri alınması ve gönderilmesi gibi&#8230;</p>
<p>İşlemciler teknik özellikleri yanında iç frekansları ile de karşılaştırılmaktadır. Pentium 3 1000Mhz bir işlemci saniyede 1 milyar işlem yapar. Fakat işlemcide her komut aynı sürede tamamlanmaz. Bu komutun karmaşıklığı ile alakalıdır. İşlemci içinde bir tür sinyal üreten saat bulunur. Bu işlemcinin hızını tayin eder. İşlenecek olan komut saat darbesinin verilmesi ile işlem görmeye başlar ve bir sonraki saat darbesine kadar tamamlanmak zorundadır. İşlemcideki tüm komutlar için bu geçerlidir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/bilgisayarlar-ve-mikroislemciler-assembly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Assembly Dersleri &#124; Başlangıç</title>
		<link>http://www.knbykl.org/assembly-dersleri-baslangic/</link>
		<comments>http://www.knbykl.org/assembly-dersleri-baslangic/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 22:55:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[Assembly nedir?]]></category>
		<category><![CDATA[Assembly Tutorials]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=475</guid>
		<description><![CDATA[Assembly zor bir dil olmasının yanı sıra zahmetli ve çok uğraş ister. Tabiki iyi ve ilgi çekici anlatımlar bu dilin öğrenilmesinde kolaylık sağlar. Bazı gerçekleri yazmak gerekirse; Diğer dillerde yaptığınızı assembly dilinde yapmaya çalışırsanız daha çok  kod yazmak zorunda kalırsınız ve daha çok zaman kaybedersiniz fakat diğer dillere göre &#8220;assembly&#8221; dilinin çok daha fazla üstünlüğü vardır.


Programlama [...]]]></description>
			<content:encoded><![CDATA[<p align="left">Assembly zor bir dil olmasının yanı sıra zahmetli ve çok uğraş ister. Tabiki iyi ve ilgi çekici anlatımlar bu dilin öğrenilmesinde kolaylık sağlar. Bazı gerçekleri yazmak gerekirse; Diğer dillerde yaptığınızı assembly dilinde yapmaya çalışırsanız daha çok  kod yazmak zorunda kalırsınız ve daha çok zaman kaybedersiniz fakat diğer dillere göre &#8220;<strong><span style="color: #99cc00;"><a href="http://www.knbykl.org/tag/assembly" target="_self"><span style="color: #99cc00;">assembly</span></a></span></strong>&#8221; dilinin çok daha fazla üstünlüğü vardır.<br />
<img class="alignnone size-full wp-image-478" title="assembly-tutorial-image" src="http://www.knbykl.org/wp-content/uploads/2009/12/assembly-tutorial-image.jpg" alt="assembly-tutorial-image" width="600" height="120" /><br />
<span id="more-475"></span></p>
<p align="left">Programlama dili öğrenmek istiyorsanız bunu &#8220;Basic&#8221; ile yapın. Algoritma mantığını kavrayın ve programlama hakkında bilgili ve tecrübe sahibi olun. Sadece &#8220;Basic&#8221; ile sınırlı kalmayıp, diğer programlama dillerini de araştırın. Belki zamanınızı alacak ama yapabiliyorsanız bütün dilleri araştırın. Hangi dilde kendinizi geliştirmek istiyorsanız, o dile ağırlık verin ve uygulama geliştirin.</p>
<p align="left"><span style="color: #c0c0c0;">0C85:0100</span> <span style="color: #008000;">B402</span> <span style="color: #ff0000;">MOV AH,02</span><br />
<span style="color: #c0c0c0;">0C85:0102</span> <span style="color: #008000;">B203</span> <span style="color: #ff0000;">MOV DL,03</span><br />
<span style="color: #c0c0c0;">0C85:0104</span> <span style="color: #008000;">CD21</span> <span style="color: #ff0000;">INT 21</span><br />
<span style="color: #c0c0c0;">0C85:0106</span> <span style="color: #008000;">CD20</span> <span style="color: #ff0000;">INT 20</span></p>
<p align="left">Yukarıda ayrıntılı çıktısı alınmış bir kod parçası bulunuyor. (Daha sonra ne işe yaradığını anlatacağım) Gri renkteki bölümler bellek lokasyonlarıdır. Yani ilgili kodların şu anda hangi bellek adresinde bulunduğunu gösteriyor bize. Kırmızı renkteki yazılar assembly kodlarıdır. Koyu yeşil kısımlar ise bu assembly kodlarının makina diline çevrilmiş halidir. Bizi ilgilendiren kırmızı bölümler olacak. Biliyorum o yazılardan hiçbir şey anlamadınız, bu çok normal&#8230;</p>
<p align="left">Tam olarak anlamanız için uzun bir örnek olacak ama başlıyoruz&#8230;</p>
<p align="left">Şu anda bilgisayarınızın başında oturuyor, windows işletim sisteminiz altında bazı programları kullanıyorsunuz. Muhtemelen Internet Explorer bunlardan biri. Kullandığınız her program (*.exe *.dll *.ocx &#8230;) hangi programlama dili ile yazılırsa yazılsın hepside derlenmiş ve ilgili dosyalar haline dönüştürülmüştürler. Bir program Delphi ile yazılmış ve derlenmiş (exe uzantılı dosya haline getirilmiş) ise  tersi işlem yapılması, yani programın kodlarına geri döndürülmesi imkansızdır. Derlenmiş program artık işletim sistemimizin ve makinamızın işlemcisinin anlayabileceği bir haldedir. Yani bizim makina dili dediğimiz haldedir. Tamamen iç yapısı elektronik devre elemanlardan oluşan işlemcimiz bu makina dili halindeki kodları çalıştırabilir. Başka hiçbir şeyden anlamaz. Bilgisayarlara bu nedenle de aptal makina denmektedir. Çünkü biz ne emredersek onu işlerler. Makina dili 16 lık sayı sistemindeki değerlerden oluşur. Bu kodlar sadece sayı kümelerinden oluştukları için bir insanın bunları anlaması hele hele bu sayılar üzerinden programlarını yazması nerdeyse imkansızdır&#8230;</p>
<p align="left">Fakat insanların karmaşık sayılar yerine kendi konuşma dillerindeki kelimelerden oluşan bir komut kütüphanesi ile çalışmaları daha kolaydır. Bunu Basic dilinde rahatlıkla görebilirsiniz. Çünkü Basic dilindeki komutlar ingilizce bilen bir insan için öğrenme ve akılda kalma açısından çok kolay bir dildir. Makina dilindeki sayılar yani kodlar yani programımız bizim için önemlidir. Çünkü bunlar işlemcimiz üretilirken geliştirilmiş bir komut setine hitap ederler. Bir sonraki işlemci teknolojisine geçildiğinde komut seti genişletilir ve yeni komutlar eklenir. Assembly dili bu komut setindeki makina dili kodlarının insanların biraz daha kolay anlayabileceği harfler üzerinden gösterimidir. Bu tamamen semboliktir ve her assembly komutu yazıldığında birebir makina diline çevrilirler.</p>
<p align="left"> <strong><span style="font-size: x-small;">Peki Assembly bize ne sağladı? :</span></strong></p>
<p align="left">-Bize işlemcimiz üzerindeki her komuta aracısız erişim sağladı. Yani kod yazarken muhatabınız işlemci ve üzerinde çalışmakta olduğunuz işletim sistemidir. (Bu genelde Windows&#8217;tur ama başka bir sistemde olabilir.) Bu size oluşturacağınız programın kodlanması esnasında çok yüksek bir kod hakimiyeti sağlar. Böylece diğer dillerde aynı işi yapsanız dahi sizin assembly ile işlemci üzerindeki hakimiyetiniz en üst düzeydedir ve bunu sizin kadar temiz yapabilecek bir programlama dili ve/veya derleyici yoktur.</p>
<p align="left">-Yazdığınız her satır kod 1 ila 4 byte civarında olup çok az yer kaplar. Diğer dillerde yazılan kodlar aynı işi yapsa dahi sizinle aranızda derleyici bulunmaktadır ve programın işleyişini sağlama almak amacıyla komutlar arasında ek bilgiler girilmekte ve programınızın boyutu büyümektedir. Ayrıca diğer dillerdeki komutlar işlemci üzerindeki komutlarla uyuşmaz ise derleyici bunu dolambaçlı yollardan işlemciye anlatır ve yazılan bir tek komut makina dilinde yüzlerce komuta karşılık gelebilir. Herhangi bir dildeki basit komut assembly ile yazılsa 2 ila  6 kat daha az yer kaplar.</p>
<p align="left">-Yazdığınız programlar (eğer bir algoritma hatası yok ise) diğer dillerdeki şekillerine göre her zaman daha az yer kaplar. Programın az yer kaplaması çalışırken daha az bellek tüketmesi; işlemler daha az kod ile anlatıldığından daha kısa sürede işlemin bitmesi, yani programımız daha hızlı çalışması anlamına gelir.</p>
<p align="left"><strong><span style="font-size: x-small;">Avantajları :</span></strong></p>
<p align="left">- İşlemcinizin gücünü en iyi şekilde ortaya koyabilecek tek programlama dilidir.<br />
- Cok az yer kapladığı için bilgisayar virüslerin yazımında kullanılırlar.<br />
- Çok hızlı çalıştıkları için işletim sistemlerinde kernel ve donanım sürücülerinin programlanmasında, hız gerektiren kritik uygulamalarda kullanılmaktadır.<br />
- Yapısı itibariyle üç boyutlu ekran kartlarında ilgili çizim ve efektlerin işlenmesi amacıyla hem oyunlar hem de programlar içinde ekran kartına hitap eden makina dili kodları kullanılmaktadır.<br />
- Herhangi bir amaç doğrultusunda (genelde programların daha hızlı çalışması için optimize edilirken), herhangi bir programlama dili altında, o dilin kodları arasında kullanılabilir. Yani diğer dillerle beraber de kullanabilirsiniz. Sizin uzman olduğunuz dil belki Visual Basic dir. Ama işin içinden çıkamadınız, assembly bilen bir arkadaşınız sizin için birkaç kod ekledi ve tamam.<br />
- İyi öğrenildiğinde diğer dillerde karşılaşılan büyük problemlerin assembly ile basit çözümleri olduğu görülür. Yani başka programlama dillerde çalışan insanların bu iş imkansız dediği yerde assembly devreye girer. Bu üstünlük daima var olacaktır&#8230;<br />
- Yazdığınız programın kaynak kodlarını tüm dünya ile paylaşsanız dahi kodlar o kadar karmaşıktır ki insanlar assembly bilse dahi ne işe yaradığını çözmeleri çok uzun zamanlarını alır. (Açıklayıcı bilgiler koymadı iseniz) Assembly bilmeyen bir insanın kaynak kodu anlaması imkansızdır.<br />
- Her program derlendiğinde makina diline dönüşür. Bunlar assembly kodlarına dönüştürülebilirler. (Buna disassembly olayı denir, bunu yapan programlar ise disassembler&#8217;lar dır.) Bu sayede assembly bilen bir insan zor da olsa diger programların çalışma şekillerini inceleyebilir ve üzerlerinde oynama yapabilir. Bu özellik de başka hiçbir dilde yoktur. Daha ileri gidip programların şifre isteyen bölümleri değişik yöntemlerle kırılabilir. Serial Generator türü programlar bu şekilde yapılabilmektedir.<br />
- Zaman geçtikce ve insanlar üreten yerine tüketen bilgisayar kullanıcıları haline geldikçe bu dili bilmenin ayrıcalığı artmaktadır.</p>
<p align="left"><strong><span style="font-size: x-small;">Dezavantajları :</span></strong></p>
<p align="left">- Dilin öğrenilmesi uzun zaman ve emek ister.<br />
- Yazılan programlar diğer diller göre daha çok satırdan oluşur.<br />
- Yazdığınız programın hangi satırlarının ne iş yaptığını bir süre sonra anlamayabilirsiniz. Çünkü anlaşılması zor ve karmaşık bir dildir. Bu nedenle kodların sonuna açıklama bölümleri eklemek iyi bir çözüm olacaktır.<br />
- İşlemciye birebir bağımlıdır. Yani sonraki sayfalarda anlatılacak olan kodlar Intel ve uyumlu (AMD, Cyrix, Via) işlemcilerde geçerlidir. Örneğin Motorola işlemcileri kullanan Macintosh bilgisayarlarda hem komut setinin hem de işlemci mimarisindeki büyük farklılıklardan dolayı geçersizdir. Fakat onlarda da bir makina dili tabii ki bir assembly dili bulunmaktadır. Fakat komutlar daha farklıdır. Bizim ilgi alanımız intel 386 (i386) üstü ve bunlarla uyumlu işlemcilerdir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/assembly-dersleri-baslangic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>47 Yılda 25 Parti Kapatıldı</title>
		<link>http://www.knbykl.org/47-yilda-25-parti-kapatildi/</link>
		<comments>http://www.knbykl.org/47-yilda-25-parti-kapatildi/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:55:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Konu Dışı]]></category>
		<category><![CDATA[BAP]]></category>
		<category><![CDATA[CHP]]></category>
		<category><![CDATA[DEP]]></category>
		<category><![CDATA[DTP]]></category>
		<category><![CDATA[FP]]></category>
		<category><![CDATA[HADEP]]></category>
		<category><![CDATA[İÇP]]></category>
		<category><![CDATA[SP]]></category>
		<category><![CDATA[STP]]></category>
		<category><![CDATA[TEP]]></category>
		<category><![CDATA[TİÜP]]></category>
		<category><![CDATA[Türkiye'de Kapatılan Partiler]]></category>
		<category><![CDATA[YP]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=448</guid>
		<description><![CDATA[Anayasa Mahkemesi&#8217;nin kurulduğu 1963 yılından bu yana 24 siyasi parti kapatıldı, DTP ile bu sayı 25 oldu. Anayasa Mahkemesi&#8217;nin kuruluşundan önce Millet Partisi ve Demokrat Parti kapatılmıştı.


Anayasa Mahkemesi&#8217;nin bulunmadığı 1954 yılında Millet Partisi, 1960 ihtilalı sonrasında ise 20 Haziran 1960 tarihinde Ankara Asliye Hukuk Mahkemesi&#8217;nce kapatıldı.
Anayasa Mahkemesi tarafından kapatılan partilerin isimleri şöyle:

1968&#8216;de İşçi-Çiftçi Partisi (İÇP)
1971&#8216;de [...]]]></description>
			<content:encoded><![CDATA[<p>Anayasa Mahkemesi&#8217;nin kurulduğu <span style="color: #ffff00;">1963 </span>yılından bu yana 24 siyasi parti kapatıldı, DTP ile bu sayı 25 oldu. Anayasa Mahkemesi&#8217;nin kuruluşundan önce Millet Partisi ve Demokrat Parti kapatılmıştı.<br />
<img class="alignnone size-full wp-image-450" title="47-yilda-25-parti-kapatildi" src="http://www.knbykl.org/wp-content/uploads/2009/12/47-yilda-25-parti-kapatildi.png" alt="47-yilda-25-parti-kapatildi" width="615" height="100" /><br />
<span id="more-448"></span></p>
<p>Anayasa Mahkemesi&#8217;nin bulunmadığı 1954 yılında Millet Partisi, 1960 ihtilalı sonrasında ise 20 Haziran 1960 tarihinde Ankara Asliye Hukuk Mahkemesi&#8217;nce kapatıldı.</p>
<p>Anayasa Mahkemesi tarafından kapatılan partilerin isimleri şöyle:</p>
<ul>
<li><strong>1968</strong>&#8216;de İşçi-Çiftçi Partisi (İÇP)</li>
<li><strong>1971</strong>&#8216;de Türkiye İleri Ülkü Partisi (TİÜP) ile Türkiye İşçi Partisi (TİP)</li>
<li><strong>1972</strong>&#8216;de Milli Nizam Partisi (MNP) ve Büyük Anadolu Partisi (BAP)</li>
<li><strong>1980</strong>&#8216;de Türkiye Emekçi Partisi (TEP)</li>
<li> <strong>1983</strong>&#8216;te Huzur Partisi (HP)</li>
<li><strong>1991</strong>&#8216;de Türkiye Birleşik Komünist Partisi (TBKP) ile Cumhuriyet Halk Partisi (CHP)</li>
<li><strong>1992</strong>&#8216;de Sosyalist Parti (SP)</li>
<li><strong>1993</strong>&#8216;te Halkın Emek Partisi (HEP), Özgürlük ve Demokrasi Partisi (ÖZDEP) ve Sosyalist Türkiye Partisi (STP)</li>
<li><strong>1994</strong>&#8216;te Yeşil Partisi (YP), Demokrasi Partisi (DEP) ve Demokrat Parti (DP)</li>
<li> <strong>1995</strong>&#8216;te Sosyalist Birlik Partisi (SBP)</li>
<li><strong>1996</strong>&#8216;da Demokrasi ve Değişim Partisi (DDP)</li>
<li><strong>1997</strong>&#8216;de Emek Partisi (EP) ve Diriliş Partisi (DRP)</li>
<li><strong>1998</strong>&#8216;de Refah Partisi (RP)</li>
<li><strong>1999</strong>&#8216;da Demokratik Kitle Partisi (DKP)</li>
<li> <strong>2001</strong>&#8216;de Fazilet Partisi (FP)</li>
<li><strong>2003</strong>&#8216;te Halkın Demokrasi Partisi (HADEP)</li>
</ul>
<p>&#8220;<strong>Türkiye&#8217;de kapatılan 24 partiden 13&#8242;ünün gerekçesi</strong> &#8220;<span style="color: #99cc00;"><strong>bölücülük</strong></span>&#8221; <strong>oldu.</strong></p>
<ul>
<li>TİP, TEP, TBKP, SP, HEP, ÖZDEP, STP, DEP, SBP, DDP, EP, DKP ve HADEP &#8220;bölücülük&#8221;,</li>
<li>İÇP, TİÜP, BAP, YP ve DP ise ihtara rağmen kongresini yapmamak, hesabını süresinde vermemek, mevzuatını düzeltmemek, aykırılıkları gidermemek gerekçeleriyle kapatıldı.</li>
<li>DRP, 2 seçime katılmadığı gerekçesiyle kapatıldı.</li>
<li>MNP laikliğe aykırı eylemler, HP laikliğe aykırı program, ÖZDEP bölücülüğün yanı sıra kısmen laiklik, RP ve FP ise laikliğe aykırı odak olma gerekçesiyle kapatılmasına karar verildi.</li>
</ul>
<p>TBMM tarafından Avrupa&#8217;da ve Türkiye&#8217;de parti kapatılması konusunda bir rapor hazırlandı. Rapora göre, Türkiye&#8217;de <strong>1961 </strong>yılından sonra Anayasa Mahkemesi tarafından <span style="color: #99cc00;">24 parti kapatıldı</span>. Buna karşı 1943 yılından bu yana Almanya&#8217;da 3, İspanya&#8217;da ise bir partinin faaliyetine son verildi.</p>
<p>Almanya&#8217;da Nazi akımının önlenmesi amacıyla 1949 yılında Nazi Partisi&#8217;nin faaliyetine son verildi. Almanya&#8217;da 1952&#8242;de SPR (Sozialistische Reichspartei Deutschlands), 1956 yılında ise KPD (Kommunistische Partei Deutschlands) kapatıldı.</p>
<p>İtalya&#8217;da Benito Mussolini tarafından kurulan Partito Nazionale Fascista (PNF) 1943&#8242;te Hükümet tarafından siyasi faaliyetten men edildi. İtalya&#8217;da faşist partisi kurulması yasaklandı.</p>
<p>Belçika&#8217;da ise 2004 yılında Flaman Blok Partisi, ırkçılık ve yabancı düşmanlığı bağlamında aykırı davrandığı gerekçesiyle 40 bin Euro para cezasına çarptırıldı. Bu karar doğrultusunda parti lideri partiyi feshedip, Vlamms Belang adıyla yeni bir parti kurdu.</p>
<p>İspanya&#8217;da faaliyetlerinde ETA terör örgütüyle bağlantısı olduğu ve ETA&#8217;nın eylemlerini kınamadığı gerekçesiyle Herri Batasuna Partisi 2003&#8242;te kapatıldı.</p>
<p>Kaynak: Cihan</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/47-yilda-25-parti-kapatildi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DTP Kapatıldı</title>
		<link>http://www.knbykl.org/dtp-kapatildi/</link>
		<comments>http://www.knbykl.org/dtp-kapatildi/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:36:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Konu Dışı]]></category>
		<category><![CDATA[Bahçeli'nin DTP Yorumu]]></category>
		<category><![CDATA[DTP]]></category>
		<category><![CDATA[DTP Hakkında]]></category>
		<category><![CDATA[DTP Kapandı]]></category>
		<category><![CDATA[DTP kapatılan 25. parti]]></category>
		<category><![CDATA[Siyaset]]></category>
		<category><![CDATA[Siyasilerin Yorumları]]></category>

		<guid isPermaLink="false">http://www.knbykl.org/?p=444</guid>
		<description><![CDATA[Çevre ve Orman Bakanı Veysel Eroğlu, DTP&#8217;nin &#8221;temelli&#8221; kapatılmasıyla ilgili, &#8221;Partiyi milletin kapatması gerekir diye düşünüyorum&#8221; değerlendirmesinde bulundu.


Bakan Eroğlu, AK Parti Manisa İl Başkanlığını ziyaretinin ardından basın mensuplarının sorusu üzerine, DTP&#8217;nin kapatıldığına ilişkin bilginin kendisine yeni ulaştığını, konuyla ilgili fazla bilgi sahibi olmadığını söyledi.
Eroğlu, &#8221;Partiyi milletin kapatması gerektiğini düşünüyorum. Neticede partinin kapatılmasını zorlaştırmak gerekir. Eğer [...]]]></description>
			<content:encoded><![CDATA[<p>Çevre ve Orman Bakanı Veysel Eroğlu, DTP&#8217;nin &#8221;temelli&#8221; kapatılmasıyla ilgili, &#8221;Partiyi milletin kapatması gerekir diye düşünüyorum&#8221; değerlendirmesinde bulundu.<br />
<img class="alignnone size-full wp-image-445" title="dtp-kapatildi" src="http://www.knbykl.org/wp-content/uploads/2009/12/dtp-kapatildi.png" alt="dtp-kapatildi" width="615" height="100" /><br />
<span id="more-444"></span></p>
<p>Bakan Eroğlu, AK Parti Manisa İl Başkanlığını ziyaretinin ardından basın mensuplarının sorusu üzerine, DTP&#8217;nin kapatıldığına ilişkin bilginin kendisine yeni ulaştığını, konuyla ilgili fazla bilgi sahibi olmadığını söyledi.</p>
<p>Eroğlu, &#8221;Partiyi milletin kapatması gerektiğini düşünüyorum. Neticede partinin kapatılmasını zorlaştırmak gerekir. Eğer suçu varsa kişilere ceza vermek gerekir. Partiler yeniden kurulabilir. Bilmiyorum ama hazırlıkları vardır herhalde&#8221; diye konuştu.</p>
<p>AK Parti hükümeti döneminde Türkiye ve Manisa&#8217;ya yapılanları anlatan Veysel Eroğlu, &#8221;AK Parti Türkiye için bir şanstır, ilerlemesi için bir fırsattır, imkandır. Ben geçmişte koalisyon hükümetlerinin çalışmalarını biliyorum. Biz milleti ekonomik açıdan refaha kavuşturmak için çalışıyoruz&#8221; dedi.</p>
<p>Eroğlu, hükümetin, demokratik açılım projesini de milletin birliğini pekiştirmek amacıyla gündeme getirdiğini, terörün son bulmasını istediklerini dile getirdi.</p>
<p>Çevre ve Orman Bakanı Veysel Eroğlu, Manisa ziyareti sırasında Saruhan Otel&#8217;de Spil Dağı&#8217;nın imara açılmasına ilişkin planlar hakkında da bilgi aldı.</p>
<p>-ENERJİ VE TABİİ KAYNAKLAR BAKANI YILDIZ: &#8221;PRENSİP OLARAK BİZ PARTİ KAPATILMASINA KARŞIYIZ. BUNUNLA BERABER BÜTÜN ÇÖZÜM SAĞLANMIŞ OLMUYOR&#8221;</p>
<p>Enerji ve Tabii Kaynaklar Bakanı Taner Yıldız, DTP&#8217;nin &#8221;temelli&#8221; kapatılmasıyla ilgili, &#8221;Prensip olarak biz parti kapatılmasına karşıyız. Bununla beraber bütün çözüm sağlanmış olmuyor&#8221; dedi.</p>
<p>Bursa&#8217;nın Mustafakemalpaşa ilçesinde bir maden ocağındaki göçükle ilgili incelemelerde bulunmak üzere bölgeye gelen Bakan Yıldız, 19 işçinin hayatını kaybetmesi nedeniyle büyük ve derin bir üzüntü duyduklarını söyledi.</p>
<p>Hayatını kaybeden işçilerin yakınlarına başsağlığı dileğinde bulunan Yıldız, konuyu Ankara&#8217;da dünden beri yakından takip ettiğini, çalışmaları yakından koordine etmek için de bölgeye geldiğini ifade etti. Yıldız, bölgede çalışmaların dikkatlice sürdürüldüğünü belirtti.</p>
<p>Bakan Yıldız, gazetecilerin, DTP&#8217;nin kapatılmasıyla ilgili görüşlerini sorması üzerine, şöyle konuştu:</p>
<p>&#8221;Prensip olarak biz parti kapatılmasına karşıyız. Bununla beraber bütün çözüm sağlanmış olmuyor. Ancak bu, Anayasa Mahkemesinin verdiği bir karar. Gerekçeli karar ortaya çıkana kadar kesin cümleler etmemek lazım. Biz de bu gerekçeli kararı bekleyeceğiz ama şu anda hukukun, yargının verdiği bir karar vardır ve bunu hep beraber takip edeceğiz.&#8221;</p>
<p>-CHP SÖZCÜSÜ VE GENEL SAYMAN ÖZYÜREK: &#8221;ANAYASA MAHKEMESİ&#8217;NİN KARARI HUKUKİ AÇIDAN YERİNDE, DOĞRU BİR KARARDIR&#8221;</p>
<p>CHP Sözcüsü ve Genel Sayman Mustafa Özyürek, Anayasa Mahkemesi&#8217;nin DTP&#8217;nin kapatılmasına ilişkin kararının &#8221;hukuki açıdan doğru bir karar&#8221; olduğunu söyledi.</p>
<p>Özyürek, DTP&#8217;nin temelli kapatılmasına ilişkin AA muhabirine yaptığı açıklamada, siyasi partilerin kapatılmasından yana olmadıklarını ancak partilerin de hukuk kurallarına uymalarının gerektiğini söyledi. Özyürek, şunları kaydetti:</p>
<p>&#8221;Tabii ki bir partinin kapatılmasını istemeyiz ancak keşke DTP terör örgütü PKK ile arasına mesafe koyabilseydi. Onun şiddet uygulamalarına yandaş olmasaydı ve bugünkü durum ortaya çıkmasaydı. Ama Anayasa ve Siyasi Partiler Kanunu hükümleri dikkate alındığında Anayasa Mahkemesi&#8217;nin, hukuken başka bir karar vermesi zordu. Bu kararı istemeyenler de siyasi açıdan değerlendirme yapıyorlardı. Hukuki açıdan başka bir kararın verilmesinin zor olduğunu herkes söylüyordu. Terörle yandaş olan bir parti kabul edilemez. Bu bizim yasalarımız açısından da böyle Avrupa&#8217;da da böyle, AİHM kararları da böyle. Bu bakımdan Anayasa Mahkemesi&#8217;nin kararı hukuki açıdan yerinde, doğru bir karardır. AİHM kararlarıyla da uygunluk gösterir.&#8221;</p>
<p>DTP&#8217;nin kapatılmasının ardından siyasi gelişmelerin yaşanabileceğini de belirten Özyürek, bu gelişmelerin Türkiye&#8217;nin huzurunu bozacak nitelikte olmamasını dilediklerini vurguladı. Özyürek, &#8221;Tepkiler huzuru bozacak nitelikte olursa bu hükümetin görevidir. Gereğini yapacağına inanıyoruz. Herkese sükunet tavsiye ediyoruz. Olaylar sükunet ve doğru düşünülerek değerlendirilmeli. Anayasa Mahkemesi hukuki açıdan üstüne düşen görevi yapmıştır. Siyasi sonucu açısından da gelişmeler olacaktır. Bunların Türkiye&#8217;nin huzurunu, güvenini tehdit edecek şekilde olmamasını diliyoruz&#8221; diye konuştu.</p>
<p>- SELAHATTİN DEMİRTAŞ KAPATMA KARARINA İLİŞKİN YORUM YAPMAK İSTEMEDİ</p>
<p>Demokratik Toplum Partisi (DTP) Grup Başkanvekili Selahattin Demirtaş, partisinin kapatılması yönünde verilen kararla ilgili herhangi bir yorumda bulunmadı.</p>
<p>Ankara&#8217;dan İstanbul&#8217;a gelen Selahattin Demirtaş, partisinin kapatılmasına ilişkin kararı Atatürk Havalimanı&#8217;nda öğrendi. Paris&#8217;e gitmeyi planlayan Demirtaş, kapatma kararı üzerine programını değiştirdi. Karar hakkında yorum yapmak istemeyen Demirtaş, &#8220;Herhangi bir açıklama yapmak istemiyorum. Gerekli açıklamayı genel merkez yapacaktır&#8221; diye konuştu.</p>
<p>Demirtaş, ilk uçakla Ankara&#8217;ya geri döndü.</p>
<p>-SHP GENEL BAŞKANI ERGÜN: &#8221;BU KARAR, TÜRKİYE DEMOKRASİSİNE VE KÜRT AÇILIMINA ZARAR VERECEKTİR&#8221;</p>
<p>SHP Genel Başkanı Hüseyin Ergün, DTP&#8217;nin kapatılması kararının &#8221;Türkiye demokrasisine ve Kürt açılımına zarar vereceğini&#8221; ifade etti.</p>
<p>Ergün, yaptığı yazılı açıklamada, DTP&#8217;nin Anayasa Mahkemesi tarafından kapatılmasının &#8216;&#8217;siyasi bir karar olduğunu&#8221; savunarak, &#8221;bunun ilk siyasi karar olmadığını, mahkemenin kuruluşundan beri bu siyasi yaklaşımdan arınamadığını&#8221; öne sürdü.</p>
<p>&#8221;Bu karar, Türkiye demokrasisine ve Kürt açılımına zarar verecektir. Toplumsal barışın gerçekleşmesini öteleyecektir&#8221; görüşünü aktaran Ergün, şunları kaydetti:</p>
<p>&#8221;Bu, bir anlamda, demokratik açılımın DTP&#8217;nin kapatılmasıyla kesintiye uğraması demektir. Türkiye toplumu göstereceği demokratik tepkilerle bu kesintinin çok uzun sürmemesini sağlayacaktır.</p>
<p>DTP bir kitle partisidir. Sadece hukuki bir varlık değil, aynı zamanda sosyolojik bir varlıktır. O nedenle, Anayasa Mahkemesi kararıyla DTP&#8217;nin hukuken kapatılması o doğrultudaki siyasi hareketi sonlandıramaz. Olsa olsa bütün diğer parti kapatmalarında olduğu gibi birikmiş siyasi deneyimlerin heba olmasına yol açacaktır.</p>
<p>Bu kararın, Türkiye&#8217;de son siyasi parti kapatma kararı olmasını diliyoruz. Bu bağlamda, hükümet, Siyasi Partiler Yasası&#8217;nı değiştirmek için derhal girişimde bulunmalıdır. Siyasi Partiler Yasamız, sosyolojik gerçeklere ve demokrasi prensiplerine uygun hale getirilmelidir.</p>
<p>DTP Genel Başkanı Ahmet Türk ile milletvekili Aysel Tuğluk&#8217;un milletvekilliklerinin düşürülmesi kararı ulusal iradeye müdahaledir. Bunun kabul edilmesi mümkün değildir.&#8221;</p>
<p>-MHP GENEL BAŞKAN YARDIMCISI BÜYÜKATAMAN: &#8221;TERÖR HADİSELERİNE BULAŞMIŞ SİYASİ PARTİLERİN KAPATILMASINI DOĞRU BULDUĞUMU ÖZELLİKLE İFADE ETMEK İSTİYORUM&#8221;</p>
<p>MHP Genel Başkan Yardımcısı İsmet Büyükataman, DTP&#8217;nin &#8221;temelli&#8221; kapatılmasıyla ilgili olarak, &#8221;Terör hadiselerine bulaşmış siyasi partilerin kapatılmasını doğru bulduğumu özellikle ifade etmek istiyorum&#8221; dedi.</p>
<p>Bursa&#8217;nın Mustafakemalpaşa ilçesinde göçüğün meydana geldiği maden sahasında yetkililerden bilgi alan Büyükataman, gazetecilere yaptığı açıklamada, MHP Genel Başkanı Devlet Bahçeli&#8217;nin talimatlarıyla bölgeye gelerek incelemelerde bulunduklarını söyledi.</p>
<p>Göçükte hayatını kaybeden vatandaşlara Allah&#8217;tan rahmet, yakınlarına da baş sağlığı dileyen Büyükataman, Türkiye&#8217;nin önemli bir süreçten geçtiğini, Tokat&#8217;ın Reşadiye ilçesinde yaşanan hain saldırının ardından, Mustafakemalpaşa&#8217;da da 19 işçinin göçük altında kalarak hayatını kaybetmesinin Türk milletini derinden üzdüğünü, yaraladığını ifade etti.</p>
<p>Büyükataman, bir gazetecinin &#8221;DTP&#8217;nin kapatılması konusundaki düşüncelerini&#8221; sorması üzerine şunları kaydetti:</p>
<p>&#8221;MHP olarak aslında siyasi partilerin kapatılması taraftarı değiliz. Demokrasinin geçmişine siyasi tarihimizin geçmişine baktığımız zaman, adeta partiler mezarlığına dönmüş bir görüntü söz konusu. Türkiye Cumhuriyeti Devleti bir hukuk devletidir. Türkiye Cumhuriyeti Devleti&#8217;nin bölünmez bütünlüğü ile ilgili tabii ki hassasiyetler mevcuttur. Terör hadiselerine bulaşmış siyasi partilerin kapatılmasını doğru bulduğumu da özellikle ifade etmek istiyorum. Anayasa Mahkemesi&#8217;nin verdiği kararın ülkemize hayırlı olmasını temenni ediyorum. Hayat devam ediyor. Umuyorum ki Türkiye&#8217;de yaratılmaya çalışılan bu kargaşanın, bin yıllık kardeşliğimizi bozmak maksadına yönelik uzun bir süredir yapılmak istenen bu faaliyetlerin, bundan böyle daha ihtiyatla karşılanması, herkesin sorumluluğu hatırlaması ve buna vesile olmasını temenni ediyorum.&#8221;</p>
<p>Kaynak: HABERTÜRK</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knbykl.org/dtp-kapatildi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
