扫描更改的文件(就像 Cheat Engine 扫描更改的内存地址一样)

扫描更改的文件(就像 Cheat Engine 扫描更改的内存地址一样)

几年前,当我还在使用 Windows 时,我使用了一个名为“Cheat Engine”的工具,它可以让你扫描内存地址。例如,如果您想找出哪个地址存储了窗口的位置,您可以:

  • 进行初始扫描
  • 移动窗口
  • 过滤掉所有没有改变的地址
  • 不要移动窗户
  • 过滤掉所有发生变化的地址
  • 移动窗口
  • 过滤掉所有没有改变的地址
  • ...

直到只剩下一个地址。这就是包含窗口位置的那个。

我想做类似的事情,但是在 Linux 上并且使用文件而不是内存地址。

我基本上想找到一些没有正确记录的配置文件。所以我想做的是:

  • 对所有文件进行初始扫描
  • 更改将修改我的目标配置文件的设置
  • 过滤掉所有没有改变的文件
  • 没做什么
  • 过滤掉所有已更改的文件
  • ETC。

直到我只剩下一个文件。 (我正在寻找的配置文件。)

Linux 有没有一个工具可以实现这一点?或者你知道在 bash 中执行此操作的简单方法吗?

答案1

find命令将在指定路径(下例中的 /target_directory)中搜索在过去两分钟(-mmin -2)内更改的文件(-type f),然后用于ls向您显示这些文件及其详细信息:

touch changes.txt
find /target_directory -type f -mmin -2 -exec ls -al {} \; >> changes.txt
time >> changes.txt
sleep 60
find /target_directory -type f -mmin -1 -exec ls -al {} \; >> changes.txt
less changes.txt

我相信运行它是帮助搜索配置文件的更简单的方法。

答案2

您不需要对文件进行初始扫描。只需创建一个时间戳文件。然后,在一段时间后,查找在创建时间戳文件后已修改的文件。

touch timestamp

# time passes

find top-dir -type f -newer timestamp

这显然没有捕获已经被删除的文件已删除

相关内容