【问题标题】:Return custom timestamp返回自定义时间戳
【发布时间】:2017-08-07 16:00:02
【问题描述】:

我有一个 Linux 可执行二进制文件(C 或 C++ 编译)。在某些时候,程序使用时间戳来生成随机数

我需要实现一定的随机数序列,所以我想制作一个脚本(Preferable python)拦截对系统的调用(AFAIK这被称为“挂钩”)来获取时间戳并返回一个自定义价值,直到我得到我需要的序列。我必须这样做,因为可执行文件不使用整个时间戳,就像timestamp % 10000

这可能吗?如果有,怎么做?

【问题讨论】:

    标签: python linux hook reverse-engineering


    【解决方案1】:

    这只能在内核完成。所以你不能使用 Python(或任何其他用户空间程序),你必须使用 C。

    一种选择是在可加载的内核模块中进行。 你可以找到一个例子,例如here.

    【讨论】:

      【解决方案2】:

      使用库预加载机制,可以拦截和替换调用。对于与 C 库动态链接的二进制文件,您可以拦截调用 time() 等以模拟不同的时间。

      开源“libfaketime”项目已经实现了伪造时间:https://github.com/wolfcw/libfaketime

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-30
        • 1970-01-01
        • 2020-07-15
        • 1970-01-01
        • 2015-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多