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

برنامجي مثبت في الجهاز واريد تحديث البرنامج ......... كيف

بدأه awajihm في 24 أغسطس 2008 · 5 رد · 779 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

برنامجي مثبت في الجهاز واريد تحديث البرنامج حيث قمت باضافة فورم جديد

Class1 ولضفت ايضا

ووحدة نمطية

المطلبوب كيف اعمل تحديث للبرنامج

فلا اريد عمل له تركيب مرة اخري

هل يمكن فعل ذلك؟

وللجميع تحياتي

#2

اممم.. يمكنك الاعتماد على موضوع استخدام باتش.

البرامج التي تقوم بتشكيل ملف باتش تقوم بالمقارنة بين ملفين.

وتحفظ الفروقات في ملف ثالث يقوم بالتعديل على الملف القديم ليصبح كالجديد.

مثل dUP

http://diablo2oo2.di.funpic.de/dup.htm

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

هناك إضافة بسيطة أريد نصحك بها، عندما تقوم بكتابة برنامج يحوي على أجزاء غير أساسية من صلب البرنامج، ضعها في ملف DLL وقم بطلب وظائف معينة من ذلك الملف، يكون أسهل التعديل فيه أو إرسال نسخة بديلة منه مثلاً.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

أخي الكريم Xacker لم أفهم شيء من الموقع 

والطريقة التي تفضلت بعرضها لم أفهما جيداً أرجو أن توضح قليلاً

جزاك الله خيراً

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#5

أخي Comfort:

قم بتحميل البرنامج dUP

http://diablo2oo2.di.funpic.de/downloads/dup2.rar

لنفرض أن لدي برنامج1 فيه التعليمات التالية:

.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

.data
msg1	db  "Hello World!",0
caption db  "ArabTeam",0

.code
start:

invoke  MessageBox,NULL,addr msg1,addr caption,MB_OK
invoke  ExitProcess,NULL

end start

والبرنامج2 فيه التعديلات البسيطة التالية:

.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

.data
msg2	db  "Hello Boy!",0
caption db  "ArabTeam",0

.code
start:

invoke  MessageBox,NULL,addr msg2,addr caption,MB_OK
invoke  ExitProcess,NULL

end start

لاحظ الاختلاف بسيط ولا يذكر، هو فقط كمثال ولا يمثل الواقع بحال من الأحوال (برنامج الاسمبلي انشره بدون باتش أكيد هيكون أصغر من الباتش نفسه :lol:)

فعلياً ما سيختلف هو فقط بعض البايتات ضمن الرسالة ولا شئ آخر. حتى عناوين توضع القيم كلها في الذاكرة ستكون نفسها.

طيب البرنامج الأول خطأ ولم تكن تلك الرسالة التي من المفترض عرضها وإنما الرسالة في البرنامج الثاني.

هل تقوم بإرسال نسخة جديدة من البرنامج بكامله إلى المستثمر؟ (نحن نتكلم عن برامج بأحجام كبيرة)

سأقوم باستخدام برنامج dUP الآن بالشكل التالي:

  1. New Project
  2. إضافة معلومات ما عن الباتش
  3. من الواجهة الرئيسية الآن نختار Add > Offset Patch
  4. نقرة مضاعفة على العنصر الجديد الذي تم اضافته في القائمة لكي نقوم بالتعديل عليه
    الآن سنقوم بتحديد بعض الأمور:

    post-7008-1220029235_thumb.jpg


    • نختار الملف الأساسي قبل التعديل (النسخة القديمة مثلاً)
    • نختار الملف الجديد الذي تم التعديل فيه (النسخة المحدثة والمراد نشرها مثلاً)
    • ننقر على زر compare ليتم تحديد البايتات المختلفة
    • نقوم باختيار الملف الأساسي مرة أخرى لكي يتم جلب بعض المعلومات عنه كالـ CRC والاسم الخاص به.. الخ لكي يتم تنفيذ الباتش عليه فقط وليس أي ملف آخر.
    • حفظ التعديلات

بعد الانتهاء من كل هذا نقوم بتشكيل الباتش في النافذة الرئيسية من خلال زر Create Patch.

موضوع ذو صلة بشكل أو بآخر:

/index.php?showtopic=69506

dUP له استخدامات عديدة كثيرة. سهل الاستخدام.

هناك طرق أخرى لتلافي هذه المشكلة كما تفعل بقية الشركات من خلال جعل برنامجك يقوم بتفحص وجود إصدار جديد تم نشره مثلا عبر الانترنت لو كان لمنتجك مساحة ما تقوم بعرضه فيها، حيث يتم جلب التحديثات ويتم دمجها أو تعديل الملفات الأساسية بطرق عديدة.

تم تعديل هذه المشاركة بواسطة Xacker في 29 أغسطس 2008 في 20:01

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6

جزاك الله خيراً

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif

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

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

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

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

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