If you do not find what you're looking for, you can use more accurate words.
تتم كتابة أغلب أكواد القشرة دون استخدام وحدات بايت ذات قيمة خالية لأنها تهدف لأن يتم حقنها داخل عملية مستهدفة من خلال سلاسل تنتهي بقيمة خالية. وعند نسخ سلسلة تنتهي بقيمة خالية، فسيتم نسخها حتى تشمل أول قيمة خالية إلا أنها لن تعالج وحدات البايت التالية من كود القشرة. وعند حقن كود القشرة الذي يشتمل على قيم خالية بهذه الطريقة، فسيتم حقن جزء واحد فقط من كود القشرة، مما يجعله غير قادر على العمل بنجاح. لإنتاج كود قشرة بدون قيم خالية من كود قشرة يشتمل على وحدات بايت ذات قيمة خالية، يمكن استبدال تعليمات الماكينة التي تشتمل على أصفار بتعليمات لها نفس التأثير لكنها بدون قيم خالية. على سبيل المثال، في هيكل أي إيه-32 يمكن استبدال هذه التعليمات:
B8 01000000 قائمة أوامر إكس 86 EAX,1 // يضبط المسجل EAX عند قيمة 0x000000001
والتي تشتمل على أصفار كجزء من تكوينها الحرفي (يتوسع 1 ليصير 0x00000001) عبر تلك التعليمات:
33C0 XOR EAX,EAX // يضبط المسجل EAX عند قيمة 0x000000000 40 INC EAX // يزيد المسجل EAX إلى 0x00000001
والتي تتمتع بنفس التأثير لكنها تحتاج لوحدات بايت أقل للترميز كما أنها بدون قيم خالية.