
مقدمة
مرحباً هبر! أود أن أشارك تجربتي في كتابة طلب لجهاز كمبيوتر محمول قديم للغاية ، وهو متقدم بشكل خطير على وقته ، أي إصدار Cybiko Xtreme 2001. بالنسبة لأولئك المهتمين بكيفية عيش مطور برامج للهواتف المحمولة في أوائل العقد الأول من القرن العشرين ، مرحبًا بك في موقع cat.
حول سايبيكو إكستريم
لذلك ، جاء هذا الجهاز لي في عام 2002 البعيد وتسبب فرحة كاملة. لم أكن أقدر قدرات الاتصال ، حيث أنني لم أقابل في مدينتي أشخاصًا بمثل هذه الأجهزة ، ولكن بصفة عامة ، كانت القدرة على لعب العديد من الألعاب دون الحاجة إلى الجلوس على جهاز كمبيوتر رائعة. في نواح كثيرة ، ركز منشئو الجهاز على إمكانات شبكة المساعد الرقمي الشخصي. اختار المطورون شبكة شبكة راديو لتوصيل الأجهزة ببعضهم البعض. مباشرة تم ربط الأجهزة على مسافة تصل إلى 100 متر ، ومع ذلك ، كان من الممكن الاتصال مع بعضها البعض من خلال جهاز آخر ، ونظريا ، مع تغطية شبكة كثيفة ، كانت المسافة غير محدودة. أتيحت للجهاز الفرصة لملء ملف التعريف الخاص بك (يبدو أنه يرفق صورة ، على الرغم من أنه سيكون هناك القليل من المعنى في عرض درجات الرمادي) ، والدردشة مع مستخدمين آخرين مع اهتمامات مماثلة ، والبحث عن أصدقاء جدد ، وما إلى ذلك. إنها تشبه كل هذه الشبكة الاجتماعية ، على الرغم من ذلك ، على حد علمي ، لم يكن هذا المصطلح موجودًا بعد. إذا كان هناك الكثير من الأجهزة ، أعتقد أن المشروع سينطلق ، لكن لسوء الحظ ، حدث خطأ ما مع المبدعين.
العثور على هذا المساعد الشخصي الرقمي في أعمالي القديمة ، أردت أن ponostalgize. لم يكن من الممتع للغاية أن تلعب ألعابًا قديمة (ومع ذلك ، فإنها لا تبدو خاصةً مقارنةً بألعاب جديدة) ، ولكن محاولة تطوير تطبيق ما وشعورها بأن أول مطورين للهواتف المحمولة كانوا أكثر إثارة للاهتمام.
فكرة التطبيق
نظرًا لطبيعة نشاطي ، فأنا متصل بأمن المعلومات وهذا الموضوع مهم للغاية بالنسبة لي ، فقد قررت إنشاء تطبيق في نفس المنطقة. أبسط (وعلى الأقل شيء مفيد؟) بدا لي التطبيق "مدير كلمة المرور". يتيح لك هذا التطبيق معرفة كيفية تطوير واجهة المستخدم الرسومية ، والعمل مع نظام الملفات (تخزين حاوية مشفرة بكلمات مرور).
كتشفير لحماية الحاوية ، قررت استخدام
تشفير XOR المزعوم . المفتاح هو كلمة السر الرئيسية. تعتمد قوة التشفير لهذا التشفير بشدة على طول المفتاح ، ولا يوصى باستخدامه في الأنظمة الخطيرة ، ومع ذلك ، فإن هذا التشفير يحتوي على واحد زائد خطير - من السهل جدًا تنفيذه. نظرًا لأن التطبيق تم إنشاؤه فقط لأغراض الترفيه ، فإن هذا التشفير مثالي.
منافس
يعد توصيل Cybiko Xtreme بكمبيوتر حديث عملية معقدة إلى حد ما ، لذلك قررت إجراء العمل على إطلاقات اختبار التطبيق على المحاكي (لحسن الحظ ،).
يظهر المظهر في الشكل أدناه.

