كيفية فتح رمز برنامج إكس. من المستحيل الكشف عن كود المصدر إذا حاولوا ضمان الأمان (خاصة إذا كان عنصرًا خاصًا)

24.06.2020

في بعض الأحيان قد تكون أخطاء CODE.EXE وأخطاء نظام EXE الأخرى مرتبطة بمشاكل في سجل Windows. يمكن للعديد من البرامج استخدام الملف CODE.EXE، ولكن عند إلغاء تثبيت هذه البرامج أو تعديلها، يتم أحيانًا ترك إدخالات تسجيل EXE "المعزولة" (غير الصحيحة).

في الأساس، هذا يعني أنه على الرغم من أن المسار الفعلي للملف قد تغير، إلا أن موقعه السابق غير الصحيح لا يزال مسجلاً في سجل Windows. عندما يحاول Windows البحث عن مراجع الملفات غير الصحيحة هذه (مواقع الملفات على جهاز الكمبيوتر الخاص بك)، يمكن أن تحدث أخطاء CODE.EXE. بالإضافة إلى ذلك، ربما تكون الإصابة بالبرامج الضارة قد أدت إلى إتلاف إدخالات التسجيل المرتبطة بـ Game Cracker. وبالتالي، يجب إصلاح إدخالات تسجيل EXE الفاسدة هذه لإصلاح المشكلة من الجذر.

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

وبسبب هذه المخاطرة، نوصي بشدة باستخدام منظف سجل موثوق به مثل %%product%% (تم تطويره بواسطة Microsoft Gold Certified Partner) لفحص وإصلاح أي مشكلات متعلقة بالتسجيل متعلقة بـ CODE.EXE. باستخدام منظف التسجيل، يمكنك أتمتة عملية البحث عن إدخالات التسجيل الفاسدة، ومراجع الملفات المفقودة (مثل تلك التي تسبب خطأ CODE.EXE)، والروابط المعطلة داخل التسجيل. قبل كل عملية فحص، يتم إنشاء نسخة احتياطية تلقائيًا، مما يسمح لك بالتراجع عن أي تغييرات بنقرة واحدة ويحميك من التلف المحتمل لجهاز الكمبيوتر الخاص بك. أفضل ما في الأمر هو أن التخلص من أخطاء التسجيل يمكن أن يؤدي إلى تحسين سرعة النظام وأدائه بشكل كبير.


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

قبل إصلاح سجل Windows الخاص بك يدويًا، تحتاج إلى إنشاء نسخة احتياطية عن طريق تصدير جزء من السجل المرتبط بـ CODE.EXE (على سبيل المثال، Game Cracker):

  1. انقر على الزر يبدأ.
  2. يدخل " يأمر" الخامس شريط البحث... لا تنقر بعد يدخل!
  3. أثناء الضغط باستمرار على المفاتيح CTRL-التحولعلى لوحة المفاتيح، اضغط يدخل.
  4. سيتم عرض مربع حوار للوصول.
  5. انقر نعم.
  6. يفتح الصندوق الأسود بمؤشر وامض.
  7. يدخل " رجديت" و اضغط يدخل.
  8. في محرر التسجيل، حدد المفتاح المرتبط بـ CODE.EXE (على سبيل المثال، Game Cracker) الذي تريد عمل نسخة احتياطية منه.
  9. على القائمة ملفيختار يصدّر.
  10. في القائمة حفظ فيحدد المجلد الذي تريد حفظ النسخة الاحتياطية لمفتاح Game Cracker فيه.
  11. في الميدان اسم الملفأدخل اسمًا لملف النسخ الاحتياطي، على سبيل المثال "Game Cracker Backup".
  12. تأكد من المجال نطاق التصديرالقيمة المحددة الفرع المختار.
  13. انقر يحفظ.
  14. سيتم حفظ الملف مع ملحق .reg.
  15. لديك الآن نسخة احتياطية من إدخال التسجيل المتعلق بـ CODE.EXE.

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

