从 MSFvenom(xor x64)解码 Shellcode?

Decoding Shellcode from MSFvenom(xor x64)?

Encoding the shellcode three times using the x64 xor Encoder

我正在编写自己的 exploit,我想知道在我的程序中添加 shellcode 时是否需要对其进行解码,或者 shellcode 中是否已经包含解码器存根?如果我需要解码,我该怎么办,没有给出密钥?

没有。您不必解密 shellcode。我 运行 执行相同的命令并得到如下内容

   0:    48 31 c9                 xor    rcx, rcx
   3:    48 81 e9 b6 ff ff ff     sub    rcx, 0xffffffffffffffb6
   a:    48 8d 05 ef ff ff ff     lea    rax, [rip+0xffffffffffffffef]        # 0x0
  11:    48 bb af cc c5 c0 90     movabs rbx, 0x29153c90c0c5ccaf
  18:    3c 15 29  
  1b:    48 31 58 27              xor    QWORD PTR [rax+0x27], rbx
  1f:    48 2d f8 ff ff ff        sub    rax, 0xfffffffffffffff8
  25:    e2 f4                    loop   0x1b

这是 shellcode 的起始部分,后面是 xor 的第二次迭代有效负载。在解密时,我看到它附有一个类似的存根。所以你不必解密。只需将执行指向缓冲区的开头。