首页
论坛
专栏
课程

[原创]看雪CTF 2019Q3 第八题 人妒英才

2019-9-21 19:36 269

[原创]看雪CTF 2019Q3 第八题 人妒英才

2019-9-21 19:36
269

不得不说,这道题的作者真是机灵!我开始看到提示ECC,再结合作者之前发的ECC的帖子,就以为是真的ECC就关掉没做了,想着最后有时间再来搞,但后面发现陆陆续续有队伍做出来,于是来看看,当时就拍大腿了!损失了好多分...
哎,为什么只有这这么少的队做出来了?还有谁是跟我一开始一样,看到ECC就关掉了?哈哈哈

 

截图纪念一下这个画面:
图片描述

分析

  1. 绝大部分都是std标准库的string操作,真正的代码少的可怜
  2. 定位关键代码:0041B9BE -> 00417540 -> 004176FC
    图片描述

就这一点儿,操作就是输入的字符串每个字符乘一下就完了

data[4*i+0] = 0x5E;
data[4*i+1] = 0x2E;
data[4*i+2] = i * 0x56;
data[4*i+3] = str[i] * 0x5A % 0x7F

放出来解密脚本大家感受下吧

# coding=utf-8
import os, sys

#  0  K
#  *  *
# 56 5A
#  %  %
# 7F 7F

char = '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
key = [0x13, 0x5E, 0x79, 0x05,
       0x74, 0x49, 0x29, 0x37,
       0x02, 0x5C, 0x32, 0x29,
       0x33, 0x12]     
num = []
for c in char:
    num.append(ord(c) * 0x5A % 0x7F)
# print(num)
flag = ''
for k in key:
    flag += char[num.index(k)]
print(flag)


[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (0)
游客
登录 | 注册 方可回帖
返回