delphi4arab منتديات دلفي للعرب

نسخة كاملة : PE Editor مع مشروع برنامج صغير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

أولا
عذرا لقلة تواجدي في المنتدى

ثانيا
قمت قبل مدة بعمل Pe Editor و لكن ليس كامل و يحتاج للكثير من العمل ليصبح أداة متكاملة من ناحية التعامل مع PE في القرص و في الذاكرة
أفكاري كثيرة و لكني توقفت هنا ريثما اتخرج من الكلية

أصل العمل مقتبس من وحدة PEEditor ل Hard Wisdom و تم إضافة التغييرات التالية

كود :
// FIx Unit to work with D2010 // Add IAT RVA&Size // Add ExportsFunction RVA & Offset // Add Export Name String // Remove Section Structure and add new one // Fix Offset 2 RVA // Add new Section Procedure // Add Export Table option to move it to new location

قلت لنفسي أنه يمكن يريحكم من البحث قليلا لأن مستواكم ماشاء الله عالي جدا
تم بناء هذا العمل لإراحتي من بعض الامور اليدوية و خصوصا مسألة نقل ال Export Table و ذلك لانتاج ملف خالي من أي شوائب من حماية Themida في برنامج قمت بتكريكه مؤخرا

الوحدة و المشروع بالمرفقات
وعليكم السلام ورحمة الله
جميل جدا o15s19 Smile ـ
إقتباس :أفكاري كثيرة و لكني توقفت هنا ريثما اتخرج من الكلية
نفس الفكرة كانت عندي ولكن الظروف...

لأني لا أحب أن أحمل وأخرج، هذا مثال مشابه فيه إضافات (Extract Overlay، Hex View...) ربما تفيدك
أطلعنا على جديدك Wink بالتوفيق.
بارك الله فيكم اخونى .

اخى kachwahed مثال رائع ... من خلال هادا المثال ساحاول الوصول الى طريقة لاخفاء و جود ال Overlay

Smile
أعد Colin Wilson مكتبة قديمة نوعا ما لكنها جيدة. مرفقة Smile
بالتوفيق.
السلام عليكم

استطعت اخفاء و جود ال Overlay ... لاكن دالك كان على حساب اخر Section ... بحيث هده الاخيرة اصبحت لا عمل لها . Sad Smile
و تحدث اخطاء ان اعتمد البرنامج على اشياء من هده Section

[صورة: 2zjj8te.png]

PHP كود :
procedure FixOverlay(sPath: string);
var
  
IDH:    TImageDosHeader;
  
INH:    TImageNtHeaders;
  
ISH:    TImageSectionHeader;
  
hFile:  THandle;
  
dRead:  DWORD;
  
dSize:  DWORD;
begin
  
try
    
hFile := CreateFile(PChar(sPath), GENERIC_ALL, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
    if 
hFile <> INVALID_HANDLE_VALUE then
    begin
      dSize 
:= GetFileSize(hFile, nil);
      
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
      
ReadFile(hFile, IDH, SizeOf(IDH), dRead, nil);
      if 
dRead = SizeOf(IDH) then
      begin
        SetFilePointer
(hFile, IDH._lfanew, nil, FILE_BEGIN);
        
ReadFile(hFile, INH, SizeOf(INH), dRead, nil);
        if 
dRead = SizeOf(INH) then
        begin
          SetFilePointer
(hFile, IDH._lfanew + 248 + (INH.FileHeader.NumberOfSections - 1) * 40, nil, FILE_BEGIN);
          
ReadFile(hFile, ISH, SizeOf(ISH), dRead, nil);

          
//------------------------------//
          
ISH.PointerToRawData := dSize;
          
ISH.SizeOfRawData := 0;
          
//------------------------------//

          
SetFilePointer(hFile, IDH._lfanew + 248 + (INH.FileHeader.NumberOfSections - 1) * 40, nil, FILE_BEGIN);
          
WriteFile(hFile, ISH, SizeOf(ISH), dRead, nil);
        
end;
      
end;
    
end;
    
CloseHandle(hFile);
  
except
    
{$Warnings OFF}
    
NoErrMsg := True;
  
end;
end; 

شكرا اخوانى .
هل من الممكن ان ترفق الملف الذي عدلت علية اخي hanipino
نعم اخى احمد .

طريقة الاخفاء هده تكون ناجحة فى حالة فقط و هى عند اضافة ملف تنفيدى فى اخر ملف تنفيدى ... و تنفيد الملف المخزن عنطريق دالة من دوال Memory Execution المنتشرة بكثرة فى الانترنت
كمثال هنا

فى غير دالك يحدث خطاء ... .

... لاكن بعد الاطلاع على Section Viewer يمكن الاكتشاف انه هناك Overlay مخفية .
... Sad بعد تجريب PEiD v0.95 ...
يكتشف وجود ال Overlay عادى . Smile اما النسخة v0.94 فلا تكتشف دالك .
الغريب في الامر ان برنامج FastScanner لا يكتشف وجود Overlay في الملف كذلك اداة الاخ STRELiTZIA
AT4RE Overlay Tool 0.2 Build 2010 لا اعرف كيف يكتشفة ال PEiD 0.95
ahmed18 كتب :لا اعرف كيف يكتشفة ال peid 0.95

لا ادرى ...

... هده محاولة منى للكشف عنها (مجرد محاولة) Smile
الصفحات : 1 2