Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 空自由外壳代码_Shell_Assembly_Shellcode - Fatal编程技术网

Shell 空自由外壳代码

Shell 空自由外壳代码,shell,assembly,shellcode,Shell,Assembly,Shellcode,我正在尝试将我编写的汇编程序转换为无空外壳代码 然而,我不确定如何进行这方面的某些指示。 其中一些(英特尔语法)包括: 及 我想避免使用一千个呼叫inc eax。我在想,也许有一些创造性的xoring值,第二,也许如果有一个标志设置,使它只需要8字节的常数 感谢您的帮助 push 0x1000 如果你能腾出一个寄存器(而且你不介意重击这些标志),那么类似这样的东西怎么样: xor eax, eax inc eax shl eax, 12 push eax 这里的零不是来自常数,而是来自寻址

我正在尝试将我编写的汇编程序转换为无空外壳代码

然而,我不确定如何进行这方面的某些指示。 其中一些(英特尔语法)包括:

我想避免使用一千个呼叫inc eax。我在想,也许有一些创造性的xoring值,第二,也许如果有一个标志设置,使它只需要8字节的常数

感谢您的帮助

push 0x1000
如果你能腾出一个寄存器(而且你不介意重击这些标志),那么类似这样的东西怎么样:

xor eax, eax
inc eax
shl eax, 12
push eax

这里的零不是来自常数,而是来自寻址模式。尝试:

xchg eax, ecx
mov BYTE [ecx],0x31
xchg eax, ecx
xor eax, eax
inc eax
shl eax, 12
push eax
mov BYTE [eax],0x31
xchg eax, ecx
mov BYTE [ecx],0x31
xchg eax, ecx