Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 3 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.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
(03-09-2016, Saat: 12:15)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHocam 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ı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlPE/PE+ dosya formatı

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol  Buraya bırakıp, okumaya gidiyorum.
One of the major software engineering challanges is managing change.
Cevapla
#5
(15-10-2016, Saat: 11:55)kimimben Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(02-09-2016, Saat: 23:15)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlPE/PE+ dosya formatı

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol  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  Linkleri Görebilmeniz İçin Giriş yap veya Üye Olve ollydbg kullanarak da PE bilgilerini görmemiz mümkün. Başka araçlarda muhtemelen vardır.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Olprogramı 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 challanges 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 challanges is managing change.
Cevapla
#8
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol şuradan görebiliriz.

Makalede bahsedilen Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol , 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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol; 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 challanges 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

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Star ıdHTTP Post hakkında? [Çözüldü] Cyber 1 83 06-02-2018, Saat: 13:36
Son Yorum: Cyber
  WSDL Import Tanımlaması hakkında adelphiforumz 10 254 26-01-2018, Saat: 12:01
Son Yorum: Fesih ARSLAN
  Delphi Eval Hakkında narkotik 8 183 26-01-2018, Saat: 01:46
Son Yorum: narkotik
  Layout View Hakkında (Çözüldü) yhackup 8 562 15-12-2017, Saat: 08:28
Son Yorum: Fesih ARSLAN
Question listbox hakkında yardım BY-HAYALET 21 503 06-12-2017, Saat: 15:09
Son Yorum: frmman



Konuyu Okuyanlar: 1 Ziyaretçi