1

我正在尝试找出无法找到源的 LOGIN DLL 使用的密码文件的格式。管理工具是用 AFX 编写的,所以我希望它可以提供有关用于编码密码的算法的线索。

使用管理工具,我们有两个经过编码的密码。第一个是“dinosaur123456789”,加密的十六进制在这里:

恐龙密码的十六进制值是

00h:4A 6E 3C 34 29 32 2E 59 51 6B 2B 4E 4F 20 47 75;Jn<4)2.YQk+NO Gu 10h: 6A 33 09 ; j3。20小时:64 69 6E 6F 73 61 75 72 31 32 33 34 35 36 37 38;恐龙12345678 30h: 39 30 ; 90

另一个密码“gertcha”编码为e8h: 4D 35 4C 46 53 5C 7E ;灌浆 M5LFS\~

我试过寻找一个常见的 XOR,但没有找到任何东西。密码文件中的密码长度相同,因此我假设这些是可逆编码(它是另一个时代!)。我想知道 AFX 类是否可能有用于此类事情的方法?

如果有人可以计算出编码,那就太好了!

谢谢,马修

[编辑:] 好的,首先,我将继续前进,并在新的解决方案中将过去抛在脑后。仍然使用旧数据会很好。确实,如果有人想把它当作一个谜题来解决,那么我仍然希望能够使用它。

对于那些想要尝试的人,我完成了两个密码。

All 'a' - 19 个 a 的密码: 47 7D 47 38 58 57 7C 73 59 2D 50 ;G}G8XW|sY-P 79 68 29 3E 44 52 31 6B 09 ; yh)>DR1k。

全 'b' - 带有 16 个 b 的密码。48 7D 2C 71 78 67 4B 46 49 48 5F;H},qxgKFIH_69 7D 39 79 5E 09 ; 我}9y^。

这使我确信没有简单的解决方案,并且有一些反馈。

4

4 回答 4

2

好吧,我对它做了一个快速的密码分析,到目前为止,我可以告诉你每个密码似乎都以它的 ascii 值 + 26 开头。下一个八位字节似乎是密码的第一个字符和第二个字符之间的区别, 添加到它的 ascii 值。3d字母,我还没想通。我认为可以肯定地说您正在处理某种反馈密码,这就是 XOR 没有出现任何结果的原因。我认为每个八位位组的值都取决于前一个。

我可以继续,但这东西需要很多时间。希望这可以给你一个开始,或者给你一些想法。

于 2009-02-02T20:27:54.657 回答
0

但由于输出与输入的长度相等,这看起来像是一些固定密钥密码。这可能是一个微不足道的异或。

我建议测试以下密码:

 * AAAAAAAA
 * aaaaaaaa
 * BBBBBBBB
 * ABABABAB
 * BABABABA
 * AAAABBBB
 * BBBBAAAA
 * AAAAAAAAAAAAAAAA
 * AAAAAAAABBBBBBBB
 * BBBBBBBBAAAAAAAA

这也许可以让我们在不对 DLL 进行逆向工程的情况下破解密码。

于 2009-02-02T15:35:16.137 回答
0

dll可以编码单字符密码吗?甚至是零字符密码?

您将要从最琐碎的测试用例开始。

于 2009-02-02T17:11:30.030 回答
0

您可能从错误的角度看待这个问题。我认为弄清楚密码哈希是如何创建的最好的原因是对登录 dll 进行逆向工程。

我会推荐IDA Pro来完成这项任务。帮助您将可执行代码反转为可读的汇编程序,这是非常值得的。如果您不想付钱,还有其他免费的反汇编程序,但我没有遇到像 IDA Pro 这样强大的东西。我推荐的免费静态反汇编器/调试器是 SmidgeonSoft 的PEBrowse,因为它有利于快速浏览实时运行的系统,并且对加载调试符号具有良好的 PDB 支持。

于 2009-02-02T18:28:08.643 回答