Hacking/Cracking/Programming

-2-

İçeriği:

 

1. Virüs
    1.1 Virüsler #2
2. Programlama
    2.1 Programlama Dilleri Hakkında Genel Bilgiler
    2.2 C Programlama Diline Giriş
    2.3 Sayı Sistemleri
    2.4 CMOS'a Erişim
   2.5 Mikroişlemcilere Giriş
  
2.6 DLL Olayı
    2.7 Bilelim Öğrenelim
3. Cracking
    3.1 Windows'ta program kırma.
    3.1 Teleport 1.9 Nasıl Kırılır?
    3.2 Softice Öğrenme Kılavuzu
4. Hacking
    4.1 Wingate Nedir, Wingate Açıkları
    4.2 Caller ID ??
    4.3 Ayın Tipi
5. Magazin
    5.1 Ayın Yorumu
    5.2 Ayın Linkleri
    5.3 Şamata !!
6. Programlar
    6.1 Ayın Programları   


1. VİRÜS
1.1. Virüsler #2

Virüslerin ilk öncelikli amacı bulaşmaktır.Bütün virüs yazarları virüsün var olabilmesi için bulaşmak zorunda olduğunu bilirler. Bu yüzden de hızlı bulaşma rutinleri geliştirirler.Pek çok virüsün amacı sadece bulaşmaktan ibarettir.Zaten "bulaşma" özelliği olmayan bir kodu virüs olarak adlandırmak doğru değildir.

Kullanıcının sisteminde virüs olduğunu farketmesini mümkün olduğunca engellemeye çalışırlar.Kendini kullanıcıdan gizleyen bir virüs, uzun süre boyunca yaşabilir ve pek çok bilgisayara bulaşabilir.

Veriye veya donanıma zarar vermek asla birinci amaç değildir.Virüslerin bilgisayarlarda zarara sebep olabilmeleri için bazı tetikleme süreçlerine veya tetikleme olaylarına gereksinimleri vardır.

Zarar vermeye yönelik virüsler olabildiği gibi amacı sadece bulaşmak, bir mesaj vs görüntülemek olan virüsler de vardır.

Virüslerin en sık karşılaşılan etkileri arasında ekranda mesaj/şekil görüntülemek, bilgisayarı kilitlemek, bilgisayarı resetlemek gelir.

VİRÜSLERDEN KORUNMAK iÇiN;

Elinizin altında daima bir sistem disketi ve kaliteli bir antivirüs programının bulunduğu bir disket bulundurun.Bu disketleri yazma korumalı olarak bozulmayacakları bir ortamda saklayın.Bilgisayarınızı periyodik olarak virüs taramasından geçirin.Sizin için önemli olan programların ve verilerin mutlaka yedeklerini çıkarın.Elden ele dolaşan programları kullanmadan önce mutlaka virüs taramasından geçirin.Çünkü elden ele dolaşan programlar virüsler için çok uygundur ki bunların başında da disketlerle taşınabilecek oyunlar gelir.Artık disketlerle taşınabilecek oyun kalmamışta olsa eski oyunlar, public domain, freeware, shareware programlar virüslerin taşınmasında etkilidirler.

Internet, intranet veya bağlandığınız bir BBSten (artık çalışan BBS bulmak ne kadar zor olsa da) download edilen dosyalar da virüslerin taşınmasında önemli bir yere sahiptir. Özellikle "warez" durumundaki programlar ve/veya çeşitli program paketlerinin crack,patch,keygenleri birer virüs taşıyıcısı olabilirler.Bu tür dosyaları download ederseniz, downloaddan sonra mutlaka virüs taraması yapmak gereklidir.

ANTi-ViRÜS KULLANMADAN BiLGiSAYARDAKi ViRÜS NASIL TESPiT EDiLiR ?

Virüsler, bilgisayarlarda genel bazı etkilere sebep olurlar.Eğer bilgisayarınızda aşağıdaki etkilerden biri veya birkaçı varsa sisteminizi bir virüs taramasından geçirebilirsiniz;

* Sistem hızında yavaşlama : Sistem hızında meydana gelen ani hız düşüşleri virüs etkinliklerinden kaynaklanabilir.Ancak bu durum Windows'un registry kaydının aşırı dolu olmasından da kaynaklanabilir.

* Programların diske erişim süresinin ve/veya yüklenmelerinin daha uzun sürede gerçekleşmesi : Dosya virüsleri bir program yüklenmek istendiğinde o programı kontrol eder, virüssüz ise o programa bulaşır.TRAKIA.1070 (Yandan Çarklı) gibi bazı virüsler aktif dizindeki EXE veya COM uzantılı dosyaların hepsine birden bulaşmak isteyebilir.Bu da yüklenme hızındaki düşüşe neden olur.

* Bilgisayarın sebepsiz yere kilitlenmesi veya resetlenmesi : İyi kodlanmamış TSR virüsler veya virüsün programcısı tarafından sistemin sık sık kilitlenmesi veya resetlenmesi öngülmüş olabilir.

* Anormal mesajlar : Eğlence amacıyla yazılmış virüsler veya özel bir amaçla yazılmış virüsler belli zamanlarda veya bazı özel durumlarda garip mesajlar verirler.

* Dosyaların garip bir şekilde yok olması ve(ya) dosya özniteliklerinin (attribute) değişmesi : Bazı virüsler dosyaları silerler.Bazı virüsler de daha önceden bulaşıp bulaşmadıklarını anlamak için dosyaların öznitelik bilgilerinde değişiklik yaparlar.

* Yazma-korumalı bir diskte okuma işlemi yaparken "Write protection" hatası : İyi yazılmamış virüsler write-protected disklerdeki programlara bulaşmak istediklerinde genelde bu hataya düşerler.

* Disk haritasını gösteren programlar ile diske baktığınızda daha önceden olmayan bozuk alanlar : Genellikle boot/mbr virüsleri sakladıkları alanları korumak için kullandıkları bu alanları bozuk olarak işaretler.

Periyodik olarak bilgisayarda virüs aramak can sıkıcı bir hal aldığından virüs taramalarından vazgeçtiyseniz aşağıdaki yollarla da bilgisayarınızda virüs olup olmadığını kontrol edebilirsiniz.Eğer biraz da olsa assembly biliyorsanız aşağıdakileri anlamanız kolaylaşacaktır.

BOOT/MBR Virüslerin Tespit Edilmesi

Şimdi bilgisayarı resetleyin.Starting MS-DOS, Starting Windows türünden bir mesaj aldıktan sonra F5 tuşunu veya klavyedeki sol shift tuşunu basılı tutun.Bilgisayar CONFIG.SYS ve AUTOEXEC.BAT dosyaları işlenmeden çalışacaktır. Şimdi DEBUG adlı programı çalıştırın.Ekranda - işareti görüyor olmalısınız.Şimdi a komutunu verip enter tuşuna basın.(a komutu assembly dilinde program girileceğini belirtir).Ekranda 6750:0100 gibi bir adres değeri göreceksiniz.INT 13 yazıp enter tuşuna basın.6750:0102 adresini göreceksiniz.Bir kez daha enter'a basarak assembly modundan çıkın.Tekrar - işaretini göreceksiniz.Şimdi t (trace-adım adım çalıştır) komutunu verin.Hemen ardından da u komutunu girerek INT 13'ün yönlendirildiği adresteki assembly kodlarını ekrana getirin.Eğer ekranda DB komutları görüyorsanız bilgisayarınızda herhangi bir TSR virüs yok demektir.(Debug, unasseble işlemi yaparken çevirdiği kodu 16 bitlik olarak çevirir.Bu yüzden herhangi bir 386 komutu debug tarafından önce bir DB komutu ve ardından da 16 bitlik bir komut şeklinde çevirilmektedir.Mesela 32 bitlik MOV EAX,C0310102h komutu debug tarafından DB 66h / MOV AX,0102h / XOR AX,AX şeklinde çevirilecektir.Virüslerin eski işlemcilerde dahi çalışacak şekilde yazıldıklarını gözönünde tutarak DB komutu görüldüğünde sistemde kesinlikle bir virüs yoktur diyebiliriz)

INT 13 bir BIOS interruptıdır.Bu yüzden adresi de F000:0000 adresinden daha yukarıda bir bölgede olmalıdır.Eğer Int 13 kodu 9C00:0000-A000:0000 arasında bir bölgeye denk geliyorsa sizin için virüs taramasının vakti gelmiştir.Aşağıda virüssüz bir bilgisayardan alınmış INT 13 kodu görülmektedir.Siz aşağıdaki çıktının aynısını göremeyebilirsiniz.

DEBUG (Enter)    
-    
a (Enter)    
xxxx:0100 INT 13 (Enter)
xxxx:0102 (Enter)  
-    
-t (Enter)    
FD60:2517 63 DB 63
-u (Enter)    
FD60:2517 63 DB 63
FD60:2518 38 6C 6C CMP [SI+6C],CH
.........    

 

nonTSR (ve TSR) Virüslerin Tespit Edilmesi

nonTSR (bellekte sürekli kalmayan) programlar oldukça basit bir şekilde incelenebilir.Bunun için Norton Commander türü bir programa ihtiyacınız var.Norton Commander'ı çalıştırın ve çok kullandığınız COM ve EXE uzantılı dosyaların içlerine F3-View'a basarak Text View modunda bakın.Programın başında veya sonunda bir yerlerde (EXE dosyalar için sadece dosya sonuna bakmak yeterli) *.COM, *.EXE, ????????.EXE, ????????.COM türünden yazılar veya anormal olarak nitelendirilebilecek mesajlar görüyorsanız (İngilizce esas alınarak yazılmış bir program içinde Türkçe mesajlar veya tuvalete gidince sifonu çekin gibi alakasız mesajlar gibi) bu mesajları, eğer mesaj yok ise baktığınız kısımlardan seçeceğiniz bir kısım kodu bir yere not edin.Aynı türden birkaç dosyaya daha bakın.Not ettiklerinizi her baktığınız dosyada görüyorsanız bilgisayarınızı bir sistem disketi ile açın ve sistemi virüs taramasından geçirin.

TSR Virüslerin Tespit Edilmesi

İlk önce DOS'un MEM, CHKDSK gibi komutları ile konvansiyonel belleği (640Kb'lık bellek bloğunu) kontrol edin.TSR virüsler belleğe yerleşebilemek için bilgisayarın belleğinden ihtiyaç duyduğu kadarlık bir bölümünü ayırmak zorundadır.Bunu yerlerini garanti altına almak için yaparlar.Eğer bellek 640Kdan (655360 byte) az görünüyorsa virüsten şüphelenmeye başlayabiliriz.Yalnız bazı makinalarda BIOS ayarlarından dolayı ana bellek 639K görünebilir.TSR bir virüsler genelde 2Kb veya daha fazla bellek ayırırlar.Eğer konvansiyonel bellek 640 Kb'dan az görünüyorsa bilgisayarda TSR bir virüs olduğundan şüphelenmek için ilk sinyali almış oluruz.Eğer konvalsiyonel bellek 640Kb görünüyorsa incelememize devam edelim.

Şimdi bilgisayarı resetleyin.Starting MS-DOS, Starting Windows türünden bir mesaj aldıktan sonra F5 tuşunu veya klavyedeki sol shift tuşunu basılı tutun.Bilgisayar CONFIG.SYS ve AUTOEXEC.BAT dosyaları işlenmeden çalışacaktır. AUTOEXEC.BAT dosyasında bulunduğu için her açılışta otomatik çalışan bir programı çalıştırın (Mesela ses kartının DOS sürücüsü, Türkçe karakter seti programı, Türkçe klavye programı gibi.Autoexec.Bat kütüğünün içini görmek için TYPE C:\AUTOEXEC.BAT komutunu kullanın).Çalıştırdığımız program ile virüsün hafızaya yüklenmesini sağlamış olduk.TSR virüsler bulaşmak için DOS'un program çalıştırma, dosya açma, dosya kapama gibi servislerini kontrol ederler.Tüm bu servisler INT 21 altında toplanmıştır.

Şimdi DEBUG adlı programı çalıştırın.Ekranda - işareti görüyor olmalısınız.Şimdi a komutunu verip enter tuşuna basın.(a komutu assembly dilinde program girileceğini belirtir).Ekranda 6750:0100 gibi bir adres değeri göreceksiniz.INT 21 yazıp enter tuşuna basın.6750:0102 adresini göreceksiniz.Bir kez daha enter'a basarak assembly modundan çıkın.Tekrar - işaretini göreceksiniz.Şimdi t (trace-adım adım çalıştır) komutunu verin.Hemen ardından da u komutunu girerek INT 21'in yönlendirildiği adresteki assembly kodlarını ekrana getirin.

u komutunu verdikten sonra gelen çıktıda ;

PUSHF
CMP AX,4B00 veya CMP AH,4B satırlarını görüyorsanız sisteminizde kesinlikle bir TSR virüs var diyebiliriz.

PUSHF komutu DOS'un işaret yazmacını stack alanına sürerek saklamak amacıyla kullanılır.TSR rutinlerin başında mutlaka yer alır. Virüs işaret yazmacının değerinin değişmesine sebep olursa , virüsün işi bittiğinde servisi çağıran programın hatalı çalışmasına sebep olacaktır.Bu yüzden virüs ele geçirdiği interrupta atadığı rutinin başına bir PUSHF komutu koyacaktır.

CMP AX,4B00 veya CMP AH,4B komutları (INT 21/AH=4B servisi) Int 21'in bir programı yüklemek veya çalıştırmak amacıyla çağırılıp çağırılmadığını kontrol etmek için kullanılmaktadır.Int 21'in 4B servisi program yükle/çalıştır anlamına gelen bir servistir ve DS:DX yazmaclarında yüklenecek/çalıştırılacak programın ASCIIZ olarak ismi yer alır.Virüs bu servisi kullanarak DS:DX adresindeki programı kontrol edecek, temiz bir program ise ona bulaşacaktır.

Burada anlattığım yollardan başka daha farklı metodlar da geliştirilebilir/kullanılabilir. Bu ayki yazıyı merak edilen bazı sorularla bitirelim..

