使用 C 程序评估一段示例 shellcode 并不复杂。它将涉及将 shellcode 存储在字符数组中,创建函数指针,类型转换指针并使其指向数组并调用函数(指针)。
这就是它的工作原理,假设您可以在以下位置执行内存nastycode[]
:
/* left harmless. Insert your own working example at your peril */
char nastycode[] = "\x00\x00\x00...";
void (*execute_ptr) (void);
execute_ptr = (void *)nastycode; /* point pointer at nasty code */
execute_ptr(); /* execute it */
有什么方法可以使用 Python 代码做同样的事情吗?或者 Python 代码转换为字节码的事实是否使这样的努力变得不可能?