所以我有一个高度混淆的程序,每次都会生成一个独特的输出。为了便于反转,我想让每次运行的输出都相同(遵循逻辑,如果输出相同,则执行的逻辑将大致相同……)
有一点strace表明该程序clock_gettime在生成 id 之前进行了多次调用。所以我创建了一个内核模块,使clock_gettime返回的时间完全相同。然而,该程序仍然能够产生独特的输出。
在我看来,所有程序都必须进行系统调用以获得唯一的熵来播种随机函数并且不进行任何系统调用(或者如果他们所做的所有系统调用都是为了返回非唯一的熵)该程序不能产生唯一的(随机) 数据。
有没有什么方法可以让程序在不显示的情况下获得唯一的熵strace(即不进行系统调用)?