هناك بعض الميزات لتنزيل التطبيقات إلى المحاكي. وفقًا للتعليمات الموجودة
هنا ، يمكن إرسال التطبيق باستخدام زر "إرسال" في نافذة "وحدة التحكم" ، ومع ذلك ، فبغض النظر عن كيف حاولت ، لم أفلح. يحتوي منتدى Planet Cybiko (لسوء الحظ المنتدى مغلق حاليًا) على رابط لأداة تسمح لك بإنشاء أقراص ذاكرة الوصول العشوائي Cybiko الخاصة بك. لذلك ، يكفي إنشاء قرص ذاكرة الوصول العشوائي (RAM) مع تطبيق مترجم وإعادة تشغيل المحاكي به.
SDK
لم يكن إيجاد SDK على الإنترنت أمرًا صعبًا للغاية. بعد تفريغ وتحليل بنية الدليل ، لفتت الانتباه أولاً إلى دليل المستندات ، والذي تبين أنه كان مفيدًا للغاية في شرح كيف ، من حيث المبدأ ، تجميع التطبيق ، والهيكل الذي يجب أن يحتوي عليه المشروع.
لقد وجدت العديد من التطبيقات عينة في الدليل التجريبي. كانت التطبيقات من دليل البرنامج التعليمي مثيرة للاهتمام بشكل خاص ، والتي أوضحت خطوة بخطوة مبادئ تطوير Cybiko Xtreme. كل شيء بسيط ويمكن الوصول إليه ومفهوم.
كتابة التعليمات البرمجية
ويرد أدناه هيكل المشروع الذي هو في الحد الأدنى من المحتوى:
هيكل المشروعproject res root.inf src source1.c … make.bat
يحتوي ملف root.inf على البيانات الوصفية للتطبيق ، وهي معلومات حول نوعه (التطبيق أو اللعبة أو المكتبة) والإصدار والحد الأدنى من إصدار نظام التشغيل (مثلما يحدث في Android) ، وهو اسم فريد وما إلى ذلك.
يحتوي ملف make.bat على أوامر لإنشاء التطبيق باستخدام sdk. في الواقع ، يتم التجميع بأكمله باستخدام أمر استدعاء Cybiko C Compiller:
"C:\Program Files (x86)\Cybiko\Cybiko_SDK\bin\vcc" -R0 src/*.c res/*.help res/*.inf -o passwords_master.app
ملاحظة مهمة: عند البناء على Windows 7 لـ vcc.exe ، يجب عليك تعيين وضع التوافق على Windows XP (Service Pack 2) ، وإلا فهناك مشاكل في بدء تشغيل برنامج التحويل البرمجي.
يحتوي دليل src على الكود المصدري للبرنامج. نتيجة الترجمة هي ملف * .app.
لوصف تطور التطبيق بأكمله ، بالتأكيد لا يكفي مقال واحد ، لذلك سأصف البداية فقط. إذا كان لدى شخص ما أسئلة ، اسأل في التعليقات أو في PM.
كل شيء يبدأ بتهيئة سياق التطبيق في الوظيفة الرئيسية عن طريق الاتصال:
التهيئة long init_module(struct module_t * main_module);
بعد التهيئة ، تحتوي بنية main_module على مؤشرات لسياق الرسومات وعملية التطبيق الحالية.
بعد ذلك ، تحتاج إلى إنشاء النموذج الرئيسي. ويتم ذلك على النحو التالي:
إنشاء نموذج رئيسي struct cFrameForm * ptr_main_form = malloc(sizeof(struct cFrameForm)); cFrameForm_ctor(ptr_main_form, "Passwords Master", main_module.m_process);
تحقق مما إذا كان هناك حاوية كلمة مرور على نظام الملفات:
فحص توافر الحاوية int check_database() { struct FileInput * ptr_file_input = (struct FileInput *) malloc(sizeof(struct FileInput)); FileInput_ctor_Ex(ptr_file_input, DATABASE_FILE); if (FileInput_is_good(ptr_file_input)) { FileInput_dtor(ptr_file_input, FREE_MEMORY); return 0; } FileInput_dtor(ptr_file_input, FREE_MEMORY); return -1; }
نعرض مربع حوار إدخال كلمة المرور الرئيسية. إذا كانت الحاوية موجودة بالفعل ، فنحن نحاول فك تشفير كلمة المرور الرئيسية المدخلة. إذا لم يكن هناك حاوية ، فاستخدم كلمة المرور الرئيسية المدخلة لإنشاء حاوية جديدة.
أدخل كلمة السر الرئيسية void get_master_password(struct cFrameForm * ptr_form, char * master_password) {
تم تصميم جميع الأعمال الإضافية للتطبيق حول دورة معالجة الرسائل من نظام التشغيل حتى يتم إغلاق النموذج الرئيسي.
معالجة الرسائل while (ptr_form->ModalResult != mrQuit) { struct Message * ptr_message = cWinApp_get_message(ptr_form->CurrApplication, 0, 1, MSG_USER); switch(ptr_message->msgid) { case MSG_SHUTUP:
فيما يلي نتيجة العمل عند بدء التشغيل في المحاكي:

مع شفرة المصدر الكامل ، إذا رغبت في ذلك
يمكن العثور عليها على جيثب على الرابط.إطلاق على جهاز حقيقي
كما قلت من قبل ، فإن التشغيل على جهاز حقيقي أمر صعب ، لأن برنامج مزامنة Cybiko مع جهاز كمبيوتر لا يدعم أنظمة التشغيل الحديثة. وفقًا للتعليمات الموجودة
هنا ، تمكنت من مزامنة Cybiko مع Windows 2000 الذي يعمل في Virtual Box. من الفروق الدقيقة ، يمكنني ملاحظة أن البرنامج لم ير Cybiko إلا عند توصيله عبر USB وإعادة توجيهه تلقائيًا إلى الجهاز الظاهري. ربما هذا هو السبب في أن مؤلف الدليل يكتب أنه يجب إضافته كجهاز دائم لهذا الجهاز في إعدادات USB Virtual Box.
نتيجة التزامن في الصورة أدناه:

يتم تقديم نتيجة طلبي في الفيديو التالي:
استنتاج
لدي الكثير من الذكريات الرائعة المرتبطة Cybiko Xtreme ، ومرة أخرى لمس هذا الجهاز الرائع كان لطيفًا بالنسبة لي. أريد أن أقول جزيل الشكر لمبدعيها على العمل المنجز. أود أيضًا أن أشكر منشئي المحاكي والمنتديات والمواقع على Cybiko ، وكذلك زوجتي لمساعدتهم في تصوير الفيديو وتحرير هذه المقالة.
شكرا لكم جميعا على اهتمامكم!