扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问:是否有可能从密码位序列中识别加密算法?
答:假设你想要查看从外部源来的数据包(可能已用几个方法加密),并且想用正确的解密工具来解密数据包。第一种答案是“可以”,第二种答案是“这可能是一个非法的活动。”在许多国家,逆向工程保护机制(如加密)是非法的。
尽管如此,如果你还想继续,你可以在十六进制编辑器里查看二进制文件(DLL, EXE等),它可能会显示一个字符串,表示一个特定的加密哈希算法。你还可能发现一个字符串,指示特定的第三方加密库。
另外还要检查DLL的名称。如果存在ssleay.dll或libeay.dll,那么很容易知道该数据包是用SSL加密的。如果加密使用一个第三方库,那么就可以查找该库导出的功能,看它们采用的是什么参数,以及它们是如何使用的。然后,你可以捕获你感兴趣的调用:例如,用LIBeay或SSLeay,你可以看ssl_read和ssl_write。这样你就可以访问纯文本,然后就可以开始转存整个会话,审查原始协议。
如果加密看起来是内置于可执行文件,或加密作家使用他或她自己的代码,那么你需要用调试器来探测,查明在socket read后,数据去哪了。这应该可以帮助您找到解密例程。记住,这些活动要求你有相当广泛的调试工具和可执行编辑的经验,所以如果你不熟悉这些,那么我最后的答案是“不能”。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者