题
我试图找出其用于通过一个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谷 10H:6A 33 09; J3。 20H:64 69 6E 73 6F 61 75 72 31 32 33 34 35 36 37 38; dinosaur12345678 30H:39 30; 90
另一个密码“gertcha”被编码为 E8H:4D 35 46 4C 53 5C 7E;注浆M5LFS \〜
我试图寻找一个共同的XOR,但未能发现任何东西。该密码是在密码文件具有相同的长度,所以我认为这是一个可逆编码(这是另一个时代的!)。我想知道,如果AFX类可能有将被用于这样的事情的一种手段?
如果任何人都可以制定出编码,那么这将是伟大的!
谢谢,马修
[编辑:] 好吧,首先,我上移动,并打算把过去在新的解决方案的背后。这本来是很高兴仍然使用旧数据。事实上,如果有人想将其作为解决一个难题,那么我仍然希望能够使用它。
对于那些谁想要一展身手,我有两个密码完成的。
所有“一” - 用19的密码: 47 7D 47 38 58 57 7C 73 59 2D 50;绿} G8XW | SY-P 79 68 29 3E 44 52 31 6B 09; YH)> DR1k。
所有 'B' - 与16b中的一个密码。 48 7D 71 2C 78 67 46 4B 49 48 5F; H},qxgKFIH_ 69 7D 39 79 5E 09; I} 9Y ^。
这使我确信没有涉及简单的解决方案,并且存在一些反馈。
解决方案
好了,我做了它的快速密码分析,到目前为止,我可以告诉你,每个密码似乎与它开始真实的ASCII值+ 26的下一个字节的似乎是密码的第一个字符之间的差异第二,加入到它的ASCII值。三维信,我还没有想出。我认为它是安全的,说你正在处理的某种反馈密码的,这就是为什么XOR变成了什么。我认为每个八位组值将取决于先前的
我可以继续,但是这东西需要很多时间。希望这可以给你一个开始,也可能给你一对夫妇的想法。
其他提示
但是,由于输出是与输入长度相等,这看起来像一些固定密钥密码。它可以是一个简单的异或。
我建议测试下列密码:
* AAAAAAAA
* aaaaaaaa
* BBBBBBBB
* ABABABAB
* BABABABA
* AAAABBBB
* BBBBAAAA
* AAAAAAAAAAAAAAAA
* AAAAAAAABBBBBBBB
* BBBBBBBBAAAAAAAA
这也许应该让我们能够破译密码不逆向工程的DLL。
能的dll编码单个字符的密码?甚至零个字符的密码?
您会想先从最琐碎的测试用例。
您看到的可能是从错误的角度来看这一问题。我认为最好的,为什么要弄清楚如何将密码散列创建的逆向工程登录DLL。
我会建议 IDA Pro的这项任务。这是非常值得的价格为帮助给你倒车可执行代码成可读的汇编。还有其他的反汇编,如果你不想付钱是免费的,但我还没有碰到过什么一样强大的IDA Pro的。一个自由的静态反汇编器/调试器,我会建议将从 SmidgeonSoft 被PEBrowse,因为它是很好的快速戳周围的实时运行系统,具有加载调试符号良好PDB支持。