VİRÜSLER V-SAFE, VIRSCAN, GUARD GİBİ KORUMA PROGRAMLARINI ATLATABİLİR Mİ ?

Yeni bir virüs veya çok iyi yazılmış bir virüs bu tür programları safdışı edebilir.Ancak koruma programları virüslü programı daha çalışmadan önce test ettiklerinden bu düşük bir ihtimaldir.Virüsler, bu tür programları aktivitelerinin rapor edilmesinin engellemek için atlatmak ister.Mesela V-SAFE'i etkisiz hale getirmek için;

        Mov Ax,0fa02h
        Mov Dx,5945h
        Xor Bx,Bx
        Int 16h

kodunu virüse eklemek yeterlidir.

BiR ViRÜSTEN KURTULMAK iÇiN HARD-DiSK FORMATLAMAK DOĞRU MU ?

Hayır.Bir virüsten kurtulmanın yolu kesinlikle hard-disk formatlamak değildir.Hele low level format denilen işlemin yapılması tamamen yanlıştır ve kesinlikle kaçınılması gereken bir durumdur.Hard-disk formatlamak yerine önemli verileri disketlere yedekleyip virüsü silebilecek bir anti-virüs aramak daha akılcı olacaktır.Eğer bir antivirüs programı bulamasanız bile diskinizi formatlamayın.Virüsün sisteminize vereceği zarar, sizin diskinizi formatlayarak kendi kendinize vereceğiniz zarardan hiçbir zaman daha fazla değildir.Düşünün, diskinize low level format attığınızda (fabrikada zaten atılıyor !) diskin ömründen çalmış oluyorsunuz.DOS'tan formatladığınızda ise disk üzerindeki verinin tamamını kaybediyorsunuz.

BiR BOOT/MBR ViRÜSÜNÜ TEMiZLEDiKTEN SONRA HARDDiSKiM UÇTU.NASIL DÜZELTiRiM ?

Cansu (Sigalit) veya Crazy Boot gibi boot/mbr virüslerini silerken meydana gelebilen bu tür sorunları düzeltmek için Norton Disk Doctor gibi partition table'ı yeniden oluşturabilecek programlar kullanın. Bilgisayarı temiz bir boot disketi ile açıp NDD /REBUILD şeklinde Norton Disk Doctor'u çalıştırın.Program diski araştıracak ve tüm disk partitionlarını yeniden oluşturacaktır.(Yanlış hatırlamıyorsan sadece FAT16)

Gelecek sayıda virüs olayına kaynak kodlarla devam edeceğiz.
Darkapocalypse ; darkapocalypse@yahoo.com

Editör> Bu yazı gelecek ay devam edecek...


2. PROGRAMLAMA
2.1 Programlama Dilleri Hakkında Genel Bilgiler


NOT : Projman who is our sevgili editorumuz, basimizin taci, unix uzmani,, bizden yazilari  Word 7.0 veya 6.0 da turkce karakterlerle yazmamizi istedi. Burdan ozur diliyom ve yazimi her zamanki formatimda yaziyom.
Editör> İstersen oylamaya sunalım millet hangisi daha çabuk okuyup anlıyor, sonra sen gene böyle yazmaya devam et başımızın tacı :)

Bida NOT : Benim gibi grammar ozurlu birinin yazisini okurken, debuger kullanmaniz tavsiye edilir.

Programlama Dilleri by Meliksah "PCB0ARD" OZORAL

Geyik : Gecen ay CALLER ID olayi hakkinda bir $eyler yazmi$tim... Bununla ilgili bir kac $ey soyleyim. Duyduguma gore bir program IP si verilen ki$inin telefon numarasini size gosteriyormu$ Yalniz bunun icin kar$idaki herifin kullandigi ISS in bunu desteklemesi gerekiyormu$. Walla kimden duydun derseniz BigFoot diyecem, bilginiz olsun diye soyledim eger sizde bu konu hakkinda bir $ey bulursaniz mozoral@mimsa.com a bana mail gonderin. Bunun di$inda bu ayki yaziminin HACK ile alakasi yok. Maksak nasil ELITE olunur. Eger programlama dilleri hakkinda hic bir $ey bilmiyorsaniz ALT+F4 veya Ben elite'im diyorsaniz CTRL+ALT+BACKSPACE tu$ kombinasyonlarini kullaniniz. A$agida size $u programlama dili kullanin demiycem! Sadece hangi programlama dilinin ne icin kullanildigini soyliycem... Bu arada BBSlere takilan arkada$lar bilir ben bir zamanlar MADMESSAGE diye bi program yazmi$tim textconverter ehi! onu kaybetdim eger elinde olan biri warsa lutfen gondersin. Tamam $imdi yaziya ba$liyom!

Bazilari makina dili ile ASsembly nin ayni oldugunu zannederler... Bunlara halk arasinda lamer denir. Makina dili "010101001" lerden olu$an komutlardir ve bunlar direk makinaya hitap eder, Assembly ise bizim "101010101" lerin bire bir kar$ili olan anlamli soz gruplaridir. Bunlar derlemeden bir $ey ifade etmez. Zamaninda abimler "10101001" lerle program yazmaya u$enmi$ ve Assembly dilini ortaya cikarmi$lardir. Assembly en du$uk seviyeli programlama dilidir. Piyasada ondan du$ugu yok. Bazilarida (lamerlar (Bilgi Unv. de bunlardan cokca var)) programlama dillerinin 2 ye ayrildigini soyler. Onlara gore du$uk seviyeli ve yuksek seviyeli diller olmak uzere ikiye ayrilir. Bu ayirmada ASSEMBLY bir du$uk seviyeli dil iken C, PASCAL, BASIC ise yuksek seviyeli bir dildir. Bu tamamen yanli$tir! Programlama dilleri 3'e ayrilir. Yuksek seviyeli, Orta Seviyeli , Du$uk seviyeli. Yuksel seviyeli diller, PASCAL, BASIC, COBOL gibi dillerdir. C ise orta seviyeli bir dildir. Cunku C de istedigin zaman makinaya direk eri$ebilir istediginde makinaya eri$imi derleyiciye birakabilirsin. Assembly ise bahriz bir du$uk seviyeli dildir. Cunku yer $eyi programci yapmak zorundadir. C de ise bu programcinin istedigine baglidir. Assembly programlari kod olarak diger programlama dillerinden cok cok cok cok uzundur fakat, assembly programlari diger programlama dilleri ile yazilmi$ programlardan cok cok cok cok daha hizli cali$ir. Bu hizli cali$ma olayi derleyiciye baglidir. $imdi benim hazirladigim TOP hizli cali$an programlama dilleri listesine bir goz atalim :)

TOP 10
1. Assembly
2. C
3. PASCAL (Bu Ben)
4. BASIC
Evet basic cok yava$ cali$an bir dildir ama ogrenilmesi cok basitdir. Ondan butun lamerlar BASIC bilir. $imdi Kod yazma makimindan bir kiyaslama yapalim ve bir cok programlama dili ile ekrana "TR-SCENE" yazmaya cali$alim.

---BASIC KES----
PRINT "TR-SCENE"
---BASIC KES----

---COBOL KES----
DISPLAY "TR-SCENE"
---COBOL KES----

---PASCAL KES----
begin
writeln('tr-scene');
end.
---PASCAL KES----

---C KES----
main()
{
printf("TR-SCENE ..\n");
}
---C KES----

---MODULA-2 KES----
MODULA NaberLan;
FROM IO IMPORT WrLn, WrStr;
BEGIN
WrStr('TR-SCENE);
END NaberLan;
---MODULA-2 KES----

---ASSEMBLY KES----
YIGIT SEGMENT PARA 'YIGIT'
DB 64 DUP ('YIGIT')
YIGIT ENDS
VERI SEGMENT PARA 'VERI'
NABERLAN DB'TR-SCENE$'
VERI ENDS
KOD SEGMENT PARA 'KOD'
ANA PROC FAR
ASSUME CS:KOD,DS:VERI,ES:VERI,SS:YIGIT
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,VERI
MOV DS,AX
MOV ES,AX
LEA DX,NABERLAN
MOV AH,09
INT 21H
RET
ANA ENDP
KOD ENDS
END
---ASSEMBLY KES----

i$te bizim alemin tayfasi! Bu arada $imdi programlama dillerinin kimler tarafindan kullanildigini anlaticam. Bu arada bunlar tamamen benim gozlemimdir. Bir kisim lamer bana katilmaya bilir! PASCAL benim favori dilim. Pascal ben ve demo coderlar tarafindan kullanilir bunun sebebi bilinmez ama bir cok demo coder PASCAL kullanir. Tabkiki assembly ve C kullanan demo coderlar var ama PASCAL butun demo coderlarin bilmesi gereken bir dildir. Bir ba$ka rivayete gore pascal, bilimadamlari tarafindan kullanilirmi$$$ malesef hic bilimadami olan eni$tem olmadigi icin bunu bilemiyecem! Assembly ise cracker lar tarafindan kullanilir, bunun sebebi programi debug yapinca kar$ina makina ve assembly kodunun cikmasi :). C ise genelde programcilar ve hackerlar tarafindan kullanilir. C tamamen elite bir dildir. Hackerlarin c kullanma amaci bence, C nin linux ve unix gibi sistemlere yerle$ik bir dil olmasi ve geli$mi$ bir dil olmasi :) LAMERLARA HATIRLATMA : Windows, MS-DOS, UNIX, ACAD gibi programlar C ile yazilmi$tir. Tabi bazi yerlerinde ASSEMBLY kullanilmadi degil. Tamam bu aylik bu kadar onumuzdeki ay bu konunun daha derinlerine inicem ve eger omrum yeterse teker teker her programlama dilini inceliycem!
Melikşah PCBOARD Özoral; meliksah@mimsa.com


2.2 C Programlama Diline Giriş

en ba$ uyarILar:
1- her ne kadar verecegimiz linkler|dosyaLarda Visual C++|Borland C++ falan filan icerse de genelde konumuz linux uygulamalarindaki C olacak. haberiniz oLa..eger ilaveler gelirse de onlari da gorursunuz..ornegin Visual C++'daki gibi hazIr database uygulamalarI ile ilgili bilgiler de var bu linklerde ama ben $ahsen ilgilenmiyorum...optum yanakLarInIzdan..

2-eger verilen linklerde ingilizce problemi ya$ayacaksanIz lutfen Projman'dan tercumesini isteyin.
cunku o bir taleptir/istektir.sayfaya ilave edilebilir nitelikte bir $eydir bu. Ak$am eve 7 de geliyorum..tercume icin cok vaktim yok ama yeteri kadar talep olursa bakariz.
Sevgili projman'a ba$vurun..o yazarLarlarla ileti$im kuracaktir..
Editör> Ooh sevgili projman'ın işi gücü yok yazarlar ve okuyucularla ilişkileri de kuracak, bu gidişle memleketimin en yeni sektörü olan okur-yazar ilişkileri mühendisi de olacağız. (Sadece bir şaka, burda bulunma amaçlarımızdan biri de bu olsa gerek)

okudugunuz gibi artIk trscene(Turkish Scene)(okunu$u: tÖrki$siin==turk sahnesi/turk olayI/turk mizanseni manasInda) e$rafInda artIk bi de C|C++(ordaki pipe bitwise-or..bu ilk dersti..unutma soona sorcam ehe) kÖ$esi var..

CanInIzI sIkacak..oLm ne bu yaaa burda bi *ok yok dedirtecek bi konu bu... kafadan local exploit, remote exploit ya da eskiden fixleri olmayan latierra|land|bonk|boink|smurf|ssping ming vs vs ogretsene sen ugra$tIrma bizi diyenlere

pek bi cevabIm yok.cunku.....

nasIL exploit/newk yazILIr diye bi konu yok!! kendi kendine ke$federsin..ama bu uzun zaman ve ilgi ister. buradaki amacIm bunu I$IkLarInI yakmak..yoL gostermek..o kadar..anlatabildim mi?

Ben mi kimim? ben amatorun tekiyim, amacIm da $u an kaynakLarI gostermek..benim i$im de bu degil..

yine amacIm..linux kullanicilarInIn elinin altIndaki C++ hazinesinin farkIna varmaLarInI saglamak..
memlekete 3-5 ilgi uyandIrILmI$ adam saglamak..yani: once temeL bilgi..