مع مساعدة موالف الموارديمكنك فتح الملفات القابلة للتنفيذ مثل .EXE، .DLL، .OCX، وحافظات الشاشة (.SCR) وغيرها الكثير. من خلال فتح الملف، يمكنك الوصول إلى موارد الملف ويمكنك استبدال الرموز والمؤشرات والرسومات بتنسيقات مختلفة وتغيير الخطوط في القوائم ومربعات الحوار وعناصر واجهة المستخدم الأخرى.

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

لإجراء تغييرات أكثر خطورة (والتي، مع ذلك، لن تؤدي إلى أي شيء جيد دون خبرة كافية في برمجة تطبيقات Windows)، نوصي باستخدام PE Explorer (محرر بنية ملف PE) أو FlexHex (محرر سداسي عشري للملفات الثنائية).

فتح ملف EXE أو DLL في Resource Tuner

يدعم طرق متعددة لفتح الملفات. لفتح ملف للعرض والتحرير، انقر فوق الزر افتح الملفعلى شريط الأدوات أو حدد الأمر ملف > يفتحمن القائمة. تتيح لك القائمة المنسدلة الموجودة بجوار الزر الموجود على شريط الأدوات إمكانية الوصول السريع إلى قائمة الملفات المفتوحة مؤخرًا. يمكن الحصول على نفس القائمة باستخدام الأمر ملف > الملفات الأخيرةمن قائمة البرنامج. يتم تكوين عدد الملفات في القائمة في مربع الحوار يعدل أو يكيف.


يمكنك أيضًا فتح الملف باستخدام Resource Tuner مباشرة من Windows Explorer عن طريق النقر بزر الماوس الأيمن فوق الملف وتحديده افتح باستخدام موالف المواردمن قائمة السياق.

أو يمكنك ببساطة سحب وإسقاط رمز الملف من Windows Explorer على رمز Resource Tuner الموجود على سطح المكتب أو على نافذة Resource Tuner قيد التشغيل.

يمكنك أيضًا فتح الملف من سطر الأوامر.
على سبيل المثال: ملف Restuner.exe filename.exe

عند فتح ملف، يقوم Resource Tuner بإجراء العديد من العمليات التلقائية: يقوم بفك ضغط الملف إذا تم اكتشاف أنه تم تعبئته باستخدام UPX، ثم يتحقق من بنية الملف وموارده بحثًا عن الأخطاء المحتملة، وأخيرًا يعيد بناء الموارد التالفة وفقًا للملف القابل للتنفيذ مواصفات التنسيق.

أخطاء عند فتح الملف

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

1. خطأ: الملف تالف أو مضغوط بواسطة أحد أجهزة التعبئة أو محمي بواسطة أداة حماية.

هناك احتمال كبير جدًا أن يكون الملف قد تم ضغطه لتقليل حجمه. هناك العشرات من برامج الحزم والحماة للملفات القابلة للتنفيذ، وتظهر ملفات جديدة طوال الوقت. يدعم Resource Tuner تفريغ حزمة واحدة فقط، ولكن الحزمة الأكثر شيوعًا هي UPX. لا يتم دعم برامج الحزم الأخرى، وسيتعين عليك فك ضغط الملف بنفسك قبل أن تتمكن من فتح الملف للعرض أو التحرير.

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

2. خطأ: تم تعريف الملف على أنه 16 بت NE قابل للتنفيذ. هذا التنسيق غير مدعوم!

تعمل برامجنا فقط مع ملفات PE 32 و64 بت. تنسيق NE (اختصار لـ "New Executable") هو تنسيق تطبيق 16 بت متبقي من الإصدارات الأقدم من Windows 3.xx. مع ظهور نظام التشغيل Windows 95، يعتبر هذا التنسيق قديمًا وغير مستخدم، على الرغم من إمكانية تنفيذه على الأنظمة الأساسية الحديثة من Microsoft. نحن لا ندعم ملفات 16 بت ولا ننوي دعمها.

3. خطأ: الملف ليس ملف EXE أو DLL. على الاطلاق!

