-
-
[原创]CTF2017 第十三题 readyuCrackMe 解题报告
-
发表于:
2017-6-29 12:55
4649
-
[原创]CTF2017 第十三题 readyuCrackMe 解题报告
回忆之前对 ECC 的理解,就是初始化的时候选个标准曲线,然后生成公私钥么。等做到这道题的时候,才知道要去真正的理解什么是有限域,什么是椭圆曲线,学习资料1 学习资料2
程序使用的算法库是 MIRACL,但我在 IDA 全部人肉标记完了之后,才搜索到这个方法,之前,我是通过一个函数(其实是 reduce2)内部的判断有限域参数的时候(就是看到 571、1223)才知道是 ECC 库的,然后去 github 上搜索相关的库,只找到这个库支持 1223,之前还找到了个 relic 库,不过不支持 103,然后对比源码标记函数名
程序是很简单的 win32 对话框工程,在对话框初始化消息中,设定了 user 输入框的内容为 readyu,并隐藏。然后在 Check 事件处理中,判断输入必须开头不为 0(过滤掉多解),必须大写和数字,然后进入重要的 check(code, user)
函数
起初搜索到这个 有限域的时候,搜索到一个ECC2K-130挑战,发现题目中给出的常量都是取自这个挑战,我还以为这题是要求 ECDLP 问题,但是这个分布式挑战还在跑还没有解啊,后面仔细看了看题发现不是,因短时间理解有限,不正确的地方请指出
先用 python 求解 h0、h1、h2 以及 t①
用 MIRACL 库求解 X
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)