bilincli olarak ya da hasbelkader linux yuklemi$ tav$anLarIn, iceriginde ne oldugu ciddi olaylar ta$Iyan BitchX + scriptlerine(saf BitchX'de bi $ey yok) asILIp o-odaya-bu-odaya/o-servera-bu-servera
kastIrmaLarI olayInI gececegimizi hep beraber kafamIza koyaLIm.

sevgili Projman'in, buralari kIsa gecelim kafadan ELITE adamlara gore yazaLim demesine ragmen.. bu linklerden sonra gelecek sayIda ufaktan derslere ba$lamaya caLI$acagIm..

biliyorum projman bunlari okuyunca(okumadan sayfasIna koymasI zayIf ihtimaL ama bakIcaz ehe) unutmayIn ki ben bi mukemmeL adam diilim..amatorum o kadar..
bu yuzden hep beraber ogrenicez ben surekli caLI$Iyorum..

2 ayda exploit yazcak duruma gelmek bence hayaL.onun icin siz sabredin. hem C ogrenilecek hem de newtwork olayI iyice kavranacak.yoksa olamaz di mi?

a$agIdaki linklerde C,C++ agirlikli konular var.

bu arada amazonda ya da inette orda burda satILan me$hur 14 gunde TCP/IP nasIl ogrenilir kitabInIn linki var... eger o server'da problem olursa ya da verdigim linklerde problem olursa bana ya da Projman'a mail atIn...size yollarIz backuplarI (en azIndan birimiz).

 her detay zamanla anla$ILIr|kavranIr.bu arada lamerlarIn hec $ansI olmadIgInI belirtmek isterim.. cunku bu i$ caLI$ma gerektirir,zahmet gerektirir, onlar sIkILIr hemen.

bu konuda herkese iyi ugra$ILar dilerim.....ele$tiriLerinizi bekliyoruz..

verilen linklerdeki ve dosyalardaki bilgileri iyi bir formata getirip print edince  yakla$Ik 400 sayfaya yakIn ediyor.
hade iyi okumaLar..
muccuks

Linkler :

http://www.cs.tuiasi.ro/library/

ILK OLARAK BURAYA BAKIN cunku en basitten en karI$Iga kadar bir ton ornek dosya ve tutorial var. bu adres her derde deva..C'den ba$ka bir cok documan var orada onlardan ilginizi cekenler mutlaka olacaktir.

C ve C++ tutoria'larI mukemmel..ayrica bir cok ornek program var iclerinde.. sayfalara girince size sayfayi tum icerigiyle verecek dosyalarI var..bu cok iyi cunku dL et sonra oku gibi.

digerleri:

http://www.filelibrary.com:8080/cgi-bin/registered/download/DOS/h/75/

http://ajay.simplenet.com/programming/index.html

http://gandalf.pht.com/sourcemountain/pc/c.html

http://www.geocities.com/Area51/Labyrinth/3339/den.html

bu linkler de cok bilgi iceriyor.

zipli dosyalar:

c-lesson.zip : bu dosya aslinda ilk okunacak dosya degil.9 adet ders var..sonra bakarsiniz.

cplusplus.zip : burasi temel olaylardan ba$layan 17 chapter olan bi dokuman..bunu bi yerden yazilip aLdIm..

peter.zip : bu dokumani da bi yere yazildim maillediler.bu dokumanda once temel olaylar var sonra asIl konu 7. bolumden ba$LIyor.

yine muccuks
Intruder ; ocala@aidata.com.tr


2.3. SAYI SİSTEMLERİ

Bilgisayar denilen alet bir kaç kablo,elektronik acayip şeyler ve devrelerden oluşur.Bu aletin içinde bir cin yoktur :) Aslına bakarsanız "binary" bir bakıma cin görevindedir.Binary bir sayı sistemidir.Ve "iki tabanlıdır". Yani olay iki numaradan ibarettir.0 ve 1.

Aslında çok basit değil mi? Yapılan grafikler,güzel programlar,izlenilen Pamela Anderson .avi'leri,Quake2 oyunu ve daha bir çok şey iki tane rakam'a bağlıdır. Her programcının bildiği bir örnek vardır.Gelin onu açıklayayım.

Evimde bir lambam var. Benim bu lamba ile yapabilecegim en basit dört işlem ne olabilir ki?
Mesela,

Lamba yanar ---> 00
Lamba kapanır ---> 01
Lamba patlar ---> 10
Lamba düşer ---> 11

Bakın iki rakam ile dört tane işlem yaptım :) 4 farklı işlem,4 farklı sonuç .. Ne kadar basit,ne kadar güvenilir ve tabiki elektronik...

Ok.. Olayın özünü anladıysak.. Yavaş yavaş olayın derinliklerine girmeye başlayalım..

- Binary Nedir?

Bilgisayarlar,"binary" denilen ve rakamları 0 & 1 olan sayı sistemi ile çalışırlar.0 ve 1 birer "BIT" dirler.Binary de her karakter 8 bit kullanılarak ve tabii olarak aynı olmayacak şekilde kodlanmıştır.Bu 8 BIT,1 BYTE'a eşittir. Yani BYTE = 8xBIT . Mesela "BABA" sözcüğünü binary olarak kodlamak istediğimiz
de gerekli BIT sayısı 32,gerekli BYTE sayısı ise 4 dür.(4x8=32)

B harfini 00000001,A harfinide 00000010 olarak varsayarsak."BABA" aşşağıdaki şekilde gösterilmiş olur.

BABA = 00000001 00000010 00000001 00000010

Binary'i diğer bir sayı sistemi olan "Decimal" ile karşılaştıralım.

Binary: 0, 1 (İki BIT)
Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (On BIT)

Burdada çok açık görüldüğü gibi Binary de iki değer,decimal de ise on değer bulunuyor.Yani burada decimal,binary'e bir üstünlük sağlamış :) Fakat bilgisayarlar bilginin *sadece* iki ifadeli(binary) bitlerini okuyabilirler.Bu demek ki bilgisayar tüm bu matematiksel işlemleri tamamen binary ile
gerçekleştirecek.  Şimdi de binary de ve decimal de *sayma* sistemine bakalım.

Decimal: Binary:

01 0001
02 0010
03 0011
04 0100
05 0101
06 0110
07 0111
08 1000
09 1001
11 1010
12 1011
13 1100
14 1101
15 1110
16 1111
17... 10000

Güzel bir tablo bence,herşey kabak gibi ortada :) Ama yinede decimal ve binary'i *sayma* sistemine göre bir karşılaştıralım.

Decimal:
9 8 7 6 5 4 3 2 1 0
10 10 10 10 10 10 10 10 10 10
X X X X X X X X X X

(X'i 0-9 arası bir rakam olarak düşünün.)

Decimal sayı sisteminde her bit,10'un kuvvetine eşittir.Mesela 10'un 0. kuvveti 1'dir.O halde X kısmına "0" yazılacaktır.Çünkü 10'un 0. kuvveti 1'in içinde hiç 10 yoktur.İkinci X de ise 10'un 1. kuvveti 10'dur ve buradaki kısıma 1 yazılacaktır. Çünkü 10'un içinde 1 tane 10 vardır.Üçüncü kısımda ise 10'un 2. kuvveti 100'dür ve oraya 10 yazılacaktır.Çünkü 100'ün içerisinde 10 tane 10 vardır.Burada anlatılmak
istenen X bulunan kısımın herzaman 10 ve 10'un katları olacağıdır. 

Binary:
9 8 7 6 5 4 3 2 1 0
2 2 2 2 2 2 2 2 2 2

X X X X X X X X X X

Binary sayı sisteminde de her bit 2'nin kuvvetine eşittir.2. X kısmında 2'nin 1. kuvveti yine 2 dir.O halde buraya 1 yazılacaktır.Çünkü 2:2=1 dir.3. X'de 2'nin 2. kuvveti 4'dür ve buraya 2 yazılacaktır.4. X'de 2'nin 3. kuvveti 8'dir ve buraya 4 yazılması gerekir(8:2=4)Yani anlatılmak istenen farklılık buradadır.Decimal sayı sisteminde rakamlar 10'ar 10'ar sayılırken,binary'de 2'şer 2'şer sayılır.Ve ayrıca belirtmek isterim ki,hiç bir sayı sisteminde 2,3,4,5,6,7,8,9 bir arada bulunamaz!

(Bir daha C editörlerde döküman yazmıcam bkz. Belirtmek: Command not found,yazının başından beri 500 tane error çıktı karşıma off)

İnşallah olaydan birşeyler kapmışsınızdır.Yani şu an uyumak istiyorum.. Yarın ne yazdığıma bakıcam.Bakalım uykusuzken neler saçmalamışız :) En son olarak bi kaç tane binary rakamları ve değerlerini örnek olarak yazıyım.

1100 = 12
0010 = 2
0011 = 3
0100 = 4
1000 = 8
1111 = 15

Her türlü soru,sorun ve eleştrilerinizi bana mailleyebilirsiniz. Geleck ay görüşmek üzere(?)
Bye!

-----BEGIN PGP PUBLIC KEY BLOCK----
Version: 2.6

mQCNAzYxtv0AAAEEAOZM+5YaCE9IJb29f1v9NhVqX2LD++8ed0MvwGgYurgQKUR1
dY6Ehn7GP8IUiE85ZhXTFgqia+JB+V1RTXFZlQJlZiR9FVRD2TWBND6zXFNwB+K2
aSL352d4NXY/Ms9a+pgyiVH9/i7njB722OJrptrCI/cp15lgG50XjFsM9rBNAAUR
tB5PbnVyIEd1bmR1eiA8a2FpQGxpbnV4Lm9yZy50cj4=
=KE54
-----END PGP PUBLIC KEY BLOCK-----

kai ; kai@linux.org.tr


2.4 CMOS'A ERİŞİM

CMOS, (Complementary Metal Oxyde Semiconductor) bilgisayarların donanım, saat ve tarih gibi bilgilerini tutan birimidir.CMOS veri alanı sonuçta bir tür bellek özelliğinde olduğundan bilgisayarın kapatıldığında içindeki bilgilerin kaybolmaması için anakart üzerindeki bir pil ile desteklenir.Bu pil bittiğinde CMOS'ta tutulan veriler silinecektir. Bu esnada da sistem saati sıfırlanacaktır.CMOS üzerindeki bilgiler asıl olarak BIOS ile beraber gelen Setup programı ile güncellenir.

CMOS alanında tutulan verilerin yapısı aşağıdaki gibidir ve bu verileri okuyup değiştirmek mümkündür.

Ofset Açıklama
00-09 Bu adresler arasında kalan adresler gerçek zaman saati ile ilgilidir. Bu adresleri kullanarak da saat/tarih bilgisi öğrenilip değiştirilebilir.Çeşitli programlama dilleriyle bu veriler kolayca okunup, değiştirilebildiğinden bu kısmı atlıyorum.
0A Durum yazmacı A
0B Durum yazmacı B
0C Durum yazmacı C
0D Durum yazmacı D
0E Test bilgileri
Bit 7: Gerçek zaman saatine elektrik gelmiyor
Bit 6: CMOS checksum hatalı
Bit 5: POST sırasında geçersiz konfigurasyon
Bit 4: POST sırasında bellek boyutunu karşılaştırırken hata
Bit 3: HD başlatırken hata
Bit 2: CMOS'taki tarih/saat bilgisi hatalı
Bit 1,0: Ayrılmış
0F En son kapanış sebebi
00-Resetleme veya makinanın ilk açılması
01-Bellek boyutu doğru
02-Bellek testi başarıyla geçildi
03-Bellek testi sırasında hata
04-POST sonunda sistem açıldı
05-EOI ile JMP DoubleWord pointerı
06-Korunumlu testler tamamlandı
07-Korunumlu testler sırasında hata
08-Bellek boyutunda hata
09-Int 15h Blok taşınması
0A-EOI olmaksızın JMP DoubleWord Pointerı
10 Disket sürücü tipleri
Bit 7-4: Disket sürücü 0 tipi
Bit 3-0: Disket sürücü 1 tipi
0000:Sürücü yok
0001:360K
0010:1.2M
0011:720K
0100:1.44Mb
0101:2.88Mb
11 Ayrılmış
12 Fixed disk tipleri
Bit 7-4: Fixed Disk 0 tipi
Bit 3-0: Fixed Disk 1 tipi
0000:Sürücü yok, diğer sayılar önemli değil
13 Ayrılmış
14 Kurulu aygıtlar
Bit 7-6:Disket sürücü sayısı
00:1 adet
01:2 adet
Bit 5-4:Birincil görüntü tipi
00:Ayrılmış
01:40x25 renkli
10:80x25 renkli
11:80x25 mono
Bit 3-0:Ayrılmış
15 Kb olarak konvansiyonel bellek miktarının (Low) kısmı
16 Kb olarak konvansiyonel bellek miktarının (Hi) kısmı
17 Kb olarak genişletilmiş bellek miktarının (Low) kısmı
18 Kb olarak genişletilmiş bellek miktarının (Hi) kısmı
19 Fixed disk 0 tipi
1A Fixed disk 1 tipi
1B-2D Ayrılmış
2E Checksum toplamının Low kısmı
2F Checksum toplamının Hi kısmı
30 Kullanılabilir Expanded Memory boyunun (low) kısmı
31 Kullanılabilir Expanded Memory boyunun (hi) kısmı
32 BCD formatında yüzyıl
33 Information flag - Bilgi yazmacı
-1------:128K expanded
--1-----:Setup tipi
Diğer bitler: Ayrılmış
34-3F Ayrılmış - Burada DMA ayarları gibi bazı ayarlar bulunur.

 

Burada görüldüğü gibi CMOS'ta 64 byte veri vardır.Bu alan bazı CMOS tiplerinde 128 veya 256 byte'da olabilir.

CMOS alanından veri okumak veya yazmak için 70h ve 71h no'lu portlara erişmek gerekir. (Bu portlar TCP veya UDP iletişimde kullanılan mantıksal portlardan ayrıdır).CMOS'a veri yazarken çok dikkat edilmeli, yeni oluşan checksum değeri hesaplanıp 2E ve 2F adreslerinde kaydedilmelidir.CMOS checksum hesabında 11h,13h ve 1Bh-2Dh arası değerler kullanılır. Eğer uyuşmazlık olursa 'CMOS Checksum Error' hatası meydana gelir.

CMOS'tan veri okumak için;

Öncelikle 70h no'lu porta okunmak istenilen adres girilir.71h no'lu porttan da girilen adresteki veri okunur.

MOV AL,Okuma yapılacak adres (00-3F arası)
OUT 70h,AL
IN AL,71h

CMOS'a veri yazmak için;

Bu işlem için önce 70h no'lu porta yazılacak adres girilir.71h no'lu portaa veri yazılır.

MOV AL,yazma yapılacak adres (00-3F arası)
OUT 70h,AL
MOV AL,Yazılacak veri
OUT 71h,AL

Komutları kullanılmalıdır.Bir örnek olması açısından expanded memory boyutunu CMOS'tan öğrenen bir pascal kodu yazdım.

Var  
  emLo,emHi:Byte;
Begin  
  Port[$70]:=$17; emLo:=Port[$71];
Port[$70]:=$18; emHi:=Port[$71];
WriteLn('Expanded Memory=',(emHi Shl 8)+emLo,' Kb');
End.  

 Darkapocalypse : darkapocalypse@yahoo.com


2.5 Mikroişlemcilere Giriş

Bu bölümde mikroişlemcilere giriş yapılacaktır. 4 ve 8 bit işlemcilerden itibaren işlemci ailesinin önemli üyeleri olan 8088 , 8086 , 80186 , 80286 , 80386 ve 80486 tanıtılacaktır. İlerleyen bölümlerde işlemci mimarisi , bellek yapısı ve Intel işlemcilerin komut setleri anlatılacaktır.

