本文主要是介绍攻防世界——dmd-50,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
名字就告诉了我们这道题是md5加密
MD5加密就是把你给的任意长字符串转换为一个128位(16字节)的字符串,常用语数字签名
虚拟机跑了一下,看得出来是第一类,需要找到key或者直接拿
std::allocator<char>::~allocator(&v38);if ( *(_WORD *)v41 == 14391&& *(_BYTE *)(v41 + 2) == 48&& *(_BYTE *)(v41 + 3) == 52&& *(_BYTE *)(v41 + 4) == 51&& *(_BYTE *)(v41 + 5) == 56&& *(_BYTE *)(v41 + 6) == 100&& *(_BYTE *)(v41 + 7) == 53&& *(_BYTE *)(v41 + 8) == 98&& *(_BYTE *)(v41 + 9) == 54&& *(_BYTE *)(v41 + 10) == 101&& *(_BYTE *)(v41 + 11) == 50&& *(_BYTE *)(v41 + 12) == 57&& *(_BYTE *)(v41 + 13) == 100&& *(_BYTE *)(v41 + 14) == 98&& *(_BYTE *)(v41 + 15) == 48&& *(_BYTE *)(v41 + 16) == 56&& *(_BYTE *)(v41 + 17) == 57&& *(_BYTE *)(v41 + 18) == 56&& *(_BYTE *)(v41 + 19) == 98&& *(_BYTE *)(v41 + 20) == 99&& *(_BYTE *)(v41 + 21) == 52&& *(_BYTE *)(v41 + 22) == 102&& *(_BYTE *)(v41 + 23) == 48&& *(_BYTE *)(v41 + 24) == 50&& *(_BYTE *)(v41 + 25) == 50&& *(_BYTE *)(v41 + 26) == 53&& *(_BYTE *)(v41 + 27) == 57&& *(_BYTE *)(v41 + 28) == 51&& *(_BYTE *)(v41 + 29) == 53&& *(_BYTE *)(v41 + 30) == 99&& *(_BYTE *)(v41 + 31) == 48 ){
很明显的一段密文,提取出来
870438d5b6e29db0898bc4f0225935c0
md5在线解密破解,md5解密加密 (cmd5.com)
grape
我最开始以为就一道加密
但是后面马后炮,看了答案后,发现这道题叫你输入的是key
说明他本来还有一层md5
得到的grape(葡萄)不是加密后的格式,那么加密
下班!
这篇关于攻防世界——dmd-50的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!