![]() |
1
9
希望不会消失。有一个很好的改变,你可以弄清楚使用了什么加密,并可能对它进行解密。首先,在cygwin或unix中,键入file命令:
文件将查看前几个字节,并尝试确定其内容。数据如何加密有几种可能性:
如果幸运的话,文件命令将知道文件的文件,并且数据的结构不会被加密。这很常见,因为当程序更新数据时,它通常不想重写整个文件。此外,如果数据不是实际的数据库,而是导出,则可能会被压缩。文件将告诉您它是否使用了通用的压缩格式。 接下来,使用“strings”命令。
这将输出任何明文数据。如果您看到数据的证据,那么就不需要解密。有些程序只是简单地执行密码检查,根本不进行任何加密。即使供应商声明他们正在“加密”您的数据,也可能是这样。 如果您仍然处理一组随机的字节,字符串和文件只是告诉您它是二进制数据,那么您需要开始搜索数据。 接下来两件重要的事情是查看文件的总长度。文件大小的模数可以告诉您一些关于加密算法的信息。第二件事是看数据的柱状图。
如果字节在0-255范围内均匀分布,那么您需要处理适当的加密算法。如果您的数据是不平衡的,那么加密可能很容易被检测到并破坏。例如,看看这个输出:
频率计数在第一个存储桶中,数据在第二个存储桶中。在这里,您可以看到数据不包含超过127的字符。这意味着数据接近于ASCII文本。再次运行柱状图,并将数据放入一个字节的存储桶中。只需离开右移位操作员。
现在,您可能会看到一个ASCII分布,或者数据是base64编码的或者base96编码的。您可以通过解码器运行流,然后再次尝试上述所有步骤。 如果你发现你正在处理一个工业强度算法,那么你需要找出哪一个。如果您有程序的任何副本,代码本身通常会很容易地放弃使用的算法。如果没有,你就得看长度之类的东西。如果数据长度总是模数8,那么它可能是用一个对称的块加密程序加密的,就像河豚一样。 如果您可以确定使用的密码,那么您必须找出密钥。如果程序需要密码,那么密钥可能基于密码,或者密码本身。如果幸运的话,程序不会请求密钥,只有程序本身知道密钥。在这种情况下,如果您能够掌握该程序,那么您可以从该程序中提取密钥,因为它必须包含密钥才能加密和解密。 我的经验是,大多数供应商的软件不使用真正的加密,程序员试图在编写数据之前对其执行XOR'ing之类的操作。如果它使用真正的加密,软件通常会附带一个关于出口限制的披露。 |
![]() |
2
9
你 需要 获取最初用于加密数据的第三方工具。 如果你拿不到工具,那么你 需要 有关所用算法、密钥等的信息,最好是来自供应商。 |
![]() |
3
8
您需要同时:
最简单的方法是(如果可能的话)去问做这件事的人或公司。 我不羡慕你这项任务,因为,除非加密是像xor这样没用的东西,否则你手头上有一份严肃的工作。 首先,您可能想告诉我们工具的名称。从问题中隐瞒信息只会让你更难接受,你不需要这样做:—) |
![]() |
4
7
我想所有的正常想法都已经被涵盖了,但这里有一些长篇大论。 尝试查看原始数据,尤其是前四个字节。搜索前四个十六进制字节,看看你是否走运,有没有命中(比如,看看供应商是否在头中使用了一个魔法字节)。 您可以尝试的另一件事是通过类似“字符串”的实用程序运行原始文件(或者只是浏览相对较小的文件)。看看这个工具是否在结果文件中嵌入了版权声明之类的内容——至少值得一试。 当然,你也可以试着把文件发布到互联网上,看看其他人能想出什么办法,但我猜这会破坏你的目的(即,它是机密数据——否则为什么它会首先被加密)。 |
![]() |
5
4
如果第三方工具很好,那么您可能需要与数据吻别。这些数据值多少钱?恢复需要多少钱?再次获得工具的成本是否会低于数据的价值?如果是的话,就再买一次! 您应该寻找对第三方工具的有效性和安全性的任何专业审计。他们可能会对所用的方法有所了解。 老实说,如果你不能再次使用这个工具,最好的办法就是联系一家专业的数据恢复公司。如果你使用的产品是相当常见的,你可能以前遇到过。当然,如果有什么好处的话,除非你还有可用的钥匙,否则他们可能帮不上忙。 |
![]() |
6
3
除非你有加密密钥,否则这不是一个毫无意义的练习吗? |
![]() |
7
3
追踪制造工具的人,或者在你有权使用工具时使用工具的人。催眠他们,让他们回归到更早的时间,这样他们就能回忆起那是什么。 |
![]() |
8
2
除非您可以联系第三方供应商或在线搜索以查看使用的加密类型,否则您将走运。 即使你真的发现了,除非你用的钥匙非常短或者很容易猜到,否则暴力强迫可能会花你很长时间。 |
![]() |
9
1
听起来你在自己的组织中也面临着冷漠,如果他们甚至不合作命名这个工具的话。 我会告诉管理层知道它是什么工具是至关重要的。要么有人知道,要么有一些文件可以帮助。四处打听,强调重要性,记录下你问的人。在这种情况下,采取通常的Cya措施。 在那之后,我就不再担心了。你可能想对它进行几次攻击,只是为了看起来不错,而且你可能会走运。然而,如果公司里没有其他人关心公司的重要事情,我发现自己太过关注它,压力太大。 |
![]() |
10
1
既然你认识有你需要的信息的人,你最好的选择是 rubber hose cryptanalysis . |
![]() |
11
0
如果有人知道完美的答案,世界将是一个疯狂的地方。 |
![]() |
12
0
如果数据是加密的,大概是 保护自己不受你现在想做的事情的影响 :在没有适当凭据的情况下访问纯文本。 要么这个 不能 是可行的,在这种情况下,加密工具已经做好了它的工作;或者 可以 做得可行,你需要开始对谁非常担心(与你对数据保密的重视程度成比例)。 其他的 在你不知情的情况下也能做到。 |
![]() |
zoid_ · 如何将列表中的一个项目更改为另一个列表中的另一个项目? 3 年前 |
![]() |
YungOne · 如何将RSA私钥转换为pem 3 年前 |
![]() |
Annie Nguyen · 使用函数对字符串进行加密/解密 3 年前 |
![]() |
Louis · 在Java中存储令牌/密码的最佳实践 3 年前 |
![]() |
beginner_geek07 · 为什么我的输出是“无”? 3 年前 |