1971 yılında Intel dünyanın ilk mikroişlemcisi olan 4 bitlik 4004'ü tanıttı. Bu işlemci sadece 4096 bellek alanını adresleyebiliyordu ve 45 farklı komuta sahipti. Bunun sonucu olarak da bilgisayar oyunları ve mikroişlemci tabanlı kontrol kartlarında kullanılmaktan öteye gidemedi.

1973'te ilk modern 8 bitlik işlemci olan 8080 üretildi ve diğer firmalar da işlemci pazarına girdiler. Bu firmalardan bazıları ve ürettikleri işlemciler aşağıda verilmiştir.

Üretici İşlemci
Fairchild F-8
Intel        8080
MOS        6502
Motorola        MC6800
National         Semiconductor IMP-8
Rockwell        PPS-8

 

8080'i özel yapan ne idi ? Daha fazla bellek ve komutun yanında komutları 8008'e göre 10 kat daha hızlı çalıştırabiliyordu.

Daha sonra 8080'in klonu olan 8085 üretildi ve dünyada 100 milyonun üzerinde sattı.Bunları 8086 ve ertesi yılı 8088 takip etti.Her iki işlemci de 16 bit işlemcilerdi ve 400 ns'de komut çalıştırabiliyorlardı. Ayrıca 8 bit genişliğinde 1Mb veya 16 bit genişliğinde 512Kb bellek adresleyebiliyorlardı.16 bit işlemcilerin gelişimindeki en önemli etkenlerden birisi bölme ve çarpma işlemleridir. 8 bit işlemciler -çarpma yapabilen ancak bölme yapamayan MC6800 dışında- çarpma ve bölme yapamıyorlardı.

16 bit işlemcilerin gelişimi 8086 ile bitmedi önce 80186 ardından 80286 geliştirildi. 80286 16 Mb bellek alanı adresleyebiliyor ve 16 MHz hızında çalışabiliyordu. 8086 ve 8088 2.5 MIP's (saniyede işletilen milyon komut) ile çalışırken 80286 8 MIP's ile çalışıyordu.

İlk 32 bit işlemci olan 80386 33 MHz'de , arkasından üretilen 80486 66 MHz'de çalışabiliyordu ve bu işlemciler 4Gb'a kadar bellek adresleyebiliyordu.

486'nın DX versiyonunda matematik işlemci tümleşik bulunuyordu ve 80386'nın 2 saat darbesinde çalıştırdığını tek saat darbesinde çalıştırabiliyordu.

Model Veri yolu genişliği Bellek boyutu

8048 8 2K internal
8051 8 8K internal
8085A 8 64K
8086 16 1M
8088 8 1M
8096 16 8K internal
80186 16 1M
80188 8 1M
80286 16 16M
80386DX 32 4G
80386SL 16 32M
80386SX 16 16M
80486DX 32 4G
80486SX 32 4G
Pentium 32/64 4G

Yukarıda intel işlemci ailesi verilmiştir.

Temel İşlemci Mimarisi

Eski işlemcilerde olduğu gibi modern işlemcilerde komutları bellekten alırlar fakat bunu tamamen farklı bir şekilde yaparlar. Modern işlemcilerde özel görevleri icra eden bir çok dahili işlem unitesi vardır.(Bu işlem ünitelerinin herbiri bir özel amaçlı mikroişlemcidir.)Bunun anlamı modern işlemciler birçok komutu çalışmalarının çeşitli bölümlerinde eşzamanlı olarak işletebilirler. Bu işleme pipelining adı verilir.

Şekil 1.1 (a) 8085'in tipik 8 bit işlemcilerde görülen prosesini göstermektedir. Bir komut memory-read işlemi ile bellekten alınıyor.8085 komutu işletirken sistem boşta bekliyor. 8086 ve 8088 ile başlayan Intel ailesi işlemcileri bu boş zamanı ilk komut çalıştırılırken arkasından gelen komutu alarak değerlendirmektedir. Bu da programın genel çalışma hızını arttırmaktadır.

Şekil 1.1(b) 486 bir işlemcinin sıralı işlemlerini göstermektedir.Görüldüğü üzere veriyolu sürekli kullanımdadır(busy). Ayrıca 486 birden fazla dahili üniteye sahiptir.Her ünite çalışma anını değişik evrelerindeki komutlar ile pipe'da işlev görmek için dizayn edilmiştir.

BIU (bus interface unit) bellek ile işlemci arasında okuma yada yazma için komut alınması ile sorumludur. BIU'in çıkışı geçerli veriyi ve komutu saklayan 8K'lık bir cache memory'e bağlanır.Cache'in çıkışı 32 byte komut tutan kuyruğu besler. Bu demektir ki mikroişlemci kuyrukta 32 adet çalıştırılmamış komut tutabilmektedir.

 

 

Sistem Mimarisi

Sistem ile işlemcinin haberleşmesi 3 bus üzerinden gerçekleşir. Bunlar address , data ve control bus'larıdır. Address bus sisteme bellek adresi sağlamakla birlikte I/O aygıtları için giriş çıkış adresleri sağlar.

Data bus işlemci ile bellek ve sisteme bağlı I/O sürücüleri arasında veri transferini sağlar.

Control bus ile bellek veya I/O sürücülerinin okuma ve yazması için kontrol sinyalleri sağlar.

 

(a)

 

 

 

Yukarıdaki şekil incelenirse data bus genişliği ile address bus genişliğinin işlemcinin bir modelinden diğerine değişiklik gösterdiği görülür. Aşağıdaki tabloda değişik varyasyonlar için işlemci hızları verilmiştir.

Temelde her yeni işlemci ile daha yüksek saat hızlarına erişilmiştir.

Data bus genişliği bir seferde kaç byte bilginin transfer edildiğini etkiler. Address bus ise her işlemcinin ne kadar bellek adresleyebildiğini gösterir. Genel olarak daha geniş adress bus daha hızlı işlemci demektir.

Gelecekte yapılacak olan işlemciler 64 bit genişliğinde ve belki de 128 bit genişliğinde olacak ve şu an için yüksek sayılabilecek hızlara erişilebilecektir.

 

Microprocessors Data Width Address Width Clock (Mhz)

8086              16      20     5

8088        8      20     5

80186            16     20      6

80286            16     24      8

80386DX      32      32     16

80386SX       16      24     16

80386SL       16      25     16

80486DX       32     32     25

80486SX       32      32     20

Gelecek Ay:
Bellek ve Mikroişlemci
    mantıksal bellek
    fiziksel bellek
    pc de bellek
Programlama Modeli
    genel amaçlı registerlar
    pointer ve index registerlar
    flag register
    segment register

Bu döküman Levent Kaptanoğlu tarafından "intel microprocessors" isimli kitaptan çevrilmiştir. Çevirideki herhangi bir hatayı Lkaptan@eng.kou.edu.tr adresine e-mail ile bildirebilirsiniz.

Risc ; lkaptan@yahoo.com


2.6 DLL Olayı

Selam, bazi programci arkada$larin dll olayi hakkinda fazla bilgi sahibi olmadiklarini gordum! Spook, DarkApo, Cyber nasilsiniz ? Heuhueheuh... I$te bende millet biraz yararlansin diye DLL hakkinda bi yazi yazayim dedim. DLL hakkinda cok $ey bilmiyom ama bildigim kadari ile size  bi$eyler aktarmak istiyom! Her zamanki gibi grammar hatalarimi boşverin! Yazi uc bolumden olu$cak. Bunlardan birincisi DLL nedir ?, ikincisi Delphi 4.0 ile DLL yazimi ve son olarak ucuncusu DLL leri Delphi 4.0 ile kullanmak. DLL dosyalari gercekte birer program olmalarina   ragmen kendi ba$larina cali$tirilamaz. Eger biraz kurcalamak isterseniz bir dll dosyasinin   uzantisini exe yapin ve cali$tirin. Goruldugu gibi dll hic bir hata vermeden cali$ir ama  hic bir $eyde yapmaz. DLL gercekde cali$tirila bilir dosyalardir ama kendi ba$larina  cali$tirilamaz; dll ler diger programlar tarafindan cali$tirilirlar.DLL aslinda icinde bir cok degi$ik i$lem yapan procedure ve function dan olu$ur. Bunlarin her birinin ayri  gorevleri vardir ve bunlar di$aridan bir program tarafindan cali$tirilabilir.DLL lerin en buyuk avantaji devamli kullandiginiz procedure ve function lari birle$tirerek bir cok program tarafindan kullanilmasini saglamak. $imdi olayi size bi ornekle aciklayim. Diyelimki bir program yazicaksiniz. Programin amaci 1 ekrani silmek, 2 ekrana cerceve cizmek, 3 ekrana merhaba yazmak.
Bunun yaninda baska bir programda yazmak istiyorsunuz ve ayni pakete koyucaksiniz. Bu yazacaginiz
ikinci programin amaci ise 1. ekrani silmek, 2 ekrana cerceve cizmek, 3 ekrana bye bye! yazmak.
$imdi yazicaginiz iki programa bi bakalim.
1. program merhaba.exe
ekrani sil kodu 100 byte
cerceve ciz kodu 200 byte
merhaba yazma kodu 100 byte
boylece merhaba.exe toplam 400 byte oldu $imdi ayni paketde bulunan 2. programa bakalim bu da
ekrana bye bye yazicak.
2. program byebye.exe
ekrani sil kodu 100 byte
cerceve ciz kodu 200 byte
byebye yazma kodu 100 byte
Evet bu programda toplam 400 byte oldu. $imdi bu programi birde DLL ile yazmaya kalkalim.
once bir dll hazirlayalim ve bu dll nin icine her iki programin kullandigi ortak i$lemler koyalim iki programda ekrani siliyor ve cerceve ciziyor.
1. Ornek dll ekran.dll
ekrani sil kodu 100 byte
cerceve ciz kodu 200 byte
Evet gorundugu gibi ekran.dll nin boyu 300 byte $imdi diger merhaba ve bye bye programlarini yazalim
2. merhaba.exe
dll yi cagir 50 byte
merhaba yaz 100 byte
toplam 150 byte etdi
$imdi de bye bye yazalim
3. byebye.exe
dll yi cagir 50 byte
bye bye yaz 100 byte
toplam 150 byte etdi.$imdi ilk dll olmadan yazdigimiz paketin uzunluguna bakalim.
merhaba.exe 400 byte
byebye.exe 400 byte
toplam 800 bytelik bir paket... Bir de dll ile yazdigimiz pakete bakalim!
ekran.dll 300 byte
merhaba.exe 150 byte
byebye.exe 150 byte
bu paketde toplam 600 byte tutdu. ve bizim 200 byte lik karimiz oldu ve bir kodu iki programda
ayni kez yazmadik. Unutmayin ki programlarin kullandigi ne kadar cok ayni fonksiyon varsa
dll yazarak hem yerden hemde zamandan kazanirsiniz.
DLL ler genelikle Windows tarafindan standartla$mi$ formatla derlenirse butun windows programlari
tarafindan ve diger programlama dilleri ile birlikte kullanilabilir. Ehu herhalde dll nin ne oldugu
anladiniz. $imdi Delphi 4.0 ile nasil dll yaziliacak bi bakalim! Ehu dll leri normal bir program
gibi yazamiyacagimiz icin oncelikle FILE/NEW/DLL olayina girin... sonra unit1.pas i bi guzel ok$amaya
hazirlanin. Oki $imdi size ornek bi dll vericem!
Bu program size verilen bir text i sifreler veya sifreyi cozer.
library mcoder; -> Burda dll yi tanimliyoruz. Bilindigi gibi normalde burada unit coder; yazmasi lazimdi.
{
(C)opyright 1999 Meliksah Ozoral
Legion Coder v0.1a (SPOOK)

m_code : v0.01
m_d_e_code : v0.01
}
uses -> Burda ise bizim icin gerekli uniteleri tanimliyoz
SysUtils,
Classes;
Function m_code(iner:string):string;export; --> sira ilk fonksiyonumuzu yazmaya geldi goruldugu
{ --> gibi dll de fonksiyon parametreleri farkli
M_Code : v0.01 --> burada fonksiyona ayrica export u ekliyoruz.
ORD Plus : +3
Function : Un!
}
var
u:integer;
ehu,uhe:string;
son2:string;
begin
ehu:='';
for u:= 1 to length(iner) do begin
ehu:=ehu+chr(ord(iner[u])+3);
end;
for u := 0 to length(ehu) do begin
uhe:=uhe+ehu[length(ehu)-u]
end;
son2:=ehu;
m_code:=son2;
end; --> normal olaraktan :) fonksiyon bitdi

Function m_d_e_code(outer:string):string;export; --> buda ikinci fonksiyonumuz!
{
M_De_Code : v0.01
ORD Plus : -3
Function : Un!
}
var
u:integer;
ehu,uhe,son:string;
begin
for u := 0 to length(outer) do begin
uhe:=uhe+outer[length(outer)-u]
end;
for u:= 1 to length(uhe) do begin
ehu:=ehu+chr(ord(uhe[u])-3);
end;
son:=copy(ehu,1,length(ehu)-1);
m_d_e_code := son;
end;
exports --> burada exports ile kullandigimiz fonksiyonlari indexliyoruz.
m_code index 1, --> her fonksiyona bir index numarasi veriyoruz.
m_d_e_code index 2;
begin
end.

Bu programi delphi de cali$tiramazsiniz!!! ANCAK DERLEYEBILIRSINIZ !!! Eger hatalari kontrol etmek istiyorsaniz CTRL+F9 ile programi derleyin! Sira yukarida yazdigimiz fonksiyonlari bir program icinde kullanmaya geldi! Ornek programa bi bakin!

unit test; ---> Geleneksel Delphi i$lemleri

interface ---> Geleneksel Delphi i$lemleri

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls; ---> Geleneksel Delphi i$lemleri

