En detaylı Assembly Dersleri [FataL.Error-Syntax-Life]Merhaba arkadaşlar günümüzde artık gereksinimi kalmayan ama hala bios ve virüs yazılımlarında kullanılan en eski assembly sizlere detaylı bir biçimde anlatacağız konu güncel olacaktır.Dersler basitten zora gidecektir.Eğer konuyu en güncel
Konu Volatile. tarafından açılmış, 5200 kişi tarafından görüntülenip, 22 yanıt almış.
|
Özel Yazılım Trojan+, güncellemeli ve garantili. Sadece 690TL! Kredi kartınıza 12 taksit kolaylığı!
|
|||||||
En detaylı Assembly Dersleri [FataL.Error-Syntax-Life] konusundaki toplam yorum: 22, okunma sayısı: 5200. |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
#1 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Merhaba arkadaşlar günümüzde artık gereksinimi kalmayan ama hala bios ve virüs yazılımlarında
kullanılan en eski assembly sizlere detaylı bir biçimde anlatacağız konu güncel olacaktır.Dersler basitten zora gidecektir.Eğer konuyu en güncel tutabilirsek çeşitli sistem programlarını yazmaya kadar devam edeceğiz ama ilk önce en basit işlerden başlayacağız.Kesinlikle yazılanlar kendimize ait olacaktır.Alıntı yapılmayacaktır. Ön not: Assembly sembolik bir makine dilidir.Makine dilini anlayabilmek ve uygulayabilmek için ilk önce makinanın yani bilgisayarın nasıl çalıştığını özetleyelim Elektriksel Terimler yani bir ekrana görüntü nasıl gelir.Bilgisayar nasıl çalışır Bilgisayar mühendisliği aslında sırf elektrik mühendisliği üzerine kurulmuş bir terimdir. Elektrik mühendisliğini anlamak için için herşeyden önce elektriğin temel birimleri ve boyutlarını bilmemiz gerekmektedir gelin elektriğin temel birimlerine ve boyutlarına bir göz atalım. Şimdi başlamadan önce bir not eklemek istiyorum.Her mühendislikte olduğu gibi bundada kütle,uzunluk,zaman ve yük var. Bunlara yanlış bilmiyorsam dünya çapında SI birim sisteminde tanımlanır SI 'ya geçmeden önce birde SI'lar "mks" metre kilogram saniye birimleri cinsinden şeçilmiştir. Yükün temel birimini hatırlarsak 6.25x10 üzeri 18 elektron yükü ile ilişkilendirilen Coulomb olarak tanımlanır. Şimdi SI'ya geçmek istiyorum. ÖNEK SEMBOL 10 ÜZERİ DEĞER piko p 10 üzeri -12 nano n 10 üzeri -9 mikro µ 10 üzeri -6 Mili m 10 üzeri -3 santi c 10 üzeri -2 desi d 10 üzeri -1 deka da 10 üzeri 1 hekta h 10 üzeri 2 kilo k 10 üzeri 3 mega M 10 üzeri 6 giga G 10 üzeri 9 tera T 10 üzeri 12 Şimdi birde uzunluk kütle zaman yük terimlerini size açıklayacağım. Uzunluk L => LENGHT Kütle M => MASS Zaman T=> TİME Yük Q=> AÇILIMINI TAM BİLMİYORUM ![]() Şimdi bu kadar açıklamadan sonra temel devre elemanlarına geçmek istiyorum Pasif ve aktif elemanlardan oluşur. Pasif devre elemanları; Kondansatör = Elektriği depolar. Bobin = Sarmaldır , aynı zamanda indüksüyon yapımındada kullanılır. Direnç = akımın değeri "REZİSTANS" Her zaman aktifler Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=254720 Diyot = pozitif ve negatif yüklü elektronların alış verişi Transistor = Elektrik direncini ayarlar. Transistorlerin bilgisayarda çalışma tipleri: ![]() Biri alır biri toplar diğeri ise iletir.Bu arada direnci ayarlar Bobin çalışma sistemi ![]() Bilgisayarlara gelen elektrik tipi AC değildir yani bir bilgisayar alternatif akımdan direk yararlanması için alternetif akımı direk akıma çevirmelidir AC => DC olmalıdır. AC=>DC ÇEVRİLİR UNUTMAYIN DC gerilim uygulanırsa, Bobin DC akıma ilk anda direnç gösterir. Bu nedenle bobine DC akım uygulandığında bobin ilk anda yalıtkan daha sonra iletkendir. Bobine AC yani alternatif akım uygulandığında ise akımın yönü devamlı değiştiği için bir direnç gösterir. Kondansatör Olmaz olmaz'dır bilgisayarın en işler parçalarından biridir.Bir kondansatör elektrik yükü depolar, reaktif güç uygular veri kaybını önler. Alternatif akımı direkt akıma çevirmekte üstlerine yoktur.Detaylarına baktığınızda ise renk kodları ve harf kodları üretmekte olduğunu görürsünüz (bkz. Google) ![]() Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=254720 Direnç ![]() Direnç bir rezistans görevi görür. Diyot Bir yöne akım iletitir diğer tarafa çok büyük basınç uygular. Şimdi artık bu sıkıcı terimleri bitirdik ve assembly program yazmaya hazırız. Assembly Nedir? Assembly intel çıkardığı sembolik makine dilidir.Doğrudan donanıma hitap eder.Bir program çalışırken mutlaka bir adrese başvurur bunu yaparken akümülatör vs. kullanılır. Segment ffset yapısıSEGMENT=BÖLÜM OFFSET =GÖRECELİ KONUM ADRESİ YANİ BÖLÜMÜN İÇİNDE BÖLÜM Şimdi artık neden hep assembly virüslerde offsetvirus kullandığını anladık.Çünkü doğrudan disk sektörlerine erişmeleri lazım neyse fazla uzatmadan assembly'nin temel kurallarına geçmek istiyorum akümülatörler ah-> bu akümülatör çok küçük bit değer alır genelde fonksiyonu akümülatöre atarken kullanılır. al -> 8 bitlik bir akümülatördür genellik 16 tabanlı sayılar için kullanılır = ACC LOCATİON ax -> 16 bitlik akümülatördür günümüzn kullanılan akümülatörlerindendir FAT sistemlerine ve dosya sistemlerine müdehale etmek için idael boyuttaki akümülatördür. eax -> 32 bitlik akümülatördür.İşlevi fazladır.BIOS yazmada veya eeprom yazmada kullanılır. Örnek: ah= Kod:
mov ah, 9 mov ax, video_mod int 10h ASSEMBLY'NİN EN ÖNEMLİ OKUMA KURALI SAĞDAN SOLA OKUNUR!!!!!!! ax kullanımı Kod:
xchg ax, word ptr [000A] al kullanımı Kod:
mov al,3 eax kullanımı Kod:
mov eax, byte ptr [7c00h+int21h] Bölge adresleme ... 1 GÜNE YAZIMI BİTECEK UZUN BİR KONU.. Düzenleyen Volatile. : 19-01-2009 at 19:13. |
|
|
|
|
|
#2 |
|
Forum Kalfası
![]() ![]() ![]() ![]() Kayıt Tarihi: Aug 2007
Üye numarası: #137395 Yer: Rock'n Coke 2006>Duman
Mesaj sayısı: 1,192
Karma etkisi: 1041
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 103562
|
bravo![]() |
|
|
|
|
|
#3 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
base adreslerinde bir adrese nasıl veri yazılır eeprom'a cmos'a vs... çok yakında
|
|
|
|
|
|
#4 |
|
1st Class WarrioR
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Dec 2006
Üye numarası: #99578 Yer: İstanbul
Mesaj sayısı: 4,236
Karma etkisi: 2848
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 283847
|
Genel programlama üzerine bu bölümde okunanların faydalı olacağını düşünüyorum..Güzel bi anlatım olmuş teşekkürler + ...
Saygılar.. |
|
|
|
|
|
#5 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Önemli değil, Megabros abi önemli olan geçmişe dönüş ve eski zamanların en popüler dili ama şu an hiç bir ilgi görmeyen assembly'yi canlandırmak
![]() Saygılar... |
|
|
|
|
|
#6 |
|
Forum Kalfası
![]() ![]() ![]() ![]() Kayıt Tarihi: Jun 2007
Üye numarası: #130925 Yer: !stanbul
Mesaj sayısı: 1,355
Karma etkisi: 5166
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 516048
|
eski olmasına karşı aslında herşey assembly de saklı ...
tam anlamıyla bir öğrenebilsem. yine hiçbirşey bilmediğim aklıma geldi |
|
|
|
|
|
#7 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
haklısın Mbk arkadaşım ama öğrenemem demeyin aslında bir çözdünüz mü gerçekten düşük seviyeli bir dil olduğunu anlayacaksınız.Ama assembly siz çözmeye çalışın diğer dilleri öğrenmek çok hızlı olacaktır.
Saygılar... |
|
|
|
|
|
#8 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Bu arada birşey eklemeyi unuttum şu yukardaki (ah+al)=ax'e eşittir bunu unutmayın en önemli bir olaydır.En kısa sürede şu base adresleme olaylarını yazmaya çalışıyorum...
saygılar... |
|
|
|
|
|
#9 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Merhaba arkadaşlar dersin ikinci konusu olan base address 'leme konusunu şu anda bitirdim.Baya uzun sürdüğü için özür.100% kendi yapımım
Base adresleme için bölge belirleyiciler _________________ BX _______________________ BX'in açılımı; Base register demektir.X ise bilinmeyen bir bölgeyi temsil ederç BX'lerin alt değerleri şöyledir. BH nedir? Genellikle bu tip adresleyiciler içine fonksiyon yada daha küçük sayılar yüklenmesi veya verileri askıda tutması için kullanılır.Bunun için şu komutu kullanırız. Kod:
xchg ah,FF mov bh,ah Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=254720 FF == 1111 1111; Sonra ise ah->bh'ye taşıyoruz.Veri askıda nedeni ise bh için belli bir değer belirtmedik. Şimdi ise offset olaylarına değineceğim Şimdi offset ne demekti? Offset terimi assembly'de bilinmeyen yerleri segment içerisinde belirler göreceli konum adresini segment içinde arar mesela; ->offset alfa ->offset beta Bunlar kendini yüklenmeden önce bellekte kendilerine abuk subuk yerler açarlar.Ondan önce ise kendilerinin belli bir adresi yoktur. Şimdi bir 32bitlik programdaki bx'in nasıl olduğunu belirteceğim extended=genişletilmiş ebx(extended base register) Mesela biz ne istiyoruz.Şu bx bölgesindeki kodu ax aracılığı ile taşıyacağız ardından ax'teki veriyi genişletip eax'a(extended accumulator register) atacağız ordan zaten iki değer'de 32bitlik olduğundan dolayı artık ebx'e -> eax'a yüklenebilir öyle değilmi? Pekala şimdi dediğim gibi mini minaccık bir program yazalım; Kod:
mov ax,bx movsx eax,ax push eax mov ebx,eax ![]() Şimdi birde şu ah+al=ax olayının Birde bh+bl=bx olayına bakalım bu iki olayı 32bit çıkaracağım BH+BL | +--->BX--->BX+BL--->EBX ;---------------------------------------------------- AH+AL | +--->AX--->AX+AL--->EAX BX neden bx? Nedeni çoğu zaman bx kullanıyoruz ve şu andada ideal görünüyor. Şimdi biraz assembly ve virüs yazmaya değineceğim Assembly'de en güçlü virüsler ve işlek virüsler yazılabilir. Örneğin; *.EXE ve *.COM silen bir virüs veya MBR'yi bozan virüsler yazılabilir. MBR BOZULURSA DİSKE ERİŞMEK İMKANSIZ OLUR! *.COM dosyalardan hiç şüphesiz en önemli dosya COMMAND.COM'dur. ee bu dosya silinirse ne olacağını siz tahmin edin :dŞimdi diyelim mbr'ye nasıl yazılacağını ben anlatmıyacağım çünkü bunu anlatırsam zaten virüs yazmamanız için hiç bir sebep kalmaz onun için sizi bir sayfadan yönlendireceğim Burdan buyrun Evet artık base adreslemeleride bitirmiş olduk kısa bir süre sonra CX'ler gelecek Saygılar |
|
|
|
|
|
#10 |
|
Forum Kalfası
![]() ![]() ![]() ![]() Kayıt Tarihi: Sep 2008
Üye numarası: #256546
Mesaj sayısı: 1,512
Karma etkisi: 3077
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 307215
|
wow!.. devasa ve süper anlatımlar yapacağız anlaşılan. keşke ilk dil seviyelerinden bahsetseydik. bu arada cok flood yapmışsın dostum. hoş karşılanmayabilir olabildiğince tek mesaj halinde yazmaya çalış.
![]() |
|
|
|
|
|
#11 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Selam dost naber :d Bende farkındayımda mesajı uzunluğu sınırlı o işten dolayı flood oluyor...
Saygılar... (not=FataL.Error bugün evde misin abi?) |
|
|
|
|
|
#12 |
|
Banned
![]() ![]() ![]() Kayıt Tarihi: Feb 2009
Üye numarası: #307725 Yer: ben onun sılası kendimin gurbetiyim
Mesaj sayısı: 141
Karma etkisi: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 12228
|
çalışman için teşekkürler. assembly ismini çok duydum yazdıklarınızıda okudum. ama bu programda nasıl çalışcaz yani ben assembly çalışmak istiyorum ama nerde nasıl birde x86 ile başka bir şey daha vardı hangisini çalışmalıyım. ayrıca programı varmı belki yazdıklarım saçma çünkü assembly diğer dillere göre farklı. ama şunu söylim çok zor.
|
|
|
|
|
|
#13 | |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Alıntı:
|
|
|
|
|
|
|
#14 |
|
Banned
![]() ![]() ![]() Kayıt Tarihi: Feb 2009
Üye numarası: #307725 Yer: ben onun sılası kendimin gurbetiyim
Mesaj sayısı: 141
Karma etkisi: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 12228
|
yani bunun programı yokmu yazdıgımız kodları nereye yazıyoruz kodların dogruluğunu nasıl anlıyacaz. bugün assembly ile ilgili kitap baktım. kitap adı turbo c basic pascal için assembly. hiç bilmediğim için yorumlarımı mazur görün yani c içinde mi assembly var. açarsanız sevinirm konuyu. şunu söylim assembly zor gibi gözüküyo.
Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=254720 size şunu sormak isterim cevap yazarsanız sevinirim ismi unutulmaya başlayan zor gibi gözüken bu programlama dilini üst düzeyde bilirsem bunun bana artısı ne olacak. bu soru tabii herkes için geçerli. |
|
|
|
|
|
#15 |
|
Daimi Üye
![]() ![]() ![]() Kayıt Tarihi: Nov 2008
Üye numarası: #277831 Yer: Ankara
Mesaj sayısı: 660
Karma etkisi: 2416
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 241202
|
Bu dili bilirseniz;
1. En iyi virüsleri yazabilirisiniz. 2. BIOS ve EEPROM yazılamları yapabilirsiniz. 3. Kendi programlama dilinizi tasarlayabilirsiniz. 4. Herhangi bir donanımsal sorunlarda işleminizi küçük bir program yazarak bile halledebilirsiniz.. 5. Bütün dillerin temelidir. Diğer dilleri öğrenmeyi kolaylaştırır. 6. Her dilin içerisinde nerede kullanılabiliyor.(Bahsettiğiniz gibi c'de dahil) komutu "#pragma inline"-> kütüphanelerin hemen altına ekleyin . . { asm mov ax, word ptr[000A] asm sub al,1 . . . } 7. Her zaman bilgisayara en iyi şekilde hükmetmenizi sağlayan dildir. Daha bir sürü var, kodların yazılacağı derleyiciler; Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=254720 MASM32 TASM(Borland Turbo Assembler) Bu kadar aslında zor makina dili falanda değil sadece işlemci sisteme verdiği komutların kısaltması Saygılar... |
|
|
|
![]() |
| Şu Anda Konuyu Görüntüleyenler: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | Bu Konuda Ara |
|
|
