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

كيفية دمج ملفين EXE معا

مغلق
بدأه activeman في 2 يونيو 2007 · 17 رد · 4,872 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

حاولت استخدم الكود التالي في دمج ملفين في ملف ثالث ولكن عند تشغيل الملف الناتج فانه يشغل ملف واحد من المدمجين على الرغم من ان حجمه يساوي حجم الملفين المدمجين

private void button1_Click(object sender, EventArgs e)//read
{
FileStream fs = new FileStream(@"C:\tr.exe", FileMode.OpenOrCreate,
FileAccess.Read);
MyData = new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();

FileStream fs2 = new FileStream(@"C:\org.exe", FileMode.OpenOrCreate,
FileAccess.Read);
orgfile = new byte[fs2.Length];
fs2.Read(orgfile, 0, System.Convert.ToInt32(fs2.Length));
fs2.Close();
}

private void button2_Click(object sender, EventArgs e)//write
{
FileStream fs1 = new FileStream(@"C:\calc1.exe", FileMode.OpenOrCreate,
FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs1);

bw.Write(orgfile);
bw.Flush();
bw.Write(MyData);
bw.Flush();
bw.Close();
fs1.Close();
}

تم تعديل هذه المشاركة بواسطة activeman في 2 يونيو 2007 في 17:50

#2

كيف يعني تدمج برنامجين معاً؟ هل الملف الثالث سيوفر خدمات الإثنين معاً؟ إذا كان هذا مرادك فهذا غير ممكن بهذه الطريقة.

#3

أخي الكريم

لكل ملف تنفيذي ... يوجد header في البداية توضع به كل المعلومات اللازمة لهذا الملف .

واللي أنت سويته غلط!!!

أول ما يشتغل الملف المدموج ... راح يقرأ الheader الأول ... وبالتالي يفترج إن هذا هو البرنامج الأول وما راح يلتفت للبرنامج الثاني اللي مخزن معه .

إذا فهمت اللي قلته فهو زين ... وإذا مافهمته .... راح أختصرها لك بعبارة واحده .... دمج الملفات مو بهذه الطريقة .

#4

هل تريد دمج ملفين في ملف تنفيذي ثالث يقوم بأستخراج الملفين المدمجين عند تشغيلة ام ماذا ؟ مثل ملفات التحزيم "package"

نرجو التوضيح اكثر حتي نستطيع مساعدتك.

مواضيع متنوعة

#5

نعم المطلوب كان واضحا لكن سأوضح المزيد

المطلوب عمل دمج لملفين بحيث ينتج ملف ثالث عند تشغيل الملف التطبيقي الثالث فانه سوف يشغل الملف الأول والثاني تلقائيا لانه يحوي الاثنان.. هذا المطلوب.. بشكل مختصر.

#6

إذن لا يمكن فعل هذا بالطريقة التي تقوم بها. يجب أن يكون هناك برنامج ثالث يتضمن البرنامجين الأول و الثاني و يقوم بتشغيلهما.

#7
SFX كيفية عمل

مواضيع متنوعة

#8

يا جماعة الموضوع مش ضغط ملفات ولا SFX الموضوع لا علاقة له بالأرشفة....

الموضوع بسيط وربي : كيف ندمج محتوى الملف الأول Bytes مع محتوى الملف الثاني Bytes بحيث ينتج ملف ثالث عند تشغيل الملف الثالث يشتغل الملفان مباشرة بدون ان ينتسخان ولا ان ينضغطان ولا علاقة له بالفك والضغط ..

مثال للتوضيح :

عند ملف الة حاسبة الخاص بالويندوز مثلا ولنسمه calc.exe

وملف اخر اسمه الرسام الخاص بالويندوز ولنسمه brush.exe

المطلوب كود يضع المحتوى للاثنان في ملف ثالث وليكن OrgFile.exe

عند تشغيل الملف الاخير OrgFile.exe فانه سوف يشغل الملفين السابقين مباشرة اي ستظهر الالة الحاسبة وسيظهر الرسام على الشاشة مباشرة بدون اي وسائط...

لذلك المطلوب كما أوضحت مرار وتكرار أن يتم نسخ محتوى الملفين في ثالث كما المثال الاول بالكود...

