ما هو كود نورمبرج؟
كود نورمبرج Nuremberg Code</b>هو أحد المبادئ الاساسية للاخلاق في التجارب على الإنسان، تم وضعه خلال محاكمة أطباء النازية في مدينة نورمبرج الألمانية بعد هزيمة الالمان في الحرب العالمية الثانية، ويعتبر حتى اليوم ، الأساس في مجال اعداد وتتنفيذ التجارب الطبية والنفسية على بني الانسان.
انظر كذلك كود أبجدي رقمي
في حالات معينة، تقوم إحدى العمليات المستهدفة بفلترة أي وحدة بايت من كود القشرة الذي تم حقنه والذي لا يمثل رمزًا أبجديا رقميا أو قابلا للطباعة. وفي ظل هذه الحالات، يكون نطاق التعليمات التي يمكن استخدامها لكتابة كود قشرة محدودًا للغاية. وقد تم نشر حل لهذه المشكلة بواسطة Rix في مجلة ]]Phrack 57يونيكودللسماح]] بتدويل النص. ومع ذلك، ستقوم تلك البرامج بتحويل سلاسل [[أسكي]] إلى يونيكود قبل معالجتها. وتستخدم سلاسل يونيكود التي تم ترميزها في [[UTF-16]] وحدتي بايت لترميز كل رمز (أو أربعة بايت لبعض الرموز الخاصة). وعند تحويل سلسلة [[UTF-16]] إلى UTF-16، يتم إدخال وحدة بايت صفرية بعد كل بايت في السلسلة الأصلية. وقد أثبت Obscou في مجلةPhrack 61[[ أنه بالإمكان كتابة كود قشرة بمقدوره أن يعمل بنجاح بعد عملية التحويل هذه. وهناك برامج يمكنها ترميز أي كود قشرة إلى كود قشرة دليل UTF-16، وذلك استنادًا لنفس مبدأ جهاز فك الترميز الصغير ذاتي التعديل الذي يفك ترميز كود القشرة الأصلي.
تتم كتابة أغلب أكواد القشرة في [[لغة الآلة|لغة الآلةنظرًا]] لأن المستوى المنخفض الذي تتم مهاجمة الثغرة الأمنية عنده يمنح المهاجم وصولاً للعملية. لذا يتم إنشاء كود قشرة لاستهداف مجموعة واحدة محددة من [[وحدة المعالجة المركزية|وحدة المعالجة المركزيةو]][[نظام تشغيل]] و[[حزمة خدمات]]، يطلق عليها [[منصة حاسوب]]. وبالنسبة لبعض الهجمات، بسبب القيود المفروضة على كود القشرة من قبل العملية المستهدفة، يلزم إنشاء كود قشرة محدد للغاية. ومع ذلك، فليس من المستحيل بالنسبة لأحد أكواد القشرة أن يعمل لتنفيذ عدة هجمات، وحزم خدمات وأنظمة تشغيل بل وحتى معالجات. ويتم الوصول لتنوع الاستخدامات هذا عبر إنشاء إصدارات متعددة من كود القشرة تستهدف إصدارات الأنظمة الأساسية وتقوم بإنشاء عنوان يتفرع إلى الإصدارات الصحيحة لنظام التشغيل الذي يعمل الكود عليه. وعند تنفيذه، يتصرف الكود بشكل مختلف عن مع أنظمة التشغيل المختلفة ويقوم بتنفيذ الجزء الصحيح من كود القشرة للنظام الأساسي الذي يعمل عليه.