0
我想在C中的shell中設置環境變量,但由於包含要存儲在其中的環境變量hax \x00
s中的數據的緩衝區。所以我正在尋找解決方案,並且所有這些解決方案都以使用setenv
或putenv
函數結束。問題是他們都停在第一個零,它認爲它是字符串的結尾。例如:在C中設置環境變量爲零
putenv("SomeVariable=\xAB\xAB\xAB\x00\xAB\xAB\xAB");
不會將最後三個\ xAB存儲到SomeVariable
。所以我想這個解決方案將使用一個函數,我可以給出字符串的初始地址和它的長度,這樣的函數是否存在?或者也許沿着C代碼運行一些asm
來完成這項工作?提前致謝。
你想要變量的值是多少?它在env或echo $ SomeVariable的輸出中的外觀如何? –
我想把一個shellcode放進去,它裏面有一些'\ x00' – Fabiotk
環境變量是C字符串。空字節終止該值。你不能改變這一點。沒有辦法在環境變量中嵌入空字節;它總是標誌着結局。 –