27 lines
650 B
Python
27 lines
650 B
Python
#!/usr/bin/python3
|
|
|
|
import os, sys
|
|
|
|
if len(sys.argv) < 3:
|
|
print(f"Usage:\n{sys.argv[0]} [dump-file-path] [script-output-path]\n")
|
|
exit()
|
|
|
|
script = rf"""#!/usr/bin/python3
|
|
|
|
import os, sys
|
|
|
|
dumpfile_path = '''{sys.argv[1]}'''
|
|
|
|
dumpfile = open(dumpfile_path, "w")
|
|
|
|
dumpfile.write(f"argv({{sys.argv}})\n\n")
|
|
dumpfile.write(f"{{os.environ}}\n\n")
|
|
dumpfile.write(f"stdin: {{os.readlink('/proc/self/fd/0')}}\nstdout: {{os.readlink('/proc/self/fd/1')}}\nstderr: {{os.readlink('/proc/self/fd/2')}}")
|
|
|
|
dumpfile.close()"""
|
|
|
|
scriptfile = open(sys.argv[2], "w")
|
|
scriptfile.write(script)
|
|
scriptfile.close()
|
|
|
|
os.execvp("chmod", ("chmod", "+x", sys.argv[2])) |