type ---> Geleneksel Delphi i$lemleri
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
--> Burada di$aridan cagiracagimiz (yazdigimiz dll den) fonksiyonlari programa tanitiyoruz.
--> Fonksiyon tanitmanin parametreleri
--> fonksiyon_adi(parametreleri:tipi;far;external'dll_adi' index no ( burda no dll nin sonunda
--> exports komutu ike fonksiyona verdigimiz index numarasi.
function m_code(iner:string):string;far;external 'mcoder.dll' index 1;
function m_d_e_code(outer:string):string;far;external 'mcoder.dll' index 2;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var ekle:string;
begin
ekle:=m_code(edit1.text);
memo1.lines.add(ekle);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
ekle2:string;
begin
ekle2:=m_d_e_code(edit1.text);
memo1.lines.add(ekle2);
end;

end.

Goruldugu gibi diger kisimlar normal delphi ile ayni. Programin "mcoder.dll" ile ayni dizinde olup derlenmesi gerekiyor.
$imdilik bukadar!

Meliksah PCBOARD Ozoral ; mozoral@mimsa.com


2.7 Bilelim Öğrenelim

Heheh, bizim eski turkce kitaplarinda vardi boyle salak salak $eyler. Bu da bizim tr-scene nin bilelim ogrenelim ko$esi burda programci arkada$lar icin yararli bilgiler vericem. Bu ayki konumuz COMMAND.COM un boyutlari. :) Evet ufak bir ara$tirma sonucu bunlari buldum.

MS-DOS v3.2 ve COMMAN.COM 'un boyu 23.612
MS-DOS v3.3 ve COMMAN.COM 'un boyu 25.276
MS-DOS v4.0 ve COMMAN.COM 'un boyu 37.557
MS-DOS v5.0 ve COMMAN.COM 'un boyu 46.246
Heheh MS-DOS v6.22 var ama kurmaya u$endim :)
Editör> MSDOS 6.22 COMMAND.COM'un boyu 54.645 bytes :)

Buda IBM abimizin boyutlari.
IBM PC-DOS v1.0 ve COMMAND.COM 'un boyu 3.231
IBM PC-DOS v1.1 ve COMMAND.COM 'un boyu 4.959
IBM PC-DOS v2.0 ve COMMAND.COM 'un boyu 17.664
IBM PC-DOS v2.1 ve COMMAND.COM 'un boyu 17.792
IBM PC-DOS v3.0 ve COMMAND.COM 'un boyu 22.042
IBM PC-DOS v3.1 ve COMMAND.COM 'un boyu 23.210
IBM PC-DOS v3.2 ve COMMAND.COM 'un boyu 23.791
IBM PC-DOS v3.3 ve COMMAND.COM 'un boyu 25.307
IBM PC-DOS v4.0 ve COMMAND.COM 'un boyu 37.637

Onumuzdeki ay daha yararli bilgilerle goru$mek uzere.

Melikşah PCBOARD Özoral meliksah@mimsa.com


3. Cracking
3.1 Windows'ta Program Kırma

    Bir programın kırılması o programın yazılış amacı dışında davranmasına sebep olmak olarak yorumlanabilir.Programlar belli bir programlama dilinde yazıldıktan sonra derleyici denilen başka programlar ile çalıştırılabilir kod haline çevrilir. Bu çalışıtırılabilir kod içerisinde CPU nun anlayacağı dilde ve işletim sisteminin özelliklerine bağlı olarak makine dili olarak Hexedecimal (onaltılık) bir düzende bulunur.Makine koduna çevrilmiş programlar içerisinde programcının yazmış olduğu kodu barındırmazlar. Öyle ise programın içeriğini derlenmiş bir koddan açık ve net bir biçimde anlamak çok zordur. Makine dili denilen dil aslında rakamsal bir dildir .Bu onaltılık sayı düzeninde bulunan kodlar ikilik sayı sistemine (binary) dönüştürülerek CPU ‘ya gider 0 ve 1 ler bilgisayarın işleyişindeki temel olan elektrik sinyalı var (1) elektrik sinyali yok (0) olarak CPU tarafından yorumlanarak programlar işler. Makine dilininin bu zor ve anlaşılmaz oluşundan dolayı ASSEMBLY dili geliştirilmiştir. Bu dil bilgisayar dilleri içerisinde en alt düzey programlama dilidir. Bu dil ile yazılan programlar CPU ya direkt olarak hitap eder . Fakat bu dil ile uzun programlar yazmak ta oldukça zor ve gereksizdir. Bunun yerine diğer diller ile yazılan programlarda o programlama dilinin yetersiz kaldığı ya da yavaş kaldığı noktalarda daha hızlı ve direkt erişim olanağına sahip bir dil olan ASSEMBLY ile prosedür veya fonksiyonlar yazılır. Günümüzde bu sadece bazı aygıt sürücülerini yazarken yada virus lerde kullanılmaktadır.

Gelelim Windows programlarına ; Windows için yazılan programlar da çeşitli programlama dilleri yada program geliştirme araçları ile yazılarak derlenir ve çalıştırılabilir kod haline dönüştürülür. Bu çalıştırılabilir kodun DOS programlarında en belirgin farkı içerisinde kullandığı işletim sistemini özel fonksiyonlarıdır. DOS işletim sisteminin INTERRUPT denilen bazı fonksiyonları vardır. Bu fonksiyonlar windows için yazdıgınız programların içerisinde direkt olarak yer almazlar bunun yerine Windows işletim sisteminin hali hazırda yazılmış fonksiyonları kullanılır.(Bu konu üzerinde istenirse daha ileriki yazılarımda durabilirim , ama şimdilik bu kadar yeterli diyorum)

Hepimizin mutlaka dikkatini çekmiştir Windows / System dizini altında bir çok DLL uzantılı dosya mevcuttur. İşte bu dosyalar içerisinde programların çalışırken kullandığı birçok fonksiyon yada tanım bulundururlar. İşte bu fonksiyonlar programları kırmamıza yardımcı olacak noktalardır. Daha önce de belirttiğim gibi programlar makine dilinde bulunuyordu dosyalarda , öyleyse bunları anlayabileceğimiz bir şekile sokmak için bu programları ASSEMBLY diline çevirmemiz gerekecek. Bu iş için kullanacağımız programlara Disassembler denilir . Programların ham içeriğini yani onaltılık sayı düzenindeki içeriğini görüntüleyebilmek içinse HEX editör denilen programlara ihtiyacımız olacak . Bunun haricinde ise bazen programların CPU daki işeniş sırasındaki içeriğini görüntüleyebilen ve aslında programlardaki hataları ayıklamak için kullanılan Debugger denilen programlar ise ileride çok işimize yarayacak.

Öyle ise program kırmak için gerekli olan şeyleri şöyle sıralayabiliriz. 1-ASSEMBLY dilini bilmek 2- Windows işletim sistemini iyi tanımak ve fonksiyonlarını bilme (C++ kullananlar bu konuda pek zorluk çekmiyecektir ) 3-İyi bir Disassembler programı 4-Hexeditör programı 5-Debugger programı 6- Sabır (en gerekli şey) . Bu saydıklarımın hepsine sahip olduğunuzda program kırmak için herşeyiniz vardır anlamına geliyor.

İsterseniz küçük bir örnek ile başlayabiliriz. Bu iş için oldukça kolay bir koruması olan ve bizimde kullanacağımız bir program olan HEXWORKSHOP ile işe başlayabiliriz. Bu program daha önce birçok kişi tarafından ve farklı yöntemler izlenerek kırılmıştır . Benim izleyeceğim yötem ise bazılarınıza saçma gelebilir ama unutmayıki buradaki amacım kendimi ispat etmek değil sadece öğretmektir.

Hedef Program :HexWorkshop 2.52

Nereden Bulurum : www.bpsoft.com

Kırarken Kullanılan Programlar :Wdasm89 & HexWorkshop 2.52

Öncelikle programın Demo yada deneme sürümü olmasının bize sağladığı dezavantajları inceliyoruz. Programı ilk açtığımızda karşımıza bu programın 20 gün süreli bir demo versiyon olduğunu hatırlatan bir pencere ile karşılaşıyoruz.Eğer Bu versiyonu bu yakın tarihte kurduysanız ayrıca size upgrade etmenizi öneren bir başka pencere daha çıkıyor karşımıza . Bunun haricinde programın Demonstration Version diye bir menüsü olduğunu görüyoruz , buraya tıkladığımızda ise bir Serial Number soran pencere ile karşılaşıyoruz. Öyleyse bize burada bir doğru serial numara yada programa doğru olduğunu zannetirecek bir yöntem gerekli. Programı disassemble ederek işe başlıyabiliriz. Programın disassemble işlemi bittikten sonra kullandığı windows fonksiyonlarını inceleyelim functions menusunden imports ‘a baktığımızda user32.getwindowtexta fonksiyonu işe yarayabilir diyoruz ve ilk denememizi bu fonksiyon ile yapıyoruz . Programı load edip user32.GetWindowTextA fonksiyonlarının kullanıldığı yerlere durak noktası koyuyoruz. Aşşağı yukarı 7- 8 arası durak noktası koyduktan sonra programı çalşıtırıp Demonstration Version menüsünü tıklayıp Serial Number olarak herhangi bir no giriyoruz.Ben 99999999 girdim ve register tuşuna bastığınızda HOP Wdasm içinde buluyoruz kendimizi yani işe yaradı !! . Daha sonra F8 tuşu ile hatalı Serial Number girdiğimize dair ekran çıkana kadar devam ediyoruz ilerlemeye. Bu noktaya gelene kadar işlenen kodları iyi takip edin çünkü en son işlenen Dallanma komutunun yeri çok önemli yani (je , Jne , Jz , jnz , Ja , Jb gibi ) . En nihayetinde hata ekranı çıktığında OK ye basıp işlemi tekrar yapalım ve her işlenen koşullu dallanma komutuna bir durak noktası daha koyalım.

:0043178B E8E8DC0100 call 0044F478 à Serial Number ın ekrandan okunması
:00431790 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FFFFFEFC]
:00431796 83C164 add ecx, 00000064
:00431799 E8F21BFDFF call 00403390
:0043179E 50 push eax
:0043179F 8D45DC lea eax, dword ptr [ebp-24]
:004317A2 50 push eax
:004317A3 E8E8B90000 call 0043D190
:004317A8 83C408 add esp, 00000008
:004317AB 680C534800 push 0048530C
:004317B0 8D45DC lea eax, dword ptr [ebp-24]
:004317B3 50 push eax
:004317B4 E867CE0000 call 0043E620
:004317B9 83C408 add esp, 00000008
:004317BC 85C0 test eax, eax
:004317BE 0F8414000000 je 004317D8
:004317C4 8D45DC lea eax, dword ptr [ebp-24]
:004317C7 50 push eax
:004317C8 E893970000 call 0043AF60
:004317CD 83C404 add esp, 00000004
:004317D0 8945EC mov dword ptr [ebp-14], eax
:004317D3 E907000000 jmp 004317DF
:004317DF 837DEC00 cmp dword ptr [ebp-14], 00000000
:004317E3 0F8479000000 je 00431862 à Girilen Serial Nuber Yanlış ise dallanma olur
:004317E9 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FFFFFEFC]
:004317EF 83C164 add ecx, 00000064
:004317F2 E8991BFDFF call 00403390
:004317F7 50 push eax

Yukarıda görülen kod üzerinde daha fazla da çalışabilirir ama ben buna şu an gerek duymuyorum ,çünkü bu program girilen numarayı dogru kabul ettikten sonra çalıştığı dizinde bir dosya oluşturuyor. REG uzantısı olan bu dosya var olunca yada içerisinde belli bir imza olunca girilen serial numaranın doğru olup olmadığını bir daha hiç kontrol etmiyor ve böylece sonsuza dek Full version olarrak çalışıyor .Anlaşıldığı gibi bu JE 00431862 komutunu JNE 00431862 yada tamamını NOP komutuna çevirirsek bu program gireceğimiz herhangi bir kodu kabul edicek ve Crackimiz tamamlanmış olucaktır.Wdasm programından aradığımız byte ların 30BE3h adresinde yer aldığını görüyoruz . Hexworkshop programının kendisini kullanıp Hworks32.exe dosyasını açıp 30BE3h adrsine gidiyoruz 0F8479000000 byte larını 909090909090 byte ları ile değiştirip başka bir isimle kaydediyoruz. Çünkü aynı isimle o an hafıza da olan bir dosyayı kayıt edemeyiz . Daha sonra HexWorkshop programından çıkıp orijinal dosyanın adını başka bir isimle kaydedip kırılmış dosyayı orijinal adıyla kaydedersek program hazır olur. Geriye çalıştırıp herhangi bir Serial Number kodu yazıp Register etmek kalıyor. Bu aylık bu kadar , önümüzdeki ay yeni konular ve daha ileri tekniklerle birlikte olmak üzere Hoşçakalın.

Herhangi bir konudaki düşünce ve önerilerinizi mail adresime gönderebilirsiniz.

C0de WaRRioR ; Zet_98@yahoo.com


3.1 Teleport 1.9 Nasıl Kırılır?

Teleport Pro 1.29

Program Açıklaması
Program İsmi Teleport Pro 1.29 
Program Tipi Offline Browser,site download programı
Koruma Şekli Fonksiyon kısıtlaması ve zaman

   

Gerekli Araçlar

Sofice 3.24 Win95 veya Nt versiyonu,Opsiyonel olarak W32Dasm. Bu programları buradan download edebilirsiniz.
 

Anlatım