للعلم كودي نسخ الاثنان في ملف واحد لكن عيبه انه شغل فقط الملف الأول ولم يشغل الملف الثاني...

على فكرة الاخ B.M.S الله يفتح عليه فهم القصد بالضبط .

شكرا للجميع وأرجو كل الرجاء التركيز حول الموضوع الخاص بالتعامل مع البايتات ولا الضغط ولا الفك SFX حيث أن الملفات من نوع SFX ليست المطلوبة هنا وشكرا.

#9

لااعتقد انة يمكن تشغيل calc.exe مباشرة من ملف OrgFile.exe إلا إذا تم استخراج calc.exe من OrgFile.exe الي مسار محدد علي القرص الصلب.

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

عزيزي activeman

الموضوع الذي وضعت وصلتة يعطيك فكرة عامة عن جمع ملف او اكثر في ملف واحد.

مواضيع متنوعة

#10

EXE JOINER

A Pak File Creator

Embed Files In Executables

Embed Binary Files In Programs

Pack Files **** Very Fast

Packing Files into Executables using Property Bag

Split and merge files on separate worker thread. [ C# ]

لاتهتم للغة المهم انظر الي فكرة الكود وطبقها بأي لغة تشاء.

تم تعديل هذه المشاركة بواسطة Moudey في 5 يونيو 2007 في 02:33

مواضيع متنوعة

#11

اخي مودي Moudey أشكرك جدا لغزارة المعلومات التي قدمتها في الشروحات السابقة فعلا قيمة.

لكن ما أردته هو كيفية توظيف نفس ملف EXE ليحوي ملفين بداخله وعند تشغيله نريده أن يشغل ما بداخله مباشرة بدون وسائط .

ملف OrgFile.exe بداخله كبايتات : الحاسبة والرسام . وعند تشغيله نريده يشغل الاثنان معا اي الحاسبة والرسام أي (محتواه).

#12

مازلت ابحث عن الحل الله يحفظكم

#13

هل من جديد الله يحفظكم؟

#14

ما هو فورمات الملف التنفيذي

أحد الاخوة قال يوجد هيدر .

ماذا يحوي هذا الهيدر و ماذا يوجد غير الهيدر ؟

وهل يمكن إضافة أي ملف إلى الملف التنفيذي؟

في البداية يسخرون منك . . . ثم يهملونك . . . ثم يحاربونك . . . ثم تنتصر

#15

يا جماعة الفكرة نظريا بسيطة.

يعني متل فورمين موجودين في برنامج واحد الأول آلة حاسبة و الثاني رسام.

بس النقطة هي كيف تخلي الاسمبلي للأول و الثاني في برنامج جديد :

أنا عندي فكرة :(نظري)

نعمل ملف تنفيذي جديد له إنتري بوينت(نقطة دخول خاصة) يكون جزء منها على الشكل التالي :

.
.
.
call calc
call paint
.
.
.

حيث calc & paint هما procedure ضمن الاسمبلي الخاص بالبرنامج بعد طلب الأولى تعيد التحكم للبرنامج (entry point) لكي يطلب الثاني.

هذا الكلام ممكن نظريا لكن لا أدري إذا كان قابلا للتطبيق عمليا.

في البداية يسخرون منك . . . ثم يهملونك . . . ثم يحاربونك . . . ثم تنتصر

#16

حسبي الله ونعم الوكيل

حسبـــــــــــــــــــــــي الله

الموضوع تاه

المجيبين ذهبوا لبعيد

ياجماعة عايز برنامج يخزن برنامجين بداخله مالمشكلة لماذا اللف والددوران.

نفترض البرنامج الاول يشغل الة حاسبة P1.exe- والبرنامج الثاني يشغل الرسام. P2.exe

المطلوب برنامج ثالث P3

يقوم عند تشغيله بكبس البرنامج الاول ووضعه بملف وليكن cal_paint.exe وكبس البرنامج الثاني وكبسه في نفس الملف cal_paint.exe

وبعدين نروح للملف المكبوس cal_paint.exe ولمن نشغله يطلع لنا الة حاسبة ورسام الموضوع واضح ولاداعي للهروشة والبعد عن اللب المطلوب... :(

#18

لا إله الا الله

هذا الموضوع مغلق.

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