الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تغير معلومات فايل Pe معين

بدأه الاخير زمانه في 26 فبراير 2008 · 8 رد · 896 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد تغير بعض المعلومات داخل بعض ملفات ال pe

بعد فتح الفايل وتحميلة الى الذاكرة بأستخدام الدوال

CreateFile
CreateFileMapping
MapViewOfFile

ثم بعد ذلك احاول تغير بايت معين ، مثلا

dosHeader = (PIMAGE_DOS_HEADER)lpFileBase;
// dosHeader->e_magic==0x014D;

تظهر لي مسج كما في الصورة

كيف ممكن اغير الصلاحية ؟؟

post-47438-1204015074_thumb.jpg

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#2

ارجوك اكتب لنا الكود حتي نعرف نساعدك

( _ /)

(='.'=)

(")-(")

#3

ماذا تريد ان تغير ؟

e_magic لايمكن تغييرها لكي يبقى EXE ان خيرت يتعامل معه النظام كانه COM

-

بالمناسبة سيريحك هذا اكثر

/index.php?showtopic=150747

والسلام عليكم ورحمة الله

d4baa0.gif
#4

السلام عليكم ،

شكرا على الرد ،

محمد ، احاول تغير رقم ال machine لتعطيل ملفات ال exe من التنفيذ ،

كما موضح في الصورة ،

و لكن يظهر لي خطأ .

حاولت تغير قيمة ال e_lfanew ايضا يظهر لي نفس الخطأ .

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#5

معلومات السؤال لاتزال قليلة ليمكن مساعدتك

الاخير زمانه كتب:
حاولت تغير قيمة ال e_lfanew ايضا يظهر لي نفس الخطأ .

كيف غيرتها ؟ ربما الموضع الجديد Section غير قابلة للتنقيذ

والخطا يظهر عند التعديل من برنامجك او من البرنامج المعدل عند التفيذ ؟

راجع هذا -ان لم تكن قد قراته بعد!-

http://win32assembly.online.fr/pe-tut2.html

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 27 فبراير 2008 في 10:35 — السبب: رابط

d4baa0.gif
#6

ببساطة انا اريد التغير في معلومات ال pe لأي فايل exe يحددهالمستخدم ، اريد تعطيله و توقيفه من التنفيذ .

الخطأ يظهر في برنامجي ،

فعند اختيار ملف معين و ابدء بالتغير تظهر لي مسج بأنه هناك مشكلة ويجب اغلاق البرنامج ،

هذه الدروس قرأتها اخي محمد ،و هي المصدر الذي اعتمد عليه ،

بالضبط اريد ان اعمل هذا (وهو مؤخوذ من هذه الدروس )

The CPU platform the file is intended for. For Intel platform, the value is IMAGE_FILE_MACHINE_I386 (14Ch). I tried to use 14Dh and 14Eh as stated in the pe.txt by LUEVELSMEYER but Windows refused to run it. This field is rarely of interest to us except as a quick way of preventing a program to be executed

.

hfile=CreateFile (Textopen.lpstrFile,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,
										(LPSECURITY_ATTRIBUTES)NULL,OPEN_EXISTING ,0,NULL);



									 if ( hfile == INVALID_HANDLE_VALUE )
										 MessageBox(0,"CreateFile","Error",0);

									 hFileMapping = CreateFileMapping(hfile, NULL, PAGE_READONLY, 0, 0, NULL);
										if ( hFileMapping == 0 )
										{   CloseHandle(hfile);
										MessageBox(0,"CreateFileMapping","Error",0);
										}

										 lpFileBase = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0);
										if ( lpFileBase == 0 )
										{
											CloseHandle(hFileMapping);
											CloseHandle(hfile);
											MessageBox(0,"MapViewOfFile","Error",0);
										}

										 dosHeader = (PIMAGE_DOS_HEADER)lpFileBase;


									 PIMAGE_NT_HEADERS pINTH = (PIMAGE_NT_HEADERS)
											 lpFileBase+dosHeader->e_lfanew;

										 pINTH->FileHeader.Machine=0x014D;

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#8
اقتباس

hfile=CreateFile (Textopen.lpstrFile,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,

(LPSECURITY_ATTRIBUTES)NULL,OPEN_EXISTING ,0,NULL);

if ( hfile == INVALID_HANDLE_VALUE )

MessageBox(0,"CreateFile","Error",0);

hFileMapping = CreateFileMapping(hfile, NULL, PAGE_READONLY, 0, 0, NULL);

if ( hFileMapping == 0 )

{ CloseHandle(hfile);

MessageBox(0,"CreateFileMapping","Error",0);

}

lpFileBase = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0);

if ( lpFileBase == 0 )

{

CloseHandle(hFileMapping);

CloseHandle(hfile);

MessageBox(0,"MapViewOfFile","Error",0);

}

dosHeader = (PIMAGE_DOS_HEADER)lpFileBase;

PIMAGE_NT_HEADERS pINTH = (PIMAGE_NT_HEADERS)

lpFileBase+dosHeader->e_lfanew;

pINTH->FileHeader.Machine=0x014D;

d4baa0.gif
#9

السلام عليكم

شكرا اخي محمد على المتابعة ،

تنفذ البرنامج ،

جزاك الله خير ، لقد افدتني ، كالعادة :lol:

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…