من در مورد اصول ساخت کدهای پوسته مطالعه میکنم. من یک سوال در مورد آن دارم
در کتابفروشی من، نویسنده کد پوسته خود را در یک متغیر محیطی ذخیره می کند و مسیر آن را با استفاده از strcpy () در یک برنامه می نویسد.
وقتی او کد پوسته خود را می سازد، بایت های صفر را حذف می کند. او می گوید این به این دلیل است که strcpy () در بایت های صفر متوقف می شود.
با این حال، من فکر می کنم، چون strcpy () مسیر مسیر محیط را (ذخیره کد شل خود را) می گیرد، اگر کد پوسته آن بایت صفر باشد، مهم نیست. من فکر می کنم هدف او تغییر آدرس برگشت به مسیر متغیر محیطی است.
در کتاب درسی، کد پوسته ای که دارای بایت های خالی است در این وضعیت کار نمی کند، اما یک کد پوسته پوسته پوسته می کند.
من نمیتوانم دلیل این را بدانم که چرا باید در این وضعیت بایستی صفر را حذف کنیم.