لا يكتشف موالف الموارد الملف حسب الملحق. إذا قمت بإعادة تسمية امتداد ملف قابل للتنفيذ، على سبيل المثال، تصحيح .EXE إلى .TXT، أو إزالة الامتداد تمامًا، فلن ينخدع Resource Tuner بهذا: عند فتح ملف، يقوم البرنامج بتحليل رأس الملف داخل الملف، و لا ينظر إلى التمديد على الإطلاق.

لذلك، إذا أخبرك Resource Tuner أن الملف غير قابل للتنفيذ، فهذا يعني أنه كذلك. إذا أضاف شخص ما، لسبب ما، امتداد .DLL إلى ملف نصي في حزمة لعبة، فلن يتوقف الملف عن كونه نصًا ولن يصبح مكتبة ديناميكية. لا تنخدع بامتداد الملف.

ما هي الملفات التي لا معنى لفتحها في محرر الموارد؟

على الرغم من أن Resource Tuner مصمم لفتح وتحرير أي ملفات قابلة للتنفيذ 32/64 بت، إلا أن هناك بعض أنواع ملفات EXE التي لا تحتوي على أي موارد تقريبًا.

1. الملفات التي تم إنشاؤها باستخدام Visual Basic.

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

2. ملفات EXE بحجم جيجابايت أو أكثر.

نظرًا لأن Resource Tuner هو برنامج 32 بت، فهناك قيود طبيعية لوضع صورة الملف الذي يتم فتحه في الذاكرة الافتراضية ضمن الجيجابايت الأول. لن يتناسب حجم الملف الذي يبلغ حجمه غيغابايت أو أكثر مع هذا المكان.

3. أرشيفات الاستخراج الذاتي على شكل ملفات EXE.

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

4. مثبتات البرامج الأخرى.

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

قم بتنزيل النسخة التجريبية المجانية!


يعمل موالف الموارد كافة إصدارات ويندوز
من 2000 وXP إلى 8 و10.

الحد الأدنى لمتطلبات النظام:
معالج Intel Pentium® أو AMD K5 بسرعة 166 ميجاهرتز
16 ميجابايت من ذاكرة الوصول العشوائي

من المستحيل الكشف عن كود المصدر إذا حاولوا ضمان الأمان (خاصة إذا كان عنصرًا خاصًا).

ولكن هناك طرقًا للكشف عن الكود بشكل كامل أو جزئي.

  • IDA Pro هو أفضل برنامج تكسير مجاني، وقد تسمح لك بعض وحدات الماكرو بتحويل الكود مرة أخرى. لكن ليس دائما. منتجات بورلاند جيدة بشكل خاص.
  • Hiew.Exe هو أداة مساعدة مجانية، صغيرة جدًا، تسمح لك بتحرير كود لغة التجميع. يمكنك تحرير النص والثوابت الصحيحة. يمكنك حتى استخدامه "لترجمة" البرنامج إلى لغة أخرى، أو مسح اسم الشركة، وما إلى ذلك.
  • إذا كان هناك ملف PDB، أو تم إرفاق معلومات التصحيح بالملف، فيمكن الحصول على التعليمات البرمجية في بيئة التطوير (إذا كانت معلومات التصحيح كاملة)، فمن النادر استخدامها. من المستحيل الحصول على الكود المصدري، ولكن يمكنك الحصول على “أرقام الأسطر وأسماء المصادر”، بالإضافة إلى أسماء/قيم جميع الثوابت والمتغيرات المحلية، وتجنب “تجزئة الوظائف” وأيضًا الحصول على الفئات مع ملء الفئة (جميع الهياكل تقريبًا باستثناء نص البرنامج) من شأنها تبسيط فهمك لكيفية عمل البرنامج إلى حد كبير. بالنسبة لبعض المكتبات (dlls)، يمكن تنزيل ملفات pdb بشكل منفصل. من غير المرجح أن تسمح شركة تحترم نفسها بتسرب PDB لمنتجها القيم.
  • معلومات التصحيح، توجد معلومات DebugInfo مضمنة في ملف exe. إذا كانت هناك مثل هذه المعلومات والأداة المساعدة المقابلة (على سبيل المثال، يتم تجميع دلفي على بورلاند، وهي متوفرة)، فيمكنك القيام بشيء مشابه للنقطة السابقة. ولكن من غير المرجح أن ترتكب شركة تحترم نفسها مثل هذا الخطأ "الغبي" (على غرار pdb).
  • إذا كان الملف مكتوبًا بلغة C#، فيمكن عرضه بالكامل تقريبًا بالكود باستخدام disSharp (مثل هذه البرامج "تتضمن" mscorlib فقط في جدول الاستيراد وهذا كل شيء). يعد DisSharp سيئًا في تفكيك بعض أجزاء البرنامج، ولكن ربما تكشف نسخته المدفوعة أو الإصدارات المدفوعة من الأدوات المساعدة المماثلة عن الكود بشكل أفضل.
  • إذا كان الملف مكتوبًا بلغة FoxPro أو Clipper أو غيرها من لغات رموز البايت المشابهة، فسيتم فتحه بواسطة أدوات مساعدة خاصة (Refox على سبيل المثال).
  • تتيح لك الأداة المساعدة exescope.exe ResourceHacker.exe والأدوات المساعدة المشابهة عرض الرأس والمكتبات المتصلة (باستخدامها يمكنك يفهمما هو مكتوب البرنامج) وتحرير موارد البرنامج (نماذج الموارد بما في ذلك دلفي والأيقونات والصور وجداول سلاسل الموارد).
  • إذا كان من المعروف كيف تم إنشاء التعليمات البرمجية، أعتقد أن هناك أدوات مساعدة خاصة يمكنها فتحه (يتم دفعها ولا يمكن الوصول إليها).

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

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

