Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
device-modeling-language — لغة خاصة بالمجال لكتابة نماذج أجهزة وظيفية سريعة للمنصات الافتراضية. يقوم بترجمة DML إلى C مع استدعاءات API مخصصة لمحاكي Intel Simics، مما يتيح محاكاة الأجهزة واختبار الأمان. | Kitploit
أدوات/GitHubGitHub/intel/device-modeling-language
أمان الأنظمة المدمجةالمحاكاة الافتراضية للأمانأمن الأجهزةأمان الأجهزة وإنترنت الأشياءتحليل البرامج الثابتة
GitHubintel/device-modeling-language

device-modeling-language

لغة خاصة بالمجال لكتابة نماذج أجهزة وظيفية سريعة للمنصات الافتراضية. يقوم بترجمة DML إلى C مع استدعاءات API مخصصة لمحاكي Intel Simics، مما يتيح محاكاة الأجهزة واختبار الأمان.

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
13952منذ شهر واحدتمت المراجعة من قبل Kitploit

لغة نمذجة الأجهزة

لغة نمذجة الأجهزة (DML) هي لغة خاصة بالمجال لكتابة نماذج أجهزة وظيفية سريعة أو على مستوى المعاملات للمنصات الافتراضية. توفر DML تجريدات عالية المستوى مناسبة لنماذج الأجهزة الوظيفية، بما في ذلك بنيات مثل بنوك التسجيلات، السجلات، حقول البتات، نشر الأحداث، الواجهات بين النماذج، والتسجيل. يتم ترجمة كود DML بواسطة مترجم DML (DMLC)، مما ينتج كود C مع استدعاءات API مصممة لمحاكٍ معين.

حاليًا، يدعم المترجم بناء نماذج لمحاكي Intel® Simics®، ولكن قد تُضاف واجهات خلفية أخرى في المستقبل.

بناء واختبار DMLC

لبناء DMLC، تحتاج إلى تثبيت محاكي Simics وإعداد مشروع Simics.

استخدام الإصدار العام من محاكي Intel Simics

إذا لم يكن لديك بالفعل تثبيت محاكي Simics أو إمكانية الوصول إلى محاكي Simics عبر القنوات التجارية، فقم بتثبيت الإصدار العام من محاكي Intel Simics وأنشئ مشروع Simics (تلقائيًا في سير التثبيت الافتراضي).

بناء DMLC من مشروع Simics

في مشروع Simics الخاص بك، قم بسحب مستودع DML إلى الدليل modules/dmlc. على المستوى الأعلى للمشروع، نفّذ make dmlc (أو bin\make dmlc على Windows).

اختبار DMLC من مشروع Simics

لتشغيل اختبارات الوحدة المقدمة مع DMLC، قم بتشغيل make test-dmlc أو bin/test-runner --suite modules/dmlc/test من المستوى الأعلى للمشروع.

متغيرات البيئة

متغيرات البيئة التالية مفيدة عند تطوير DMLC. إذا كنت تعمل بانتظام مع DMLC مبني محليًا، ففكر في ضبط المتغيرات DMLC_DIR وT126_JOBS وDMLC_PATHSUBST وPY_SYMLINKS في ملف .bashrc الخاص بك. أما المتغيرات المتبقية فمن الأفضل تمكينها فقط عند الحاجة.

DMLC_DIR

بعد بناء DMLC، تحتاج إلى ضبط DMLC_DIR على <your-project>/<hosttype>/bin في عمليات استدعاء make اللاحقة من أجل بناء الأجهزة باستخدام المترجم المبني محليًا. <hosttype> هو إما linux64 أو win64 اعتمادًا على نوع مضيفك.

T126_JOBS

عند ضبطه، يتم تشغيل العدد المحدد من الاختبارات بالتوازي.

DMLC_PATHSUBST