Bu programi kırarken Softice kullandığımdan size bununla alakalı bir kaç bilgi vermek istiyorum.Assembly dili bir kaç sayfada anlatılacak kadar kısa birşey olmadığından ben burada crackerlarin çok kullandiği bir kaç teknikten ve komuttan bahsedeceğim.Softice  ekini okuyarak ilk başlangıcı yapın.Softice i ekte anlattığım şekilde kurun.Geçen yazıdaki assembly kodlarına bakarak biraz çalışın.Biliyorum anlaşılması pek kolay değil ama en azından bir kulak dolgunluğu olsun.Programı kırarken arada bir ona bakın ve anlamaya çalışın.Bu kadar önsöz yeter hadi kıralım.Programı açtığımızda bizi rahatsız eden hiçbir ekran falan çıkartmıyo ama bir siteyi indirirken en fazla elli dosyayı çekmemize izin veriyo.(50 dosyayla nasıl test edecez bu programı :) ).İlk olarak yapacağımız iş herzaman olduğu gibi help dosyasında register kısmın falan okumamız bu bize programın nasıl kayıtlı hale getirileceği hakkında az da olsa bir bilgi verecektir.Klasik olarak help kısmında about veya register diye bir yer varmı diye bakıyoruz.Evet register diye bir yer var.Oraya tıkladığımızda karşımıza Name, Company ve Code dan  oluşan  bir pencere geliyor.Şimdi Softice i kurmuş ve Softice ekini okuduysanız ne yapacağımızı biliyorsunuz.Programı breakpoint ile durduracaz.En fazla kullanılan breakpointeler bpx getwindowtexta ve bpxgetdlgitemtexta dır.Sonunda ki a 32 bit programlar için olduğunu gösteriyo.Şimdi name kısmına Mister Stop company kısmına Turkish  Scene Serial kısmında da 7777777 diye sallama bir serial yazalım.Enter tuşuna basmadan önce Ctrl+D ile Softice 'a geçip breakpoin koyucaz.Softice da iken bpx getwindowtexta yazip entere basıyoz sonra x ile yeniden windowsa dönüyoruz.Evet şimdi entere basalım.Amanin yeniden softice ekranına geldik ,çünkü program getwindowtexta ile bizim yazdıklarımızı okumaya çalıştı ve softice da bu komutu görünce durdu.Kayıt ekranında üç tane girdi olduğu için program bunları teker teker okuyacak ve kendi gerçek serial ile bizim verdiğimiz seriali karşılaştıracak.Bu yüzden softice da iken x diyp enter basıcaz.Sonra bir daha x yazıp entere basıcaz.Boylelikle bizim isim ve şirket kısımların programa okutmuş olacaz.Bundan sonra program artık registerlarla (tükçesi saymaç mı ne) bunu değişik hesaplardan geçirecek ve kodu hesaplıyıp bizim kod ile karşılaştıracak.Softice da iseniz şöyle bir ekran karşınızda olması lazım.
 
USER32!GetWindowTextA
BFF51804             B1B2                        MOV CL,B2
BFF51806             55                             PUSH EBP
Burada iken bc 0 ile koyduğumuz breakpointi temizliyoruz.Şimdi biz bu kodu takip ederek gerçek seriali bulmaya çalışacaz.Doğruyu söylemek gerekirse ben öyle assemblyden çok anlamıyorum fakat şu koddan bize gerekli olanların karşısına bazı açıklamalar koydum.Ben bir kere F11 e basarak kodu atladım bir basamak.İsterseniz adım adım izlemek için F10 tuşunu basabilirsiniz.Assembly ekini okumazsanız bu kısımlardan hiçbir şey anlamazsınız.Alt tarafta o an hangi exe veya dll nin çalıştığı yazmaktadır.Hala teleport pro bizim verdiğimiz bilgileri okuduğundan şuraya gelinceye kadar F10 a basın.
................
* Reference To: USER32.GetWindowTextA, Ord:013Fh
:0044A950  FF15C0434600          Call dword ptr [004643C0]
:0044A956  8B4D10                        mov ecx, dword ptr [ebp+10]
:0044A959  6AFF                            push FFFFFFFF
:0044A95B  E83793FFFF               call 00443C97
:0044A960   EB0B                           jmp 0044A96D

00444A95B deki Call i F8 ile icine girebiliriz ama pek ilginç bir şey yok.Evet bu noktada size bir ipucu veriyim.Eğer call larin ardindan conditional jump yani "je" "jne" gibi kodlar yoksa bu callari F10 ile izleyebiliriz.F10 ile kodu izlerken bütün kodu buraya yazmadim.Bize gerekli olan yerleri yazicam sadece.F10 ile kodu birazdaha izlerseniz suraya geleceksiniz.
.................
0042472D C6415C01                     mov [ecx+5C], 01
:00424731 E958FFFFFF                jmp 0042468E
:00424736 B8981F4600                 mov eax, 00461F98
:0042473B E8B0610000                call 0042A8F0
:00424740 51                                 push ecx
:00424741 51                                 push ecx
:00424742 53                                  push ebx
:00424743 56                                  push esi
:00424744 57                                  push edi
:00424745 8BF9                             mov edi, ecx
:00424747 6A01                             push 00000001
:00424749 E8F1DE0100                call 0044263F
:0042474E 33DB                            xor ebx, ebx
:00424750 6A0A                            push 0000000A
:00424752 53                                  push ebx
:00424753 FFB7DD000000           push dword ptr [edi+000000DD]       ;
Seriali edi+dd ye tek tek yaz
:00424759 E852700000                  call 0042B7B0
:0042475E 8B0D9C1A4800          mov ecx, dword ptr [00481A9C]
:00424764 83C40C                        add esp, 0000000C
:00424767 8945EC                         mov dword ptr [ebp-14], eax
:0042476A 3899CD020000           cmp byte ptr [ecx+000002CD], bl
:00424770 0F841B020000              je 00424991
.....
Eğer bu noktada iken yani xx:00424753 de iken d edi+dd yazarsaniz data penceresinde şunu görürsünüz. EC 25 A3 00.Eğer d A325EC  yazarsak data penceresinde bizim sallama kodu yani '7777777' i görürüz.Neden tersten alip d  ile oraya gittik.Çünkü, program bizim verdiğimiz seriali byte byte alip belirtilen belleğe yerleştiriyor.Dword ptr o demek.Evet şu an artık sonlara doğru gelmekteyiz.Biraz daha izleyin kodu şuraya geleceniz.
....
* Possible StringData Ref from Data Obj ->"User"
                                  |
:00424778 BED0B74700                mov esi, 0047B7D0
:0042477D 0F840B010000           je 0042488E
:00424783 FFB7D5000000           push dword ptr [edi+000000D5]    ;
Kullanıcı ismini belleğe yerleştir
:00424789 E894090000                 call 00425122
:0042478E 3945EC                        cmp dword ptr [ebp-14]    ;
Eax ile gerçek kodu karşılaştır
:00424791 59                                 pop ecx
:00424792 753A                            jne 004247CE   ;
Kod doğru değil beceremedin Mr.Cracker
:00424794 8D4DF0                       lea ecx, dword ptr [ebp-10]       ;
Kod doğru bu yollar helal sana
:00424797 E8B2EF0100               call 0044374E

* Possible Reference to String Resource ID=07076: "Thank you!  Your copy of Teleport Pro is now registered",
 ...
Şimdi bizim tek yapacağimiz ne :0042478E yi F10 ile geçtikten sonra(yani program o bölgeyi çalıştırdıktan sonra) ? eax yazmamız.Bunu yazdığımızda
1458171568 i goreceksiziniz.Herhalde bunu ne olduğunu anladınız.Bizim gerçek serial.Softice dan ciktiktan sonra Name= Mister Stop Company =Turkish Scene Serial = 1458171568
yazıp programı kayıtlayın.
Bu yazı gerçekten biraz çalışmayı gerektiriyo.Ekte bulunan softice ekini tamamen okuyun.Softice ile ilk defa bir yazı yazdığımdan yazı bölük pörçük oldu ama artık idare edin.Gördüğünüz gibi program yazarları programlarını korumak için öyle fazla uğraşmıyorlar.Biraz çaba ve şansla bir çok programı kendiniz kırabilirsiniz.

Önemli Not:Lütfen öğrettiklerim bilgileri korsan program kullanmak için sarfetmeyin.Bunu sadece test amaçlı kullanın.Bazı progrmalar gerçekten parayı hakediyorlar.Antiviral Toolkit Pro 1.2x veya bütün Macromedia ve Adobe programları.Dediğim gibi program yazarlarına biraz saygı duyalım.Onlar program yapmasa biz neyi kıracaz öyle değil mi ama : )

Son Not:Turkish Scene Sayı1 deki Rsagent Kırmasıyla alakalı hala bir programcıya ihtiyac var tercihen delphi veya visual c olabilir.Ayrıca Teleport Proyu bir şekilde kıran veya bir keygenerator yapana da benden hediye var.Başarabilenler nasıl yaptıkları ile beraber bana
mail atsın.

Dipnot:Belki bu benim son yazım.Eğer görüşemezsek bana
mail atın.Başka bir şekile buluşuruz..

Mr_Stop kandirdim@hotmail.com
 
 


3.2 Softice Öğrenme Kılavuzu

Kolay Softice Kullanılışı 

Eğer Softice ilk defa download  ettiniz ve nasıl kullanılacağını bilmiyosanız bu yazı size az da olsa bir fikir verecektir.Bu yazıda bazı ipuçları ve hileler vermeye çalışıcaz.Softice ı nasıl ayarlandiğını açılamalarıyla vermeye calışıcaz.Eğer elinizde Softice 'ın kullanım klavuzu varsa bu daha yararlı olacaktır.Bu o kullanım klavuzunun yerini tutmaz sadece yeni başlayanlar için bir başlangıç noktasıdır.
Sofice i kurduktan sonra autoexec.bat dosyasında şöyle bir satırın olması lazım :

C:\Progra~1\NuMega\SoftIc~1\winice.exe

Burada önemli olan winice.exe dosyası.Kurduğunuz klasör veya sürücü farklı olabilir.Bu satırın sizin winice.exe dosyasını göstermesi önemli.Bu program mutlaka Windows tan önce başlaması gerektiğinden bu satırlar önemlidir.Eğer bu satırlar yoksa autoexec.bat dosyasına yukarıdaki satırı ekleyin.Bu sayede Softice windows ile sanki berabermiş gibi çalışırlar.

Softice 'ı bizim amacımıza uygun şekilde ayarlamak için winice.dat dosyasını değiştireceğiz.Bu dosya Softice' ı kurdunuz yerdedir.Bu dosyayı herhangi bir text editörü ile açın ve aşağıdaki gibi değiştirin
Aşağıda benim winice.dat ım var,Ben kolay anlaşılsın diye satırların anlamını
sarı ile yazdım.Sarı ile yazılan yerler winice.dat ın parçası değiller.Sadece açıklama için konulmuştur.

PENTIUM=ON   ;Eğer bilgisayarınız pentium ise bunu On yapın aksi halde Off 'u kullanın
NMI=ON
ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
SIWVIDRANGE=ON
THREADP=ON
LOWERCASE=OFF
WDMEXPORTS=OFF
MONITOR=0

; *************************************************************************
; If your have MORE than 32MB of physical memory installed, change
; the PHYSMB line to the correct # of Megabytes.
; If you have LESS than 32MB you can save a bit of memory by
; specifying the correct # of Megabytes
; Example: PHYSMB=32
; *************************************************************************

PHYSMB=64  ;Buradaki değeri bilgisayarınızdaki gerçek RAM 'in boyutunu gösterecek şekilde ayarlayın
SYM=1024     
;Kaynak kodundaki sembolleri saklamak için 1Mb lık yer kaplar
HST=256        
;Geçmiş komutları saklamak için 256 K yer kaplar
TRA=8
MACROS=32
DRAWSIZE=2048

                           ;Bundan sonraki yerler tavsiye edilen ayaralardır.
                            ;Kendinize daha uygun gelecek şekilde değiştirebilirsiniz

X;          = Softice dan çık.Noktalı virgül entere de basılması gerektiğini belirtiyor
wl;        = Sofice da lokal değişkenler penceresini açıp kapar
code on;   = Bu bizim dissamble edilmiş kodu hexadecimal değerini gösterir
altscr off;= Softice ın herşey için aynı ekranı kullanmasını sağlar
Lines 57;  = Pencerenin boyutunu ayarlar
wc;        = Softice kod penceresinin boyutu
wd;        = Softice hexedecimal penceresinin boyutu
wr;        = Register lari penceresinde tepesinde gösterir
faults off;= Windowsun çökmesi halinde Softice ın çalışmasını engeller

INIT="X;"
INIT="wl;code on; altscr off; lines 57; wc 32; wd 8; wr; faults off;"

F1="h;"        ;Bu ayarlar fonksiyon tuşlarını tanımlar
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;"   ;
F10 (Cod icinde adım adım dolaşma) kırarken çok kullanılan birşeydir
F11="^G @SS:ESP;" 
;F11 Call dan tekrar program rutinine dönmemizi sağlar.
F12="^p ret;"
SF3="^format;"
CF8="^XT;"
CF9="TRACE OFF;"
CF10="^XP;"
CF11="SHOW B;"
CF12="TRACE B;"
AF1="^wr;"
AF2="^wd;"
AF3="^wc;"
AF4="^ww;"
AF5="CLS;"
AF8="^XT R;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="code on; altscr off; lines 57; wc 32; wd 8; wr; wl; ww 2; faults off"
CF2="^wr;^wd;^wc;"

; WINICE.DAT
; (SIW95\WINICE.DAT)
; for use with SoftICE Version 3.2 (Windows 95)
; 14 July 1997
 

; Change the path to the appropriate drive and directory
 
EXP=c:\windows\system\kernel32.dll    
;Buradaki satırlar Sofice 'ın otomatik olarak
EXP=c:\windows\system\user32.dll       
;yükliyeği dll leri gösterir.Bizde böylece hangi
EXP=c:\windows\system\gdi32.dll        
  ;rutinlerin program tarafından kullanıldığını
EXP=c:\windows\system\comdlg32.dll  
;bildirir.Genelde birsürü program bunları kullanır.
EXP=c:\windows\system\shell32.dll        
;Bu yüzden bu dll lerin Softice tarafından yüklenmesi
EXP=c:\windows\system\shell232.dll      
;gerekmektedir.

Winice.dat 'a yaptığınız her değişikliğin etkil olabilmesi için yeniden windowsun başlatılaması lazım.Bu yüzden programı kurduktan sonra winice.datı değiştirip öyle restart atın