*** كل ما هو مكتوب يجب أن يستخدم للأغراض التعليمية فقط! ***

-أدوات-
OLLYDBG
التطبيق الذي سنقوم بإدخال الكود الخاص بنا فيه.
سيكون ذلك المفكرة.EXE.
من المستحسن عمل نسخة من الملف.
هذا كل شيء

-يبدأ-
هدفنا هو لصق الكود الخاص بنا في Notepad.EXE.
سنقوم بلصق بسيط صندوق الرسائلللإطلاق المفكرة.
هيا نطلق دفتر، وتأكد من أنه يبدأ بشكل طبيعي.

إذا كنت متأكدا من أنها أصلية المفكرة.exe، افتحه أولي.
ستظهر النافذة التالية:

من أجل إدراج الكود الخاص بنا، نحتاج إلى مكان لذلك في كود البرنامج.
هناك الكثير من الأشياء في ملفات exe CodeCaves. هذه بايت ( ديسيبل 00).
كل ما عليك فعله هو تمرير رمز البرنامج أسفل البداية بقليل وسترى CodeCave:


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

***** ابدأ الاقتباس من دليل مبرمج WIN32

تقوم وظيفة messageBox بإنشاء مربع رسالة وعرضه وتشغيله.
يحتوي مربع الرسالة على رسالة وعنوان محددين من قبل التطبيق،
بالإضافة إلى أي مجموعة من الرموز والأزرار المحددة مسبقًا.

إنت رسالة بوكس ​​(
HWND hWnd، // مقبض نافذة المالك
LPCTSTR lpText، // عنوان النص في مربع الرسالة
LPCTSTR lpCaption، // عنوان عنوان مربع الرسالة
UINT uType // نمط مربع الرسالة
);

***** نهاية الاقتباس من دليل مبرمج WIN32

انقر فوق لتوسيع...

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


إذا ضغطت ثنائي=>تحريرأو (CTRL+E) ستظهر لك النافذة التالية.
ما عليك سوى ملء الحقل العلوي بنفس الطريقة التي قمت بها.
انقر فوق "موافق" وسترى الكود المعدل (مظلل باللون الأحمر):
الآن اضغط على CTRL+A لإعادة تحليل التعليمات البرمجية.
نعم! الآن، إذا كنت تريد جعل عنوان الرسالة مختلفًا، قم بتكرار هذا السطر
(هذا مثل المعلمة الثانية لاستدعاء الإجراء).

-المجمع قليلا-

لقد حان الوقت ل أ.س.م.أ
وهنا مثال جيد!