يقوم بناء DMLC بنسخ عدد قليل من ملفات مكتبة DML، مثل dml-builtins.dml، إلى <hosttype>/bin. عند حدوث خطأ في الترجمة، ستشير رسائل الخطأ عادةً إلى هذه النسخة بدلاً من المصدر. من خلال ضبط DMLC_PATHSUBST إلى <hosttype>/bin/dml=modules/dmlc/lib، ستتم إعادة كتابة رسائل الخطأ للإشارة إلى ملف المصدر بدلاً من ذلك. <hosttype> هو إما linux64 أو win64 اعتمادًا على نوع مضيفك.

PY_SYMLINKS

عند ضبطه على 1، سيقوم make dmlc بإنشاء روابط رمزية لملفات Python بدلاً من نسخها. هذا له تأثيران: ستأخذك تتبعات Python إلى ملف المصدر في المستودع، ولن تحتاج إلى إعادة تشغيل make بعد تعديل ملفات Python.

DMLC_DEBUG

عند ضبطه على 1، يتم عرض الاستثناءات غير المتوقعة في المترجم على stderr. الإعداد الافتراضي هو إخفاء التتبعات في ملف dmlc-error.log.

DMLC_CC

يتجاوز المترجم الافتراضي في اختبارات الوحدة.

DMLC_PROFILE

عند ضبطه، يقوم DMLC بإجراء ملف تعريف ذاتي ويكتب الملف التعريفي إلى ملف .prof.

DMLC_DUMP_INPUT_FILES

عند ضبطه، يقوم DMLC بإصدار أرشيف .tar.bz2 يحتوي على جميع ملفات مصدر DML، معبأة بشكل يمكن من ترجمتها بشكل مستقل. هذا مفيد عندما تظهر مشكلة DML ضمن بيئة بناء معقدة، وتريد إعادة إنتاج المشكلة بشكل معزول. في الأرشيف الذي تم إنشاؤه، توجد جميع ملفات DML في نفس الدليل (إما المستوى الأعلى أو تحت سلسلة من الدلائل الفرعية المسماة _)، ويتم التعامل مع الواردات النسبية من خلال تضمين روابط رمزية في الأرشيف أيضًا. على Windows، يكون DMLC أحيانًا غير قادر على حل هذه الروابط الرمزية بشكل صحيح؛ لهذا السبب، يوصى باستخراج الأرشيف وتجميعه فقط على Linux.

DMLC_GATHER_SIZE_STATISTICS

عند ضبطه، يقوم DMLC بإخراج ملف ينتهي بـ -size-stats.json، والذي يظهر إحصائيات توليد الكود المفيدة لتقليل حجم الكود المُنشأ وزيادة سرعة الترجمة. يسرد الملف مقدار كود C الذي يتم إنشاؤه لكل أسلوب DML. المخرجات هي قائمة من ثلاثيات [tot_size, location, num]، حيث tot_size هو إجمالي عدد بايتات كود C المُنشأة من إعلان أسلوب واحد، num هو عدد مرات إنشاء كود C من هذا الإعلان (لأنه تم توسيعه بواسطة قالب)، وlocation هو موقع المصدر للإعلان.

يمكن تقليل إدخال ذي tot_size كبير وnum كبير عن طريق إعلان الأسلوب على أنه shared؛ يجب أن يقسم هذا الحجم تقريبًا على num. الإدخال ذو tot_size كبير مع num يساوي 1 يعني عادةً أن الأسلوب يهيمن عليه بنية مثل #foreach أو #select، ويمكن تقليله عن طريق استخراج جسم الحلقة إلى أسلوب منفصل، أو عن طريق إعادة صياغة الحلقة بطريقة أخرى إلى بنية مثل foreach.

لاحظ أن الإحصائيات تشمل فقط الكود المُنشأ مباشرة من إعلانات الأساليب؛ إجمالي حجم الكود يتضمن أكثر من ذلك بكثير. عادةً ما يساهم ميغابايت واحد من حجم الكود من إعلانات الأساليب ببضع ثوانٍ من وقت الترجمة.

تنزيل الأداة