我正在尝试对一些Postscript文件进行反向工程,并遇到以下这组命令:
{/@co18
37 59 63 t! (PROMO) eq
not
def}exec
所以基本上,我感到困惑的是这一行:
37 59 63 t! (PROMO) eq
t!
代表什么?
eq
操作数需要从堆栈中取出2个对象并进行比较。因此,据我了解,t!
用前面的3个数字进行一些计算,并将结果保存在堆栈中。结果可能是某种字符串,因为稍后会将其与“ PROMO”进行比较。
我在代码中的任何地方都没有看到这个t!
定义,但它出现在许多其他地方:
{@co3{@st2 setfont
186.71 106.80 moveto
59 22 31 t! sr }if}^ap
(此外,仍然不确定^ap
操作数在做什么)
答案 0 :(得分:2)
您需要找到定义,它不是标准的PostScript,因此必须在程序中的某个位置定义。它可能在eexec加密部分中。
您需要先举一个例子,然后我才能进一步评论。
答案 1 :(得分:1)
因此,缺少的命令在代码的eexec部分中被“隐藏”了。 我使用Samyak答案对此问题解密: How to "decode" eexec of font file?