Konuyu Oyla:
  • Derecelendirme: 4.36/5 - 11 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Puanların Önemi Hakkında...
#1
Arkadaşlar, malumunuz olduğu üzere sitede bir puanlama sistemi bulunuyor. Bu sistemde, insanların yaptığı paylaşımlar, yardımseverliği gibi hususlar tüm üye arkadaşlarımız tarafından değerlendirmeye tabii tutulabiliyor. Bir paylaşıma, yoruma -4..+4 puan aralıklarında değerlendirme yapabiliyorsunuz. Elbette puan sistemi ile elde edilen kademeler sizlerin gerçek kıymetinizi asla yansıtamaz ancak ne kadar yardımsever olduğunuzu, konu hakkında bildiklerinizi nasıl aksettirebildiğinizi az da olsa yansıtabiliyor.

 Bu bağlamda; mesajını, yorumunu beğendiğiniz arkadaşlarımıza yorum olarak teşekkür eder iken, kendisine puan katkısı yapmaktan da imtina etmeyin lütfen. Şu anda beklettiğimiz ve belirli bir üye sayısının ve seviyenin üstüne eriştiğimizde hayata geçireceğimiz "Düşük Seviyeli Programlama" bölümüne giriş için o puanlara ihtiyaç olacak. 2501+ puana sahip olan arkadaşların erişim sağlayabilecekleri ilgili bölümde paylaşılması planlananlar arasında; veri tipleri ve hafızada kapladığı alanlar, pointer'lar ve aritmetiği, veri yapıları(sort, search, linked list, double linked list, stack, heap vb.), Windows API'ler, Undocumented(Dökümante edilmemiş) API'ler, İşletim sistemi çalışma mekanizmaları, Process'ler, Thread'ler, senkronizasyon mekanizmaları, PE/PE+ dosya formatı, Code Injection ve bölüme giriş yetkisine sahip olan arkadaşların önerdikleri(düşük seviyeli olması koşulu ile) konular üzerinde tartışmalar, kod örnekleri ve makaleler olması düşünülüyor.

 Tabii bu işin yapılabilmesi için, 2501+ puan üzeri üye sayımızın belirli bir seviye üstüne erişmesi gerekiyor. Ayrıca, ilgili bölüm altında tartışılan bir konuya ait çözümlerin herhangi bir ya da birden fazla dil ile yazılması istenilebileceği(Delphi, C/C++, Java, C#, Assembly) için, bu dillere hakim arkadaşlarınız/tanıdıklarınız var ise onları da aramıza davet edebilirsiniz.

Bu vesile ile beğendiğiniz yada beğenmediğiniz hususlar konusunda puan verme hassasiyetini gösterebilirsiniz istediğimiz çalışmaları daha hızlı yapabiliriz.

Saygılarımla
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#2
Hocam bu arada konuların sağ üst köşesinde yer alan "Konuyu Oyla" ile konulara da bir 1-5 arasında bir değer biçmemizde ve bu durumu alışkanlık haline getirmemizde fayda var. Konunun yıldız sayısı, önemini ortaya koyacaktır.
Cevapla
#3
(03-09-2016, Saat: 12:15)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Hocam bu arada konuların sağ üst köşesinde yer alan "Konuyu Oyla" ile konulara da bir 1-5 arasında bir değer biçmemizde ve bu durumu alışkanlık haline getirmemizde fayda var. Konunun yıldız sayısı, önemini ortaya koyacaktır.

Teşekkür ederim. Benim de dikkat etmediğim bir özellik idi.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#4
(02-09-2016, Saat: 23:15)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: PE/PE+ dosya formatı

Portable Executable Dosya Formatı  Buraya bırakıp, okumaya gidiyorum.
One of the major software engineering challenges is managing change.
Cevapla
#5
(15-10-2016, Saat: 11:55)kimimben Adlı Kullanıcıdan Alıntı:
(02-09-2016, Saat: 23:15)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: PE/PE+ dosya formatı

Portable Executable Dosya Formatı  Buraya bırakıp, okumaya gidiyorum.

Öğrendiklerinizi paylaşmanız ümidi ile, teşekkürler.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#6
Şuan için PE/PE+ dosya formatının tamamının, şahsım adına idrak etmemin mümkün olmadığını düşünüyorum.
Genel olarak PE/PE+ dosya formatı için, çalıştırılabilir bir dosyanın anatomisi şeklinde ifade etsek sanırım yanlış olmaz.

Makalede dumpbin.exe ile EXE dosya içersinde ki detaylar incelenmiş. 
Bunun dışında  NikPEViewer ve ollydbg kullanarak da PE bilgilerini görmemiz mümkün. Başka araçlarda muhtemelen vardır.
ollydbg programı ile EXE dosyayı açtıktan sonra, gelen "Memory Map" penceresi içersinde ki bilgiler tam olarak PE/PE+ bilgilerini ifade ediyor sanırım.


Makalede dikkatimi çeken diğer bir nokta;

Alıntı:Örnek programımız PE dosyasını Windows'un bellek tabanlı dosya tekniği ile açmaktadır. Yani tüm PE imajı belleğe aktarılıp sanki dosya belli bir adresten itibaren bellekte bulunuyormuş gibi ele alınmıştır.


HANDLE g_hFile;
HANDLE g_hFileMapping;
LPVOID g_pImageAddr;
/* ... */

/* Function Definitions */

int _tmain(int argc, TCHAR *argv[])
{
   if (argc != 2) 
       ExitUsr(_TEXT("Wrong number of arguments!"), EXIT_SUCCESS);

   g_hFile = CreateFile(
       argv[1], 
       GENERIC_READ, 
       FILE_SHARE_READ, 
       NULL,
       OPEN_EXISTING, 
       OPEN_EXISTING, 
       NULL); 
     if (g_hFile == INVALID_HANDLE_VALUE)
           ExitSys(TEXT("CreateFile"), EXIT_FAILURE);
   
     g_hFileMapping = CreateFileMapping(
         g_hFile, 
         NULL, 
         PAGE_READONLY,
         0, 
         0, 
         NULL);
     if (g_hFileMapping == NULL) 
         ExitSys(TEXT("CreateFileMapping"), EXIT_FAILURE);
   
     g_pImageAddr = MapViewOfFile(
         g_hFileMapping, 
         FILE_MAP_READ, 
         0, 
         0, 
         0);
     if (g_pImageAddr == NULL) 
         ExitSys(TEXT("MapViewOfFile"), EXIT_FAILURE);
       
     /* .... */
}



Alıntı:Gördüğünüz gibi komut satırı argümanıyla alınan yol ifadesine ilişkin dosya CreateFile fonksiyonuyla açılmış ve daha sonra CreateFileMapping ve MapViewOfFile fonksiyonlarıyla bellek tabanlı hale getirilmiştir. Dosyanın belleğe yüklenme adresi g_pImageAddr isimli global göstericide saklanmıştır.


Herhangi çalıştırılabilir bir dosyaya, çift tıkladığımızda veya komut satırından ismini yazıp enter'a bastığımızda teorik olarak yukarıda ki API'lerin çağırımı mı gerçekleşiyor acaba Huh

Ayrıca g_pImageAddr nerde işimize yarayabilir onu düşünüyorum.
One of the major software engineering challenges is managing change.
Cevapla
#7
Sanıyorum PE/PE+ dosya formatını daha çok iğne yapmak ve organ nakli gibi durumlarda kullanacağız.
Biraz daha araştırayım...
One of the major software engineering challenges is managing change.
Cevapla
#8
PE Dosya Formatına Dalış isminde güzel ve şahsım adına biraz daha anlaşılır bir makale daha buldum.

Anladığım kadarını aktarmaya çalışmaya çalışayım.

Yukarıda CreateFile, CreateFileMapping, MapViewFile API'lerini içeren kod bloğu aslında basit anlamda bir PE Loader veya PE yükleyici olarak ifade ediliyor.
Bir başka PE Loader örneğini  şuradan görebiliriz.

Makalede bahsedilen Bölüm başlıkları (Section Headers) , OllyDbg kullanarak bir EXE dosya açıldığında "Memory Map" penceresinde PE section bilgileri görülebilmekte.
olly.png

Yukarıda ki ekran görüntüsüne göre;

.text bölümünde çalıştırılabilir makina kodlarının yer aldığını, .data ve .bss bölümlerinde değer atanma durumuna göre global/static değişkenkerin yer aldığını anlıyorum.

IAT
(Import Adress Table) ve EAT (Export Address Table) isminde, fonksiyon adreslerinin tutulduğu iki kavram bulunmaktaymış.
EAT da bulunan fonksiyon adresleri, PE Load işlemi esnasında IAT'a aktarılmaktaymış.

IAT ile ifade edilen bölüm, yukarıda ki ekran görüntüsünde .idata kısmına karşılık geldiğini anlıyorum.
EAT ile ifade edilen bölüme karşılık gelen, .edata bölümünü göremedim.


Makalenin "Export Address Table - EAT" kısmında belirtilen cümlesinden;
Alıntı:Genelde DLL dosyalarında dışa aktarılan fonksiyon olduğundan Export tablolarının birinci dereceden ilgisi olan dosyalar DLL dosyaları diyebilirim sanırım.
Tam emin olmamakla birlikte, delphi DLL'de ki export fonksiyon; komutun bu EAT ile ilgisi olabilir.
Yani export ile belirtilen fonksiyonları, EAT'a ekle gibi... 

Şimdilik kabaca anladıklarım bu kadar...
One of the major software engineering challenges is managing change.
Cevapla
#9
Üye sayımız ve paylaşımlarımız paralel biçimde artmaya başladı; bu vesile ile faydalı ya da faydasız gördüğünüz mesajları puanlayarak arkadaşlarınıza yardımcı olmanızı, onları teşvik etmenizi bir kere daha anımsatmak istedim.

Şimdiden teşekkür ederim.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#10
kimimben; konu başlığını fena halde dağıtmışsın. Biran link yanlış açıldı zannettim Smile
There's no place like 127.0.0.1
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  AES Şifreleme Hakkında tmrksmt 18 1.281 14-02-2024, Saat: 10:42
Son Yorum: tmrksmt
  TDictionary kullanımım hakkında yhackup 3 399 09-02-2024, Saat: 15:58
Son Yorum: SimaWB
  TfrxReport Rapor dizaynı hakkında yhackup 2 234 24-01-2024, Saat: 11:35
Son Yorum: yhackup
  EdgeBrowser Hakkında bydelphi 2 511 19-11-2023, Saat: 10:21
Son Yorum: bydelphi
  Webp formatı gösterimi hakkında adelphiforumz 1 476 16-03-2023, Saat: 20:52
Son Yorum: uparlayan



Konuyu Okuyanlar: 1 Ziyaretçi