encrypt_shellcode

将原始shellcode加密.

函数名

encrypt_shellcode

Input

{
  "shellcode": []
}

shellcode为字节数组, 是原始shellcode.

Output

{
  "encrypted": [],
  "pass": [
    {
      "holder": [],
      "replace_by": []
    },
    {
      "holder": [],
      "replace_by": []
    }
  ]
}

encrypted为字节数组, 是加密后的shellcode.

pass为以下json结构数组, 用于patch二进制植入物模板中的加密密码(有的加密方式有多个密码, 所以是一个数组):

{
    "holder": [],
    "replace_by": []
}

holder为字节数组, 是二进制植入物模板解密函数中的密码占位符. 分享Plug-in时请告知如何正确设置解密函数中的密码. 比如plug-in仓库中的aes256-gcm有如下READEME内容:

key: $$KKKKKKKKKKKKKKKKKKKKKKKKKKKK$$
nonce: $$NNNNNNNN$$

上述内容表明使用aes256-gcm Plug-in, 需要将二进制植入物模板AES256-GCM解密函数中的key设置为$$KKKKKKKKKKKKKKKKKKKKKKKKKKKK$$, nonce设置为$$NNNNNNNN$$.

replace_by为字节数组, 是加密密码. 可以在Plug-in中生成随机加密密码, 使每个生成的最终植入物都有唯一的加密密码.