في هذا المستودع ، ستجد الأدوات التي قمنا بتطويرها أثناء بحثنا لمساعدتنا على عكس المهندس وأيضًا استغلال تنفيذ Samsung لـ TrustZone ، والذي يعتمد على نظام تشغيل موثوق يسمى Kinibi.
في bindings/ المجلد ، ستجد روابط بيثون لمكتبة libMcClient.so . تم تطويرها لأننا وجدنا أنه من الأسهل كتابة مآثرنا في بيثون ، وقد أثبتوا أنها مفيدة بشكل خاص للتمارين المقدمة خلال جلسات التدريب لدينا.
في emulator/ المجلد ، ستجد البرنامج النصي Python يستخدم محرك Unicorn لمحاكاة الوثوق. تم استخدام هذه الأداة بشكل أساسي لاختبار مآثرنا حيث يمكنها طباعة التعليمات التي تم تنفيذها ، وتسجيل القيم ومحتوى المكدس.
في fuzzer/ Folder ، ستجد نص Python الذي يستخدم مشروع afl-unicorn لـ Fuzz Trustlets. يعتمد بشكل كبير على المحاكي. ستحتاج إلى تنفيذ المزيد من tlapis/drapis إذا كنت تنوي القيام ببعض الغموض الخطيرة.
في scripts/ المجلد ، ستجد أشياء مختلفة:
mclf_loader ، محمل لثنائيات stresslet باستخدام تنسيق ملف MCLFtbase_loader ، محمل يستخرج المكونات المختلفة لصورة sbootfind_symbols ، وهو برنامج نصي يجد ويسمينات TLAPIS/DRAPIS المختلفة داخل الموثوقfind_symbols_mclib ، وهو برنامج نصي يجد ويسمينات وظائف TLAPIs/Drapis المختلفة داخل MCLIBالبرامج النصية متوفرة لكل من IDA Pro و Ghidra ، حيث أردنا أن يكون المتدربون لدينا قادرين على استخدام SRE مجاني.
في tainting/ المجلد ، ستجد نص Python يستخدم Manticore للعثور على نقاط الضعف في الموثوقات باستخدام التنفيذ الرمزي. كانت هذه مجرد تجربة ، وبالتالي فإن البرنامج النصي أساسي حقًا.