攻防世界——dmd-50

名字就告诉了我们这道题是md5加密

MD5加密就是把你给的任意长字符串转换为一个128位(16字节)的字符串,常用语数字签名

       虚拟机跑了一下,看得出来是第一类,需要找到key或者直接拿

 std::allocator::~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

攻防世界——dmd-50_第1张图片

md5在线解密破解,md5解密加密 (cmd5.com)

grape

我最开始以为就一道加密

但是后面马后炮,看了答案后,发现这道题叫你输入的是key

说明他本来还有一层md5

得到的grape(葡萄)不是加密后的格式,那么加密

攻防世界——dmd-50_第2张图片

下班!

你可能感兴趣的:(c#,开发语言)