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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
String 避免在程序集中使用null终止字符串_String_Assembly_Hex_Nasm_Shellcode - Fatal编程技术网

String 避免在程序集中使用null终止字符串

String 避免在程序集中使用null终止字符串,string,assembly,hex,nasm,shellcode,String,Assembly,Hex,Nasm,Shellcode,我正在完成一项任务,我有以下汇编代码: PUSH EDX PUSH 0x7461 PUSH 0x6374 PUSH 0x656e 其中十六进制是“6E657464636174” 并使用nasm进行编译,以: 52 PUSH EDX 686174000

我正在完成一项任务,我有以下汇编代码:

    PUSH    EDX                           
    PUSH    0x7461
    PUSH    0x6374
    PUSH    0x656e
其中十六进制是“6E657464636174”

并使用nasm进行编译,以:

       52                          PUSH    EDX                           
       6861740000                  PUSH    0x7461
       6874630000                  PUSH    0x6374
       686E650000                  PUSH    0x656e
如何编写程序集,使左侧的输出中没有零?我想去掉空终止字符串

这是我写的第一个汇编程序,完整的noob


谢谢大家!

这些不是弦。它们是32位整数,其中较高的16位为0。您忘记了您处于32位模式。您应该将4个字符(8个十六进制数字)放入每个
push
。由于您有6个字符,因此将有2个未使用的字符,只需在其中添加除零以外的内容:)@interjay我正在尝试让堆栈中的ascii字符“netcat”将其填充到8个字节的前端或末尾(视情况而定)。例如,
push'tcat';按“##ne”
这是假设您想使用
push
。nasm理解ascii,不需要使用十六进制。但是,是的,这看起来是正确的(但没有检查十六进制:)。当然,如果填充前面,字符串将从内存中的
esp+2
开始,因此请确保稍后使用该地址。