هذا هو الأمر rabbitsign الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
rabbitsign - التوقيع على طلبات الآلات الحاسبة الخاصة بالرسم البياني لمنظمة الشفافية الدولية
موجز
الأرانب [ الخيارات ] [ -o التطبيق ] [ -k ملف مفتاح ] ملف سداسي
الأرانب [ الخيارات ] [ -k ملف مفتاح ] -c ملف سداسي
الوصف
الأرانب هو تطبيق لخوارزميات توقيع رابين و RSA لشركة Texas Instruments ، مثل
تستخدم في حاسبات الرسوم البيانية TI-73 و TI-83 Plus و TI-84 Plus و TI-89 و TI-92 Plus.
تُستخدم هذه الخوارزميات لتوقيع تطبيقات Flash وأنظمة التشغيل بحيث يكون ملف
يمكن للآلة الحاسبة التعرف عليها على أنها صالحة.
الأرانب، مثل برامج التوقيع الرسمية لشركة Texas Instruments ، يحتاج إلى مفتاح خاص (زوج
من الأعداد الأولية الكبيرة) لتوقيع التطبيقات. من أجل قبول التطبيق ، يجب أن يكون ملف
يجب أن يكون المفتاح العمومي المقابل (منتجهم) موجودًا على الآلة الحاسبة. اعتبارًا من هذا
الكتابة ، المفتاح الخاص `` برنامج كومبيوتري '' رقم 0104 ، المستخدم لتوقيع طلبات
يتوفر TI-83 Plus و TI-84 Plus من خلال TI's SDK. للأسف ، توقيع نظام التشغيل
مفاتيح ، بالإضافة إلى مفاتيح توقيع التطبيق لـ TI-73 و TI-89 و TI-92 Plus ، لم يتم
تم إصداره ، مما يعني أن TI فقط هي التي يمكنها توقيع التطبيقات وأنظمة التشغيل لهذه الآلات الحاسبة.
OPTIONS
-a محاولة مطابقة إخراج Peter-Martijn Kuipers ' تطبيقات برنامج للاختبار
المقاصد. سيحتوي ملف الإخراج الناتج على إنهاء سطر بنمط Unix ، و
وبالتالي لن يكون متوافقًا مع جميع البرامج. هذا الخيار غير مستحسن ل
الاستخدام العادي.
-b افترض أن ملفات الإدخال هي ملفات ثنائية خام. إذا لم يتم إعطاء هذا الخيار ، الملف
النوع يتم اكتشافه تلقائيًا.
-c لا توقع على التطبيقات ؛ بدلاً من ذلك ، تحقق من أن تواقيع التطبيقات المحددة هي
صالح. حالة الخروج هي 0 إذا كانت جميع التطبيقات صالحة ، أو 1 إذا فشل تطبيق واحد أو أكثر ، أو 2 إذا
يوجد خطأ غير رياضي.
-f تجاهل الأخطاء غير الفادحة ، واجبر التطبيق على التوقيع إن أمكن. (الجميع
من هذه الرسائل موجودة لسبب ما ، ومع ذلك ، فمن المحتمل أن يكون التطبيق الخاص بك
يولد أيًا منها ، إما أنه سيفشل أيضًا في التحقق من الصحة أو يؤدي إلى تعطل الآلة الحاسبة.
لقد تم تحذيرك.)
-g اكتب ملف الإخراج بتنسيق GraphLink `` TIFL ''. (بشكل افتراضي وللتاريخ
تمت كتابة الأسباب والتطبيقات وأنظمة تشغيل TI-73 و TI-83 Plus بلغة TI Hex
التنسيق بدلاً من ذلك ؛ يمكنك استخدام com.packxxk(1) لتحويل هذه الملفات إلى تنسيق TIFL.)
دائمًا ما تتم كتابة التطبيقات وأنظمة تشغيل TI-89 و TI-92 Plus بتنسيق TIFL. يرى
تطبيق FILE صيغ أدناه لمزيد من المعلومات.
-k ملف مفتاح
اقرأ التوقيع و / أو مفاتيح التحقق من الملف المحدد. يجب أن يكون هذا الملف في ملف واحد
من التنسيقات المستخدمة بواسطة أدوات SDK الخاصة بـ TI. (يرى KEY FILE صيغ أدناه.) افتراضيًا ،
الأرانب يبحث عن المفتاح المسمى في عنوان التطبيق (على سبيل المثال ، 0104.key for
تطبيقات TI-83 Plus `` كومبيوتري ''.)
-K id ابحث عن المفتاح مع المعطى id (رقم سداسي عشري صغير) بدلاً من
المعرف المحدد في عنوان التطبيق.
-n محاولة توقيع البرنامج كما هو ، دون تعديل العنوان. (قد يكون هذا الخيار
لا تنتج ملفًا تقبله الآلة الحاسبة ؛ الغرض منه
الاختبار والتوقيعات ذات الأغراض الخاصة ، وليس لتوقيع التطبيق العادي.)
-o ملف
حدد ملف الإخراج. بشكل افتراضي ، تتم تسمية ملفات الإخراج بأخذ اسم
ملف الإدخال ، وإزالة أي لاحقة ، وإضافة ".app" أو ".8xk" لاحقة حسب
على ما إذا كان -g محدد. (إذا كان ملف الإدخال يحتوي بالفعل على ".app" أو ".8xk"
لاحقة ، تم إدراج "-signed" ، لذا فإن "myapp.8xk" يصبح "موقع myapp.8xk".)
إذا تم تحديد "-" كملف إدخال ، فهذا يشير إلى الإدخال القياسي ، و
يتم كتابة النتيجة الموقعة بشكل افتراضي إلى الإخراج القياسي.
-p إصلاح عنوان صفحات التطبيق. لا يتم ذلك افتراضيًا بسبب وجود صفحات غير صحيحة
header بشكل عام علامة على وجود مشكلة أكثر خطورة.
-P إذا انتهى التطبيق بالقرب من حدود الصفحة ، أضف صفحة إضافية للاحتفاظ بها
التوقيع. (لا يُسمح بتوقيعات التطبيق على TI-73 و TI-83 Plus
لتوسيع حدود الصفحة.) ضع في اعتبارك أن هذا إهدار كبير ، لأنه
يستهلك 16384 بايت من فلاش ليحمل ما يقرب من 69 بايت من البيانات ؛ إذا كان لديك
التطبيق في هذه الحالة ، يجب أن تفكر في محاولة تقليل حجمه
قليلاً ، أو بدلاً من ذلك ، إضافة المزيد من البيانات للاستفادة من الفلاش الإضافي
.
-q لا تطبع رسائل تحذير غير فادحة.
-r أعد التوقيع على تطبيق تم توقيعه مسبقًا (على سبيل المثال ، تجاهل التوقيع السابق من قبل
التوقيع.)
-R n لتوقيع تطبيقات TI-73 و TI-83 Plus ، استخدم رقم الجذر n (0 ≥ n ≤ 3) بالأحرى
من الرقم الجذر الافتراضي 0. جميع الجذور الأربعة صالحة ، على الرغم من أنها مميزة ،
التوقيعات ، لذا فإن هذا الخيار مخصص بشكل أساسي لتصحيح الأخطاء.
يتم حساب الجذر 0 بحيث يكون مطابقًا لـ m^ [(p+1) / 4] modulo p m^ [(q+1) / 4]
مودولو q. الجذر 1 هو نفي الجذر 0 modulo p، جذر 2 نمط النفي q,
والجذر 3 النفي كلاهما modulo p و modulo q.
هذا الخيار ليس له أي تأثير عند توقيع أنظمة تشغيل أو تطبيقات TI-89/92 Plus ، والتي
استخدم خوارزمية RSA بدلاً من رابين.
-t نوع
حدد نوع البرنامج صراحة (على سبيل المثال ، "8xk" لتطبيق TI-83 Plus ،
أو "73u" لنظام تشغيل TI-73.) السلوك الافتراضي هو استنتاج ملف
نوع البرنامج من اسم ملف الإدخال. (إذا لم يكن ملف الإدخال يحتوي على ملف
اللاحقة المعترف بها ، يتم تخمين النوع بناءً على محتويات البرنامج
رأس.)
-u قم بتعطيل الكشف التلقائي عن الصفحة وافترض أن ملفات الإدخال لم يتم فرزها. هذا يعنى
يجب تحديد حدود هذه الصفحة بشكل صريح. (يرى تطبيق FILE صيغ
أدناه.) هذا الخيار ليس له تأثير في الثنائي (-b) الوضع.
-v كن مطولا اطبع أسماء التطبيقات وتوقيعاتها فور توقيعها.
استعمل -vv لمزيد من المعلومات التفصيلية حول الحساب.
--مساعدة اطبع ملخصًا للخيارات.
--الإصدار
طباعة معلومات الإصدار.
تطبيق FILE صيغ
إنتل عرافة
Intel hex هو تنسيق ملف ASCII قياسي يستخدمه العديد من مبرمجي PROM ، وهو شائع
تنسيق إخراج المجمع. يتكون كل سطر (أو `` سجل '') مما يلي:
:NNAAAATTDDDDDD ... CC
: الحرف الأول من السطر هو نقطتان ؛ هذا يستخدم فقط لتحديد
تنسيق.
NN الحرفان التاليان هما عدد بايتات البيانات المكتوبة بهذا السطر
الأحرف الكبيرة ASCII الست عشري.
AAAA الأرقام الأربعة التالية هي عنوان البيانات الموجودة على هذا السطر. الأرانب فقط
ينظر إلى أدنى 14 بتًا من هذه القيمة.
TT يحدد هذان الرقمان `` نوع '' السجل. يعرف عرافة إنتل عدة
أنواع السجلات لنماذج العنونة المختلفة ؛ الأنواع الوحيدة ذات المعنى
حاسبات TI هي أنواع 00 (بيانات عادية) و 01 (نهاية الملف.)
اليوم ... 2*NN تتبع الأرقام السداسية ، البيانات الفعلية.
CC أخيرًا ، تتم إضافة المجموع الاختباري المقلوب ، بحيث يتم جمع كل البايتات الموجودة في ملف
يعطي الخط إجمالي صفر معامل 256 (كملحق ، الأرانب يسمح لك
استخدم حرفين كبيرتين X بدلاً من المجموع الاختباري.)
نظرًا لأن العنوان هو 16 بتًا فقط ، فلا يمكن لهذا التنسيق أن يمثل التطبيقات بشكل لا لبس فيه
أكبر من 64 كيلو بايت. لتمكين إنشاء تطبيقات متعددة الصفحات ، الأرانب
يحاول اكتشاف حدود الصفحة تلقائيًا ، ويبدأ صفحة جديدة لكل حقل بـ
عنوان صفر. وبالتالي ، لإنشاء تطبيق متعدد الصفحات ، يمكنك ببساطة ربط العديد من تطبيقات Intel
ملفات Hex ، على سبيل المثال
القط page0.hex page1.hex | rabbitsign - -o complete.app
لن يعمل هذا إلا إذا تم فرز السجلات بشكل صحيح داخل كل صفحة. (إذا كان ملف
لا يقوم المجمع بإنشاء سجلات بالترتيب ، يمكنك فرز الحقول بنفسك باستخدام ملف
أمر مثل "Sort -k1.8,1.9،1.4,1.7 -kXNUMX،XNUMX".)
لإيقاف هذا الاكتشاف التلقائي للصفحة ، استخدم ملف -u خيار. في هذه الحالة ، يجب عليك
تحديد حدود الصفحة بشكل صريح باستخدام تنسيق TI Hex.
TI عرافة
سداسية `` TI '' هي امتداد لعرافة Intel التي توفر تمثيلاً لا لبس فيه لـ
تطبيقات متعددة الصفحات. يضيف سجلات النموذج
: 0200000200إن إن سي سي
التي تشير إلى أن البيانات اللاحقة يتم وضعها في رقم الصفحة النسبي NN. (تذكر
أن TI-83 و 84 Plus يقومان بتثبيت التطبيقات `` للخلف '' ، لذلك إذا كانت الصفحة 0 ذات صلة
المخزنة في الصفحة 69 المطلقة ، سيتم تخزين الصفحة النسبية 1 في الصفحة 68 المطلقة ، وهكذا
إيابا.)
يمكن لبعض المجمعات إنشاء بيانات متعددة الصفحات باستخدام سجلات من النوع 4 بدلاً من النوع 2 ؛
الأرانب يعاملها على أنها مكافئة للنوع 2.
للتوافق مع البرامج الأخرى التي تضع افتراضات معينة حول التنسيق ،
الأرانب ستكتب 32 بايت في كل سطر ، وستنتهي الأسطر بعربة على شكل DOS
العودة وخط التغذية.
رابط الرسم البياني تيفل
يتكون تنسيق GraphLink القياسي (الأحدث) من رأس ثنائي 78 بايت تتم إضافته
إلى بداية ملف سداسي عشري أو ملف ثنائي. محتويات هذا العنوان هي كما يلي:
0x00-07
السلسلة "** TIFL **".
0x08 رقم الإصدار الرئيسي (`` معرف التطبيق '') للتطبيق.
0x09 رقم الإصدار الثانوي (`` إصدار التطبيق '') للتطبيق.
إشارات 0x0A ؛ يبدو أنه يهدف إلى توضيح ما إذا كانت محتويات الملف ثنائية
(0) أو TI Hex (1). ومع ذلك ، لا يتم تعيين هذه القيمة باستمرار بواسطة برامج أخرى.
حقل نوع الكائن 0x0B ؛ على ما يبدو يشير إلى شيء ما حول نوع البيانات. تعيين
إلى 0x88 في معظم ملفات TI-73 و TI-83 Plus ؛ مضبوط على 0 في ملفات TI-89 و TI-92 Plus.
0x0C-0F
شهر عشري مشفر ثنائي (بايت واحد) ، يوم (بايت واحد) ، وسنة (XNUMX بايت ، كبير
endian) عندما تم توقيع التطبيق.
0x10 طول اسم التطبيق.
0x11-18
اسم التطبيق.
0x19-2F
محجوز ، مضبوط دائمًا على صفر.
نوع الحاسبة 0x30 (0x73 = TI-83 Plus ، 0x74 = TI-73 ، 0x88 = TI-92 Plus ، 0x98 = TI-89.)
0x31 نوع البيانات (0x23 = ترقية نظام التشغيل ، 0x24 = تطبيق ، 0x25 = شهادة.)
0x32-49
محجوز ، مضبوط دائمًا على صفر.
0x4A-4D
الطول النهائي الصغير للبيانات التالية (طول الملف السداسي ، وليس على-
حجم الآلة الحاسبة للتطبيق.)
توجد أيضًا ملفات TIFL متعددة الأجزاء ، والتي تتكون ببساطة من ملفين أو أكثر من ملفات TIFL
مسلسلة معًا. (على سبيل المثال ، اتفاقية ترخيص برنامج أو ملف شهادة
يمكن إرفاقها بتطبيق.) الأرانب يتعامل مع هذه الملفات بطريقة محدودة: هو
سيقرأ القسم الأول فقط بنوع بيانات معروف ، متجاهلًا أي بيانات أخرى في
الملف. الأرانب لا يمكن إنشاء ملفات TIFL متعددة الأجزاء ، ولكن يمكن إنشاؤها باستخدام
com.packxxk(1) (أو ببساطة استخدام قط(1).)
ثنائي
الأرانب يمكنه أيضًا قراءة ملفات التطبيقات الثنائية ؛ من المفترض أن تكون متجاورة ، لذا متى
التوقيع على تطبيق متعدد الصفحات ، يجب ملء كل صفحة باستثناء الصفحة الأخيرة بحجم 16 كيلو بايت كامل.
KEY FILE صيغ
تحتوي الملفات الرئيسية على البيانات اللازمة للتوقيع والتحقق من صحة التطبيقات. (الجزء
من ملف المفتاح المستخدم للتحقق يُعرف بالمفتاح `` العام '' ؛ الجزء المستخدم ل
التوقيع هو المفتاح `` الخاص ''. يتم تخزين المفتاح العام فقط على الآلة الحاسبة نفسها.)
تأتي ملفات المفاتيح الرسمية من TI في نوعين ، يُعرفان بتنسيقات `` Rabin '' و `` RSA ''.
نلاحظ أن الأرانب يدعم حاليًا استخدام ملفات مفتاح من نوع رابين لإنشاء RSA
التوقيعات ، ولكن ليس العكس.
رابين مفتاح شكل
عادةً ما يتم استخدام تنسيق ملف مفتاح رابين لتوقيع تطبيق TI-73 و TI-83 Plus
مفاتيح. يتكون من ثلاثة أسطر ، كل منها يحتوي على عدد صحيح كبير. السطر الأول هو
المفتاح العمومي، n؛ الثاني والثالث هما عاملاه ، p q.
يبدأ كل سطر برقمين سداسي عشريين ، مع إعطاء طول الرقم بالبايت ،
متبوعة بالبايتات نفسها ، مكتوبة بالنظام الست عشري بترتيب صغير.
RSA مفتاح شكل
عادةً ما يتم استخدام تنسيق ملف مفتاح RSA لتوقيع التطبيق TI-89 و TI-92 Plus
مفاتيح. يتكون من ثلاثة أسطر: معرف المفتاح ، المفتاح العام nو الأس التوقيع
d. (d هو معكوس أس التحقق ، 17 ، modulo ϕ (n) ، وبالتالي حساب d
مكافئ حسابيًا للتخصيم n.)
معرف المفتاح هو رقم سداسي عشري قصير ، والذي يجب أن يتطابق مع محتويات 811x
حقل الرأس. الارقام n d مكتوبة كأعداد صحيحة كبيرة ، كما في مفتاح رابين
تنسيق.
استخدم توقيع الأرانب عبر الإنترنت باستخدام خدمات onworks.net