المشاركات : 30
المواضيع 13
:
: 0
الإنتساب : Aug 2013
السلام عليكم
كيف جلب بعض المعلومات عن ملف PE
ك EP و imagebase و بعض المعلومات الاخرى
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
و عليكم السلام :
هذا مثال بسيط :
PHP كود :
var hFile : THandle ; hFileMap : Cardinal ; Filename : string ; pBaseAddress : PByte ; pDosHeader : PImageDosHeader ; pNtHeaders : PImageNtHeaders ; dwOffset : Cardinal ; ImageBase , EP : DWORD ; begin Filename := 'C:\Users\X\Desktop\ColorPicker.exe' ; hFile := CreateFile ( PChar ( Filename ), GENERIC_READ , FILE_SHARE_READ , nil , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , 0 ); if ( hFile = INVALID_HANDLE_VALUE ) then Exit; hFileMap := CreateFileMapping ( hFile , nil , PAGE_READONLY or SEC_IMAGE , 0 , 0 , nil ); if ( hFileMap = 0 ) then begin CloseHandle ( hFile ); Exit; end ; pBaseAddress := MapViewOfFile ( hFileMap , FILE_MAP_READ , 0 , 0 , 0 ); if ( pBaseAddress = nil ) then begin CloseHandle ( hFileMap ); CloseHandle ( hFile ); Exit; end ; dwOffset := Cardinal ( pBaseAddress ); pDosHeader := PImageDosHeader ( pBaseAddress ); pNtHeaders := PImageNtHeaders ( dwOffset + Cardinal ( pDosHeader . _lfanew )); { ImageBase } ImageBase := pNtHeaders ^. OptionalHeader . ImageBase ; Edit1 . Text := IntToHex ( ImageBase , 8 ); { Entry Point } EP := pNtHeaders ^. OptionalHeader . AddressOfEntryPoint ; Edit2 . Text := IntToHex ( EP , 8 ); UnmapViewOfFile ( pBaseAddress ); CloseHandle ( hFileMap ); CloseHandle ( hFile ); end ;
+
اطلع على بنية ملفات PE حتى تتوضح لك الأمور أكثر و أكثر :
كود :
http://www.mediafire.com/download/a6ked3ovewjx80y/Portable_Executable_File_Format_-_A_Reverse_Engineer_View.rar
Open Your Source .. Open Your Mind
المشاركات : 30
المواضيع 13
:
: 0
الإنتساب : Aug 2013
اخي لم يشتغل الكود اظن انه يحتاج الى مكتبة ما اظن تركيبة ملفات pe
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
Ninja C0d3r كتب : اخي لم يشتغل الكود اظن انه يحتاج الى مكتبة ما اظن تركيبة ملفات pe
لقد اشتغل معي الكود بشكل عادي ..
هل مسار ال Filename صحيح ؟
ألق نظرة على المرفق ..
الملفات المرفقة
PE.rar (الحجم : 4.11 ك ب / التحميلات : 6)
Open Your Source .. Open Your Mind
المشاركات : 183
المواضيع 7
:
: 1
الإنتساب : Sep 2011
جواب SMP3 صحيح و لا مشكلة فيه
لاكن الافضل استعمال كلاسات oop جاهزة كـ tpeformat
.:: مبرمج شوارع ::.
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
houdini كتب : جواب smp3 صحيح و لا مشكلة فيه
لاكن الافضل استعمال كلاسات oop جاهزة كـ tpeformat
الأخ طلب مثال .. لا داعي لتعقيد الأمور ..
تحويلها لكلاس أمر جد سهل و أعتقد أنه لن يجد أي صعوبة في ذلك ..
Open Your Source .. Open Your Mind
المشاركات : 30
المواضيع 13
:
: 0
الإنتساب : Aug 2013
شكرا لك اخي SMP3 و جزاك الله خيرا
لقد اشتغل معي المرفق بشكل جيد لكن اين توجد stracture PE في الدلفي؟
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
Ninja C0d3r كتب : شكرا لك اخي SMP3 و جزاك الله خيرا
لقد اشتغل معي المرفق بشكل جيد لكن اين توجد stracture PE في الدلفي؟
TImageDosHeader & TImageNtHeaders
Open Your Source .. Open Your Mind
المشاركات : 30
المواضيع 13
:
: 0
الإنتساب : Aug 2013
انا أقصد التركيبة كاملة لملف PE اين توجد مثلا Structure IMAGE_DOS_HEADER فقط
Public Structure IMAGE_DOS_HEADER
Public e_magic As UInt16
Public e_cblp As UInt16
Public e_cp As UInt16
Public e_crlc As UInt16
Public e_cparhdr As UInt16
Public e_minalloc As UInt16
Public e_maxalloc As UInt16
Public e_ss As UInt16
Public e_sp As UInt16
Public e_csum As UInt16
Public e_ip As UInt16
Public e_cs As UInt16
Public e_lfarlc As UInt16
Public e_ovno As UInt16
Public e_res_0 As UInt16
Public e_res_1 As UInt16
Public e_res_2 As UInt16
Public e_res_3 As UInt16
Public e_oemid As UInt16
Public e_oeminfo As UInt16
Public e_res2_0 As UInt16
Public e_res2_1 As UInt16
Public e_res2_2 As UInt16
Public e_res2_3 As UInt16
Public e_res2_4 As UInt16
Public e_res2_5 As UInt16
Public e_res2_6 As UInt16
Public e_res2_7 As UInt16
Public e_res2_8 As UInt16
Public e_res2_9 As UInt16
Public e_lfanew As UInt32
End Structure
يعني في دلفي يجب ان تكون هذه التركيبة معرفة في مكان ما صح؟
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
IMAGE_DOS_HEADER = TImageDosHeader
Open Your Source .. Open Your Mind