Merhaba, ben uzun süredir forumda ve partilerde lurker modunda geziyordum. Klasik bir bahane ama işten güçten ve cehaletten kaç senedir bir şeyler üretip katılayım dedim, yapamadım. Bir süredir reversing ile ilgili bir şeyler okuyordum, aşağıdakiler çok işime yaradı.
- instruction set açıklamalı(endo zaten vermiş):
http://www.oopweb.com/Assembly/Documents/ArtOfAssembly/Volume/Chapter_6/CH06-1.html- instruction set reference:
http://pdos.csail.mit.edu/6.828/2009/readings/i386/c17.htm- bir instruction set referansı daha:
http://faydoc.tripod.com/cpu/index_j.htm- fpu'yu çok güzel şekilli falan anlatıyor, diğer bölümlerde de fpu referansı var:
http://www.website.masmforum.com/tutorials/fptute/fpuchap1.htm- reversing adı altında c/c++ kodunun optimizasyonsuz derlendiğinde nasıl göründüğünü gösteren pek çok referans exe var (hep win32). Tabii exe'leri açıp inceleyebilmek için biraz PE yapısını bilmek ve bir de disassembler gerekiyor. Ayrıca assembly üzerinden algorithm analysis filan gibi bölümleri de var (ileriki bölümleri hep eski crackmes.de'den alınma, zaten o sitenin sahibi yayınlıyor. ıleride kitabı çıkacakmış):
www.binary-auditing.com- Yine reversing muhabbeti. Kitabın başları hep executablelar, CPU ve işletim sistemi nasıl çalışıyor onu anlatmış. Windows temelli gidiyor. 5. bölümünde NTDLL içindeki table yapılarının nasıl çalıştığını anlatmış assembly kodu üzerinden (daha ilerisini ben de okumadım (:
Reversing-Secrets of Reverse Engineering - Eldad Eliam- MSVC ile asm derlemeyi anlatıyor. NASM, MASM, FASM filan kullanmanın daha mantıklı olduğuna ikna ediyor da diyebiliriz:
http://scriptbucket.wordpress.com/2011/10/19/setting-up-visual-studio-10-for-masm32-programming/
Dennis Ritchie’nin The C Programming Language kitabı da assembly anlatmasa da programların nasıl çalıştığını anlamak için iyi bir kaynak. Zaten C bilenler için C öğrenme kitabı diyorlar. Assembly ve CPU bilgisi çoğu insan için çok gizemli görünse de aslında C/C++’ın tamamlayıcısı. Ha ben günlük hayatta tek satır C kodu mu yazıyorum? Alakam bile yok.
Dediğim gibi yukarıdaki saydığım kaynaklar benim çok işime yaradı, assembly ile C’yi birleştirmek isteyenlere tavsiye ederim. Instruction referansları da alakasız instructionlar arattıkça Google'da en çok karşıma çıkanlar. Umarım birilerinin işine yarar.