我正在编写一个调用 LaTeX 的程序。我认为这个程序只能包含一个样式文件。
我的问题是“我们可以写破坏性的样式文件中的代码?”。例如,我们可以编写删除文件或系统的代码吗?
答案1
是的:
TeX 可以打开文件进行写入,因此可以覆盖文件。根据 TeX 发行版的不同,可能会有一些安全限制(父目录中没有文件,...)。
有一个 shell 逃逸功能(也称为“write18”),可用于恶意代码。同样,也有一些安全限制。例如,TeX Live 仅启用受限的 shell 逃逸,这只允许运行一小部分已配置的程序(例如 kpsewhich、makeindex)。