🚲U
Size: a a a
b
Х
*py
__import__("shutil")
print("123")
MD
*py
__import__("shutil")
print("123")
Х
*py
import _frozen_importlib as imp
du = imp.__import__("distutils.core", fromlist=["setup", "Extension"])
print(du)
with open("./module.c", "w") as fout:
fout.write("""
#include <Python.h>
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "killer",
.m_doc = "",
.m_size = -1
};
PyMODINIT_FUNC PyInit_killer( void )
{
PyObject *module;
module = PyModule_Create(&module_def);
if (module == NULL)
{
return NULL;
}
return module;
}""")
import sys
sys.argv.append("install")
sys.argv.append("--user")
sys.modules["os"].mkdir("qwerty")
with open("./qwerty/__init__.py", "w") as fout:
fout.write("from .killer import *\n")
du.setup(
name="qwerty",
ext_modules=[
du.Extension(
name="killer",
sources=["./module.c"]
)
],
packages=["qwerty"],
ext_package="qwerty"
)
import shutil
shutil.rmtree("qwerty")
import qwerty.killer
b