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