Delphi 如何使用并行计算技术制作bruteforce密码恢复软件
如何在delphi中使用md5算法的并行计算技术制作bruteforce密码恢复软件 有人能告诉我一些建议吗Delphi 如何使用并行计算技术制作bruteforce密码恢复软件,delphi,cluster-computing,parallel-processing,Delphi,Cluster Computing,Parallel Processing,如何在delphi中使用md5算法的并行计算技术制作bruteforce密码恢复软件 有人能告诉我一些建议吗 多亏了并行计算在当今时代是有意义的,因为我们的大多数CPU都有多核 但是,您的性能与线程数不是一对一的关系。您很可能只需要每个核心一到两个线程 您可以使用TThread类在Delphi中创建多个线程 在IdHashMessageDigest单元中具有MD5哈希函数 在尝试通过蛮力反转MD5哈希之前,请确保您知道确切的算法,包括any的使用 如果没有盐的使用,我想可能已经有了MD5在网络上
多亏了并行计算在当今时代是有意义的,因为我们的大多数CPU都有多核 但是,您的性能与线程数不是一对一的关系。您很可能只需要每个核心一到两个线程 您可以使用TThread类在Delphi中创建多个线程 在IdHashMessageDigest单元中具有MD5哈希函数 在尝试通过蛮力反转MD5哈希之前,请确保您知道确切的算法,包括any的使用 如果没有盐的使用,我想可能已经有了MD5在网络上,你可以在那里做一个搜索 在尝试各种可能性之前,你很可能想先尝试一下。互联网上有很多词典可以下载,在谷歌上很容易找到 有了更具体的问题,我们可以给出更具体的答案 编辑 要创建一个网格计算系统,将工作分配给多台计算机,您需要一个中央管理服务器,将工作分配给其他计算机。如果在某个时间阈值内没有返回结果,则将其放回队列中 您需要构建一个简单的框架,在这个框架中,您可以根据请求向每个客户机传递一些表示工作负载的参数。也许这是一系列值得尝试的价值观 客户机应该与服务器联系以接收一项工作,并且它总是在完成工作时报告,或者如果它成功了,可能会立即报告
如果你有足够的计算机,考虑每个客户为每个可能的盐建立一个本地彩虹表,利用每个客户的存储。 工作队列示例
下面是一个将作为参数发送的工作示例,很可能存储在数据库中 您想攻击哈希SLDFJIJ44adsf 以下是表格:Hashes
----------------------------
TargetHash Answer
----------------------------
SLDFJIJ44adsf NULL
Work
----------------------------
TargetHash Type RangeBegin RangeEnd DateAssigned
----------------------------
SLDFJIJ44adsf Dictionary aardvark beaver 2011-12-16
SLDFJIJ44adsf Dictionary beavis zoology 2011-12-16
SLDFJIJ44adsf Brute aaaa ZZZZ 2011-12-16
SLDFJIJ44adsf Brute aaaaa MZZZZ 2011-12-16
是的,您可以使用OmniThreadLibrary。@JamieHutton-不,不像这样,我的意思是它不支持多线程。我的意思是有超过十万台计算机,我的用户都知道,不用担心。有人有关于分布式网格系统的信息或链接吗?是一个实验性的计算机网格网络(P2P),用于蒙特卡罗模拟和随机算法。它是用Delphi编写的开源软件。不,不是这样的,我的意思是它没有多线程。我的意思是,有了数十万台计算机,你就可以编写一个分布式网格系统,当然。您将使用Indy和TThread。然而,还有比电脑更便宜的东西。游戏平台通常低于成本,因此您可以购买游戏,但具有强大的计算能力。试试Playstation 3s网络。别担心电脑的成本,我手上已经有十万台电脑了,但还没有找到关于internet上分布式网格系统的图书馆或教程链接:(我更新了我的答案,为您提供了一些有关网格系统的更基本的说明。祝您好运。您很可能希望使用数据库来跟踪工作。您需要将其划分为逻辑部分。我建议保持工作的小型化,但让返回的计算机经常一次下载更多的工作。