ادفع 0؛ الأزرار =<ТОЛЬКО КНОПКА OK>
دفع 1008751؛ التسمية التوضيحية = عنواننا "المفكرة المحقونة"
دفع 1008751؛ الرسالة = نفس الشيء.
ادفع 0؛ أيقونة =<БЕЗ ИКОНКИ>
اتصل بـMessageBoxA; اتصل بـMessageBoxA باستخدام المعلمات المحددة.

انقر فوق لتوسيع...

دخلت هذه السطور أوليسوف تبدو مثل هذا:

هل ترى السهم؟! انها مهمة جدا!
بعد كل شيء، إذا قمنا بتشغيل البرنامج فقط، فلن يحدث شيء. لماذا؟
لأن إجراءنا الصغير لم يتم استدعاؤه في أي مكان بعد!
تحتاج إلى كتابة عنوان بدايتها، أي. عنوان " ادفع 0"، لأننا بحاجة إلى القيام بالقفز
إلى إجراءاتنا والعودة
عظيم. نعود الآن إلى بداية البرنامج ( الزر جعلى شريط الأدوات أوليأو كما في الصورة).

نحن الآن على السطر الأول الذي سيتم تنفيذه.
هل مازلت تتذكر أن هدفنا هو إدخال الكود الخاص بك؟
ثم سوف نستمر!
حدد سطرين من البداية وانسخهما إلى الحافظة.


الصقها في أي مفاعل نصي - ستكون مفيدة لنا لاحقًا.
العودة إلى بداية البرنامج مرة أخرى.
(الصورة أعلاه هي ادفع 70).
وبالنقر المزدوج على هذا السطر ستظهر لنا النافذة التالية.
عليك أن تدخل " أحزاب اللقاء المشترك<адрес PUSH 0, который мы записывали ранее> "
انقر فوق الزر "تجميع" وسوف يتغير رمز البرنامج مرة أخرى، أي. سيتم تسليط الضوء على التغييرات باللون الأحمر.

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

ادفع 70
دفع المفكرة.01001898

انقر فوق لتوسيع...

انقر على السطر الأول من التعليمات البرمجية (لدينا أحزاب اللقاء المشترك) و اضغط يدخل.
سيتم نقلك إلى رمز الاتصال الخاص بـMessageBox المُدرج!
بعد اتصل بـMessageBoxAسنحتاج إلى إدراج هذين الخطين والقفز مرة أخرى!


هذا كل شئ!
(من السهل التحقق مما إذا كانت القفزة تعمل بشكل صحيح - انقر عليها يدخل!)
لحفظ المفكرة "المعدلة" لدينا اتبع الخطوات كما في الصورة:
ثم اضغط نسخ جميع. في النافذة التي تظهر، عليك النقر بزر الماوس الأيمن،
حدد عنصر القائمة احفظ الملفوحفظها باسم جديد . قم بتشغيل الملف:

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

أولاً، بعد إضافة الإجراء إلى الواردات، عليك أن تعرفه FT (FirstThunk "IAT"). يتم عرضه هنا:

تذكر ذلك!(سأتصل به العنوان الحقيقي)​


الآن دعنا ننتقل إلى المكان الذي سنكتب فيه الكود الخاص بنا ( كهوف الكود).
الآن دعونا نضيف الاستدعاء الصحيح إلى وظيفتنا messageBoxA. للقيام بذلك نكتب:

JMP [[B]TrueAddress]

لو أوليتم تحديد الكود الجديد تلقائيًا على أنه استدعاء إجراء - وهذا جيد جدًا جدًا! لذلك سيكون الأمر أسهل. إذا لم يكن الأمر كذلك، فهذا يعني أنك قمت بحساب عنوان الاستيراد بشكل غير صحيح. التأكد مرتين!
اكتب عنوان هذا أحزاب اللقاء المشترك(سأتصل به تروكول).

الآن نقوم بكل شيء كما في المقالة (إدراج الأسطر، PUSH، وما إلى ذلك)، ولكن بدلاً من ذلك:

اتصل بـMessageBoxA

تحتاج إلى الكتابة:

اتصل[ب]TrueCall

الباقي يبقى كما هو.

انقر فوق لتوسيع...