1

我有一个暴力破解 AES256 加密的程序,当计算机进入关机/或重新启动时,我将如何暂停该程序并在同一点继续,直到系统下次启动?

程序的一种休眠。

4

2 回答 2

1

我同意@Thufir 回答的第 2 部分和第 3 部分,但关于第 1 部分,它假定您正在运行 GUI。

取而代之的是,我会在 JVM 中添加一个关闭挂钩,并在那时写入我的程序的状态。您可以使用以下方法执行此操作:

Runtime.getRuntime().addShutdownHook(new Thread() {
   public void run() {
       // your serialization code goes here
   }
});
于 2015-01-11T20:51:09.270 回答
0

你在这里问了三件事。

1-如何检查操作系统何时重新启动/关闭

解决方法:你可以做一个空的不可见窗口,并添加WindowListener。它将在窗口上接收 windowClosing 事件。

你可以在这里找到一个例子

2-如何保存我的蛮力进程的状态并在系统启动时暂停以重新启动。

解决方法:这里很简单,你必须序列化。当系统再次启动时,这些将保存您的类/类的状态以反序列化。你可以在这里学习

3-当操作系统启动时,如何知道何时再次启动程序?

解决方案:您可以将您的程序置于操作系统的初始化过程中。当它启动时,您检查是否有任何要反序列化的内容并执行此操作,从而恢复 BruteForce 的过程。

于 2015-01-11T20:41:50.883 回答