Softice kurmamıza rağmen etkili bir şekilde kullanmayı öğrenmek o kadar kolay değildir.Kullana kullana sizde bir şeyler öğreneceksiniz.Fakat burada softice 'ın nasıl kullanıldığına dair bir kaç örnek verelim

Softice a geçmek için Ctrl ve D tuşuna aynı anda basın.Bu bütün programları durduracak ve sizi softice ekranına götürecetir.
Softice a geçince bir kaç pencere ve değişik bilgiler göreceksiniz.Alttaki pencere bizim komutları yazdığımız input penceresi.Bazı komutalar şöyle..
x                    =
Softice dan çık.
bpx                 =
Softice a belli api kodlarında dur emri
bpm                =
Softice a belli bellek bölgelerinde dur emri
bpr                  = Belli hafıza bölegelerinde dur emri
d                    = Belleği ve orada yazan değerleri göster
e                    = Bellekteki değerleri değiştirir
cls                  = Input penceresini temizle.
s l ffffffff 'text'= Hafızada text yazısını arar
Örnek vermek gerekirse  bpx getdlgitemtexta softice a bu api kodunu görünce dur komutunu verir
bpm 0157:0009AC2D softice a o belleğe erişildiği zaman dur komutunu verir. 

bpr  0157:00643345 0157:00643345 iki yer arasında bir yere erişildiği zaman dur komutunu verir
d 00456787 o bölgedeki bellekteki değerleri gösterir.
d eax eax registerinin belirttiği yerdeki belleği gösterir.

Birde input penceresinde kullandığımız komutalardan da bahsedelim.
bl                  =
O andaki breakpointleri gösterir((00) BPX #0028:09876543 C=01 gibi)
bc                  =
O anda konulmuş break pointleri listeler
bd                  =
Break pointi kapatir(bd 0 0 nolu breakpointi kapatır)
be                  =
Break pointi açar (be 0, kapatılan 0 nolu breakpointi açar)
?                   = Belli bir register veya sayının   değerini gösterir.( ? 23 # gibi)

Sanırım bu bilgiler size az da olsa Softice 'ın nasıl kullanılacağı konusunda bir bilgi vermiştir.Eğer sizin bildiğiniz güzel teknik ve taktikler varsa söyleyin bu yazıya ekliyelim.
Mr_Stop kandirdim@hotmail.com 


4. Hacking
4.1 Wingate Nedir, Wingate Açıkları

Wingate Qbik Software tarafından yazılan, bir modemi birden fazla bilgisayarın paylaşmasını sağlayan Türkiye'de özellikle Internet cafelerin rağbet ettiği bir proxy server programıdır. Aynı işi yapan diğer programlar arasında Lanbridge ve NetProxy sayılabilir. Program Windows 9X/NT altında çalışabilmektedir. Programın en son 3.0 sürümü bulunmaktadır. Wingate kurulu bir bilgisayarda bir modem ve ethernet kartı ve en azından TCP/IP kurulu olmalıdır. Ethernet kartına sanal bir IP atanır, diğer terminal bilgisayarlara da aynı düzeyden birer sanal IP atanır. Wingate programı kurulduğunda;

23. portta Telnet proxy server aktiftir.
1080. portta SOCKS server kuruludur ki şifre sonradan atanıncaya kadar program tarafından şifre verilmez.
6667. portta IRC mapping aktifdir, aynı şekilde şifre sonradan atanıncaya kadar program tarafından şifre verilmez.

En büyük açık 23. porttaki telnet proxy server'dadır.
Wingate kurulu bir bilgisayara 23. porttan telnet attığınızda:
Wingate> promptunu alırsınız. Bu aşamada telnet atmak istediğiniz bir ana makina adını yazın:

Wingate> telnet wingate.net
Connected to wingate.net

Wingate> kurban.com 23
Böyle bir bağlantı kurduğunuzda sizin IP'niz görünmeyecek, wingate kurulu olan makinanın IP'si loglara kaydedielcektir.

Wingate Kurulu bir ana makina nasıl bulunur?
İki yöntem vardır,
1. Türkiyedeki Internet Servis Sağlayıcıların IP aralıklarını biliyorsunuz, bu IP aralıklarını wingate scanner'la tarayıp wingate kurulu ana makinaları bulabilirsiniz. Ancak bulacağınız makinalar genellikle Dinamik IP'ye sahip olacakları için internetten çıktıklarında bu IP hiç bir işinize yaramaz. (Wingate scanner programını Projman's Homepage / Hacking / Tools / Wingate altında bulabilirsiniz.)

2. İşte statik IP'li wingate kurulu ana makina bulma yöntemi, statik IP'li ana makinaya sahip olabilmek için kuruluşta kiralık hat (leased line) çekili olmalıdır, 64K'lık bir kiralık hat aylık bedelinin nerden baksanız 500$ olduğunu düşünürsek bu işe yatırım yapan kurumlarda ancak kiralık hat bulunduğunu tahmin etmek zor değil. bunun için Internet Servis Sağlayıcıların referanslarımız bölümünden kiralık hat çektikleri kurumların listesini elde edebilirsiniz. (Amma da zahmetli işmiş diyorsanız uğraşmayın :P) Bu listeler üzerinden yine wingate scanner'la ana makinanın üzerinde wingate kurulu olup olmadığını anlayabilirsiniz.

Wingate Kurulu bir Bilgisayar Buldum Ne Yapmalıyım?
Wingate'in en önemli özelliği sizi internette anonim göstermesidir, herhangi bir yeri hack etmekle uğraşacaksanız wingate üzerinden çıkış yapıp loglarda sizin IP'nizin görülmesini engelleyebilirsiniz. Bunu nasıl yapacağımıza gelince:
1- Yukarıda wingate kurulu bilgisayarların IP'lerinin nasıl bulunacağı anlatılmıştı, anlatıldığı üzere diyelim ki IP'yi buldunuz.
Telnet programınızı açın (Windows9X'de Start/Run/Telnet yazın) Connect/Remote System.. e gelin. Host name bölümüne bulduğunuz IP'lerden birini yazın. Wingate> promptunu alacaksınız. Şimdi 2. buldunğunuz IP yi yazın ve bir boşluk bırakıp 23 yazın. Sonra 3. sonra 4. artık tamamen tanınmayacaksınız :)
Örnek:
telnet 212.23.77.4
Wingate> 194.142.23.45 23
Wingate> 144.155.64.5 23
Wingate>
gibi..
şimdi tamamen anonimiz.
Wingate> www.superonline.com 23 yazıp işlemlere başlayabiliriz :)

2- Wingate'i ikinci kullanım amacımız ise IRC'de spoof yapmak (IP'mizi gizlemek) Peki bunu nasıl yapacağız:

IRC programınızı açın (mirc olabilir bu, verilen komutları komut satırında yazın)
/server 195.61.198.1 23 (Wingate IP'sini 195.61.198.1 yerine yazıyoruz)
*** Connecting to 195.61.198.1 (23)
-
Local host: dialup131.bir.net.tr (195.174.186.131)
-
ÿûÿûÿıWinGate>NICK RooT
Connecting to host NICK...Host name lookup for 'NICK' failed
USER SB "dialup131.bir.net.tr" "195.61.198.1" admin@ikon.net
Connecting to host USER SB "dialup131.bir.net.tr" "195.61.198.1" ...Host name lookup
for 'USER SB "dialup131.bir.net.tr" "195.61.198.1" ' failed
-

/server irc.orion.net.tr 6667 (Bağlanmak istediğimiz IRC Serveri yazdık)
-> Server: irc.orion.net.tr 6667
-
67 SB "dialup131.bir.net.tr" "195.61.198.1" ...Host name lookup for 'USER SB
"dialup131.bir.net.tr" "195.61.198.1" ' failed
Connecting to host irc.orion.net.tr...Connected

-195.61.198.1- *** If you are having problems connecting due to ping timeouts, please type /raw pong
18f6e6f5 or /quote pong 18f6e6f5 now.

/Server nick RooT (Nickname'imizi verdik)
-
-195.61.198.1- *** If you still have trouble connecting, please contact admin@orion.net.tr with the name
and version of the client you are using, and the server you tried to connect to: (irc.orion.net.tr)
-
PING? PONG!
-
-
ERROR Before you may use this server, you must type /RAW PONG 18f6e6f5 or /QUOTE PONG
18f6e6f5
-
Authorization required to use Registered Nickname RooT
-
-OrionNET- Nickname RooT is registered. You must provide the password (type /PASS password) to
use it
-
-OrionNET- If you do not know the password, please change to another nickname (type /NICK
anothernickname)
-

/msg nickserv identify **** (:0)
-
Welcome to ConferenceRoom, RooT
Your host is OrionNET, running version ConferenceRoom 1.3
This server was created May 22 1997 (Serial # 101-0010-171)
OrionNET CR1.3 oiwsagc biklmnoprstvr
-
There are 16 users and 12 invisible on 1 servers
10 channels formed
I have 28 clients and 0 servers
-

(İşte içerdeyiz artık bağlanmak istediğimiz kanalın adını verip bağlanabiliriz, hmm kendimize whois çekmeyi unutmayalım :)
/whois RooT
RooT is admin@195.61.198.1 * administrator
RooT on #muhabbet
RooT using OrionNET
RooT has been idle 3mins 52secs, signed on Mon Jan 18 23:24:29
End of /WHOIS list.

(İşte benim IP adresim 195.174.186.131 iken 195.61.198.1 oldu, amacımıza ulaştık :o)

3- Bir ara wingate kurulu bilgisayarlarda çok büyük bir açık olduğu yazıldığı güvenlik listelerinde ama aramalarımda ben herhangi bir sonuç bulamadım bir de siz deneyin:

Wingate kurulu bilgisayarın IP'si tespit edilir.
Web Browser açılır (web browser Internet Explorer'sa ControlPanel/Add Remove Programs / Internet Explorer 4.0 bulunur, add/remove butonuna tıklanır, işlem bitince home.netscape.com adresine gidilir ordan netscape'in en güncel sürümü çekilir artık işleme başlanabilir)
Web Browser URL bölümüne: http://WingateIPsi:8080 yazılır,
yazıldığına göre bu direkt olarak Harddisk haritasını veriyormuş deneyin derim..
İşte size aramalarım sonucunda bulduğum birkaç wingate server IP'si: (Ben denediğimde hepsi çalışıyordu içlerinde çalışmayanlar olabilir, sizin de bulduğunuz wingate IP'leri varsa bizimle paylaşabilirsiniz.)

------------/ ip listesi /------------
    62.248.8.89
    207.96.181.253
    209.178.61.117
    200.13.19.29
    24.0.163.226
    203.108.33.204
    monelco.wincom.net
    poste253.autray.net
    CBL-pssandhu1.hs.earthlink.net
    t2s20.data.net.mx
    www.zic.gov.mk
    209.178.61.117
    195.61.198.1
    ttp.park.tartu.ee
    cramer.qni.com
    cx107569-b.fed1.sdca.home.com
    leading1.ozemail.com.au

------------/ ip listesi /------------

Not: Wingate scanner Projman's Homepage'deki Hacking/Tools/Wingate kısmından çekilebilir.
2.Not: Wingate Scanner For Linux'ta var oldukça hızlı windows sürümüne göre, shell erişiminiz varsa rootshell.com'dan çekmenizi öneririm.
3.Not: Geçen ay içerisinde Pr0nClicker isminde bir program çıktı Rootshell.com'da, bu program linux altında çalışıyor. Önce wingate server'ları buluyorsunuz, sonra programı derliyorsunuz, programın kullanımı gayet basit:
pr0nclicker wingatelist http://www.televole.com index.htm diyorsunuz, bütün wingate server'larına teker teker bağlanığ programdaki linkleri indiriyor, yani sayfanıza koyduğunuz banner'lara tıklanmış oluyor, gelsin paralar hesabı :)
Denemelerimde üçkağıtçı banner servisçileri yüzünden net sonuç alamadım ancak sayfa üzerindeki sayacın bir anda wingate listemdeki IP kadar arttığını gördüm yani program çalışıyor.

İşte wingate olayı da böyle, wingate'le ilgili açıklar bulunmaya devam edecek gibi görünüyor..
Projman  projman@bigfoot.com


4.2 Caller ID ??

AmaC; Arayan numaranIn, aranan numaraya iletilmesi.

SonuC; Arayan numara (Org;DialUp-User), aranan numara(Org;ISS), DialUp PIR ($u  sIralar sadece PIR hatlarInda bu Ozellik var yakInda tUm Tr'deki tellerde olucak  vs..) hattInIn oldugu herhangi bir ISS'i aradIgInda, ISS'in Modemi DialUp-User'a  cevap vermeden Once, DialUp'In aradIgI numara, ISS'teki SQL ve/veya farklI bir  DataBase Server'a kaydedilmi$ olur bile.

Bundan CIkarIlacak sonuC, herhangi birine yada bir yere zarar vermeden Once iyi dU$UnUlmesi gerektigidir. Hacker olduGunu sanan zavallI ertesi gUn kapIsInda Polis'leri gOrebilir. (SavcIlIk ISS'e bir yazI gOnderir tarih saat bildirir, ISS'te pa$a pa$a tel numarasInI savcIlIga verir, tabii savcIlIkta size bindirir) Bu durumda kaCak bir ACC kullanmanInda gOrUldUgU Uzere bir yararI yoktur.

Not: Arayan numaranIn baglI oldugu santral digital ise hat aCIldIgI andan itibaren (telefon ahizesinin kaldIrIlmasI ve/veya Modem'in numara Cevirmek iCin hattI aCmasI) telefon santrali log tutmaya ba$lar.

Bundan 2 $ekilde kurtunulabilir,
1) GerCek bir Hacker olmanIn ilk kurallarIndan birine sadIk kalInmI$ olunup Cok iyi bir Pheaker olmalI.
2) Analog hattan yada telefon kulubesinden kaCak ACC ile daha Once kontrolU yapIlmI$ olan sisteme gerekli i$lemleri (Hack) yapmaktIr. (5 dakika  iCinde olmasI caizdir).

(Pheak i$lemi Ulkeden Ulkeye degi$ir. CUnkU her Ulkenin kullandIgI telefon  sistemi farklIdIr. Belli ba$lI bUyUk $irketler (AT&T, MCI) gibi dahada farklI  sistemler kullanIr. Hatta bazI telefon santrallerinde TID gibi sistemler vardIr. AnlayacaGInIz bunlar derin mevzuatlar.(BazI geli$mi$ Ulkelerde telefon sistemlerinin  aCIklarInIn bilerek kapatIlmadIgIda gOrUlmU$tUr, nedenmi dU$UnUn bakalIm))

Pheaker = Telefon sistemlerinin aCIklarInI Cok iyi bilen ki$ilere verilen genel ad (Hacker'lIgIn temeli).
Hacker = Ne demeli, mUkemmel bir Pheaker ve aynI zamanda sistemleri ve insan ruhunu Cok iyi bilen ki$ilere verilen genel ad diyelim.

Dip Not: Hacker asla ben Hacker'Im demez.
Yazan: PI.
Im a Hacker and this is my manifesto. /Hackers(Lame Film)

Editör> PI konuk yazar onun için mail adresi yok..


4.3 Ayın Tipi

Bu ayın tipi nette gördüğünüz bir insanın hangi ISP'den bağlandığını anlama üzerine. IRC'de vs. IP'leri iki şekilde görürüz:

1: 144.122.2.104 -> Direkt IP'yi görebiliyoruz.

2: 166.new-york-11-12rs.ny.dial-access.att.net -> Superonline'da, doruknet'te vs. vs. bircok ISP'de de görüyoruz bu tür IP'leri..

2. şekilde görmüşsek vatandaşın IP'sini;
MSDOS komut istemine geçiyoruz ve:

C:\WINDOWS>ping 166.new-york-11-12rs.ny.dial-access.att.net
Pinging 166.new-york-11-12rs.ny.dial-access.att.net [12.78.196.166] with 32 bytes of data:
Reply from 12.78.196.166: bytes=32 time=1276ms TTL=21
Reply from 12.78.196.166: bytes=32 time=1085ms TTL=21
Reply from 12.78.196.166: bytes=32 time=919ms TTL=21

ping sonuçlarını görüyoruz, burada 12.78.196.166 vatandaşımızın IP'si.
Şimdi gelelim asıl bölüme, IP'sini bulduğumuz vatandaşın hangi ISP'den bağlandığını ya da hangi kurumdan olduğunu öğrenmek için, http://www.ripe.net/db/whois.html sitesine gidiyoruz, burdan Search'e tıklayıp adamın IP adresini yaziyoruz, işte karşımızda vatandaşın hangi kurumdan nete bağlı olduğu duruyor :)
Projman ; projman@bigfoot.com


5. Magazin
5.1 Ayın Yorumu
Internet Kullanım Etiği

Ağ üzerindeki her kullanicının, servisleri, sistemleri kullanmaları konusundaki sorumluluklarını farketmeleri önemlidir. Kullanıcı, ağdaki her servise ulaştığında yaptığı hareketlerden sorumlu olmak zorundadır.

"Internet" ya da kısaca "Net" , tek bir ağ değildir, hatta bir birinde ayrı protokollere, yapılara sahip binlerce irili ufaklı ağların toplamıdır. Internet'teki bilgi akışı, bir çok değisik ağ'dan gelip geçmekte, ulasacağı yere öylece varmaktadır. Bu yüzden, her kullanıcının, kendi bölgesindeki ağ yukünü dengede tutması gerekmektedir.

Bir ağ kullacısı olarak, başka bilgisayar ağlarına ulasmanıza izin verilmiş olabilir. Her ağın kendine ait sorumlulukları, kuralları ve yasakları vardır, Ağ üzerindeki izin verilmiş işlemler, bu ağdaki sorumlular tarafindan her zaman izlenebilecek sekilde tasarlanmıştır. Fakat, bir yerde izin verilen bir hareket , başka bir ağda yasaklanmış olabilir. Bu kuralları bilmek ve bunlara uymak, kullanıcının sorumluluğundadır. Sunu unutmayın ki, izin verilen hareketleri kötü yönde de "YAPABİLİRSİNİZ" , ama yapmanız gerekmez.

Ağ'ın, özellikle Internet'in kullanımı, bir ayrıcalıktır, bir "hak" değildir. Bu ayrıcalık, istenildiği zaman, kötüye kullanım ya da başka sebeplerle, elinizden alınabilir. Bu kötüye kullanım, bir sistemdeki gizli bilgileri hileli yollarla almak, kötü, anlaşılmaz mesajlarla diğerlerini rahatsız etmek, sistemin kaynaklarını kullanıp sistemi yavaşlatmak, ardarda mesajlar postalayarak başkalarının e-posta kutularını doldurmak, ağ üzerinde yasalarla belirlenmiş kuralların dışına çıkmak vs vs olarak sayılabilir.

Bulunduğunuz ağ'ın durumuna gore, disiplin cezasından işten çıkarilmaya; hesabınızın silinmesinden hapse kadar cezalara carptırılabilırsiniz.

Bilgisayar Ahlakı Üzerine 10 Altın Kural

1.Kesinlikle, bilgisayarı, başkalarina zarar vermekte kullanmayın.
2.Kesinlikle, bilgisayarla, başkalarının işine mani olmayın.
3.Kesinlikle, başkalarının dosyalarını karıştırmanın yollarını aramayın.
4.Kesinlikle, bilgisayarı hırsızlık yapmakta kullanmayın.
5.Kesinlikle, bilgisayarı yalancı şahitlikte, sahte delil hazırlamada kullanmayın.
6.Kesinlikle, sahibinden izinsiz başkalarının bilgisayar kaynaklarını kullanmayın.
7.Kesinlikle, başkalarinin fikirlerini bilgisayarla çalip kendinize mal etmeyin.
8.Kesinlikle, sosyal içeriğini düşünmeden bir program yazmayın.
9.Kesinlikle, bilgisayarı, saygı ve ilgi göstermeksizin kullamayın.

Editör> Internet ahlakına inanıyorsanız lütfen bu kurallara uyun..

Editör> Bu yazı Internetle İlgili Çokça Sorulan Sorular'ın 2.5 sürümünün .html formatından alınmıştır. Bu dökümanın tamamı http://yardim.bilkent.edu.tr adresinden alınabilir.


5.2 Ayın Linkleri

MicroSoft Microsoft'un Win95 ve NT için güvenlik sayfaları. Bu sayfa tam Microsofttan bekleyeceginiz kadar, ortada dönenlerin sadece %50 si.
CERT Computer Emergency Response Team, En yeni  buglar/hack/açıklars/exploitler. Okuma ağırlıklı.
FIRST Bilgisayar Güvenlik üzerine gene bol okumalı bir sayfa.
Active Matrix's Hideway  Hideway kitleleri gercek hack konusunda eğitmeye adanmıştır. warez, serial, CC için yanlış adres.
Great Circle Firewallar hakkında hem yazılım hemde bilgi bulabileceginiz bir site daha cok NT agirlikli
The Trojans Lair Hemen hemen tüm trojan yazlımlarının en yeni sürümlerini burada bulabilirsiniz.
Geek-Girk Tüm işletim sistemleri hakkında aradığınız herşey burda (bugs/releases/bugfixes/updates)
L0pth Heavy Industries "Zayıflık tamamen kuramsaldır."-Microsoft-  L0pth 1992'den beri kuramsalı pratik yapıyor. Fazla söze gerek var mı ?
RootShell Eyer unix/linux/freeBSD/OSF1 işletim sistemlerinden birini kullaniyorsaniz yada herhangi bir shellacountunuz varsa durmayın.
Dark-Secrets  Hack, Phreak,Anarchy,Crack,Virus,Unix ,Hackerlerin Sırları bölümleri mevcut bakmaya değer.

    Sizin de güzel bir siteniz varsa, bir yerlerde güzel bir site bulmuşsanız, diğer okuralarla paylaşmak isterseniz bana mail atarak iletebilirsiniz..
BoGaC ; ozanisl@hotmail.com


5.3 Şamata !!

OLMEDEN ONCE SOYLENEN BIRKAC SOZ:
- GÖNDER GÖNDER, BEN TUTARIM.
- AABİ COK SERİ BİR ARABA BU YAAA...
- KORKMA HAYATIM, ARABAMIZDA ABS VE AİRBAG MEVCUT.
- POSTANEDE BANA AİT BİR KOLİ VARMIŞ ONU ALMAYA GELDİM.
- OOLUM..5 TAŞ CALDIM RUHUN BİLE DUYMADI..
- BAKIN COCUKLAR, BU DENEY SETİ, KAPAĞI AÇILINCA GÜVENLİK ÖNLEMİ OLARAK ELEKTRİĞİ KESER..

Editör> Aklıma Hababam Sınıfı geldi :-)
- DEMEK PİRANHA DEDİKLERİ ŞEY BU..HİHO..BAK HULUSİ ABİ BIYIKLARI İLE OYNUYOM BI SEY OLMUYO.
- EY RUUUUHHH..GELDIYSEEEN......
- O İRMİKLERİ NEDEN ALDIN NURHAN..HELVA MI YAPICAN?.. NIYE?
- DOGALGAZIN ULKEMİZE HAYIRLI VE UĞURLU OLMASINI DİLİYOR VE DOĞALGAZLA CALIŞAN İLK OCAĞI HUZURLARINIZDA YAKIYORUM.
- EVLADIM, BENİ KARŞIDAN KARŞIYA GEÇİRİR MİSİN?
- GEEEEL, GEEEL SAĞ YAP GEEEL...
- BAH BAH BAH HALA UZUNLARLA GELİYO...
- CANİKOM, BU ETİN TADI SANA DA BİRAZ GARİP GELMEDİ Mİ?
- MÜJDEMİ İSTERİM TURAN ABİ BİR KIZIN DAHA OLDU.
- KİM BEKLER LAN YEŞİLİN YANMASINI?!
- EŞŞEK ŞAKASI YAPMAYIN LAN...
- BEKLE CEMŞİT ABİ BEN Bİ DALIP ÇIKICAM.
- KORKMA HANIM BU SAATTE KAPIMIZI KİM CALACAK, TANIDIK BİRİDİR.
- HALA KARLI GÖSTERİYOR MU HANIM?
- ELEKTRİKCİYE NE GEREK VAR CANIM, BEN HALLEDERİM.
- BAK ŞİMDİ NASIL SOLLIYCAZ ..
- GEL ABİ BURASI BOYU GEÇMİYO..
- AYA BAK AYA, KAMYON FARI GİBİ !!!
- BEN DENEDİM, KORKMAYIN.
- BAK KADRİ ABİ, SUYUN DERİNLİĞİ ÖNEMLİ DEĞIL, ASIL İŞ ATLAMASINI BİLMEK..
- YAV HAYRETTİN ABİ BURASI FENER TRİBÜNÜ DEĞİL GALİBA..
- VAKKAS ABİ, SENİN İÇİN ÖYLE BÖYLE DİYOLAR...DOĞRU MU?
- HİHİHA...BAK GELEN ŞEY KÖPEKBALIĞINA NE KADAR DA BENZİYOR.
- RASİM ABİ, KAFESİN KAPISI KAPALI DEĞİL Mİ?
- NALAN, Bİ KİBRİT YAK DA BAKALIM NE KOKUSUYMUŞ...
- BABA...BEN HAMİLEYİM.
- YAPMA SATILMIŞ ABİ, ŞEYTAN DOLDURUR.

Editör> İşim gücüm yok gibi bunu da oturup ben hazırladım :)


6. Programlar
6.1 Ayın Programları   

    Bu ayın ilk programı meşhur backdoorlarımızı temizleme üzerine, programımız 53 trojanı bulup temizleyebiliyor, programın seri numarası serial.txt dosyasındadır.
NOT: program registerli ise check for upgrade seceneği ile program güncellenebilmekte, dogrudan ftp baglantısı kurup gerekli dosyalari alıp güncelleme yapılıyor.Eğer yenilik varsa hemen programa ekliyor yoksa you have the most recent file diye haber veriyor.

Programın Adı Platform Uzunluk Sağlayan
Cleaner2.zip Win9X/WinNT? 485KB. BoGaC; ozanisl@hotmail.com

    İkinci prorgamımız ise çok marifetli bir utility, program bir http serverına bağlanıp oradaki ziplerden birini açıp icindeki herhangi bir dosyayı cekmeye yarıyo.Mesela deneme.text,kel.exe ve osman.doc diye 3 dosyadan oluşan bir zip arşivi  aliveli.com da duruyo.Bu programla o zipi download etmeden sadece kel.exe yi içinden çekip alabiliyosunuz.Tek eksiği ftplerde çalışmaması , port 80 hariciyse veya site şifreli ise çalışmaması.. (Programnın kaynak kodu da bulunmakta)

Programın Adı Platform Uzunluk Sağlayan
zipdl.zip Win9X 102 KB. Mr_Stop ; kandirdim@hotmail.com

    Bu ayın 3. programı bizimkiler tarafından yazılmış marifetli bir program, program,  ETA nın Yetkili kullanıcı şifresini çözerek ETA nın bütün modüllerine giriş yetki şifresini gösterir Alt+255 gibi görünmez karakterlerde kullanılacağı düşünülerek asci kod numaraları da verildi. Bu program ETA giriş şifresini unutanlar için yazılmıştır.

Programın Adı Platform Uzunluk Sağlayan
etasifre.zip DOS/Win9X? 7 KB. DİYARBAKIR Hacker TEAM   Diyarhack@usa.net

    Geldik ayın son programına, programımız yine DİYARBAKIR Hacker TEAM tarafdından kodlanmış, windows'un .pwl dosyalarını kırıyor.

Programın Adı Platform Uzunluk Sağlayan
pwlcr.zip Win95 7 KB. DİYARBAKIR Hacker TEAM   Diyarhack@usa.net

Kaynak Turkish Scene

Hacking/Cracking/Programming

Dosya Sonu