速通攻略
第0关
第0关实际上十分简单,使用F12法或源代码法均可找到下一关:
第1关
第1关是一个分水岭。在这一关,所有的个人选手都马失前蹄,止步于此。
乍一看,好像没有什么可用的信息。我们先从这些文字入手,如果你能及时联想到进制转换,那么这个信息就好找了。我们打开一个进制转换工具,输入特征最明显的第一个文本,选择二进制:
如果你的注意力惊人,一眼就可以注意到36进制里的7z
。如果你的注意力不惊人,就可以通过源码查看法寻找线索。
在DevTools的网络面板中,找到含有editor链接且状态为200的一个请求,复制请求链接并访问,就可以进入这个作品的源代码页面:
如果你的注意力较为惊人,可以发现在控制台[打印]
积木的参数字数分别为7
和35
,其对应的36进制即为7
与z
即7z
。
得到了7z这个信息,我们便可以把图片下载下来,进行研究。将图片使用7z打开后,便可以得到两个文件:
- generate_image.c(C语言文件)
- target.txt(一串加密的文本)
先不着急,继续把作品文件看完。一通分析过后,代码区只剩下一部分积木没有分析了:。我们来看一看这个变量:
毫无疑问,我们需要看一看这个作品workId
的第4个字符。230410657
的第4个字符便是4
。
再来看舞台。舞台出现了两个我们没有在H5链接看到的东西:
- 商业机密
- 每字为一印,火烧令坚。——沈括《梦溪笔谈》
第一个线索“商业机密”,在搜索引擎上搜索商业机密 加密
等关键词即可搜到商用密码
这一定义。而继续在搜索引擎上搜索商用密码 加密
,便可以轻松搜到<font style="color:rgb(77, 77, 77);">ZUC, SM2, SM3, SM4, SM9</font>
等加密方式。联系刚刚得到的字符<font style="color:rgb(77, 77, 77);">4</font>
,便可以确定<font style="color:rgb(77, 77, 77);">target.txt</font>
的加密方式为<font style="color:rgb(77, 77, 77);">SM4</font>
。
<font style="color:rgb(77, 77, 77);">字模</font>
。
这样,这个CoCo作品就算被我们剖析透彻了。让我们进入下一部分的解密环节。
第2关
首先,我们尝试用SM4解密target.txt
,会发现缺少密钥和偏移量。我们直接跳过,来看generate_image.c
。
#include <stdio.h>
static const unsigned char bitmap_bytes[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xe0, 0xc1, 0x8f, 0x07, 0xff, 0xf8,
0x3f, 0xff, 0xe0, 0xc1, 0x8f, 0x07, 0xff, 0xf8,
0x38, 0x00, 0xe3, 0x07, 0xf3, 0x06, 0x00, 0x18,
0x38, 0x00, 0xe7, 0x07, 0xf3, 0x06, 0x00, 0x18,
0x38, 0x00, 0xe7, 0x0f, 0xf7, 0x06, 0x00, 0x18,
0x39, 0xfc, 0xe7, 0xff, 0x8f, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe3, 0xff, 0x0f, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe0, 0xfe, 0x0c, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe0, 0xfe, 0x0c, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x98,
0x39, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x98,
0x38, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x18,
0x38, 0x00, 0xe7, 0xc6, 0x03, 0xc6, 0x00, 0x18,
0x38, 0x00, 0xe7, 0xc6, 0x03, 0xc7, 0x00, 0x18,
0x3f, 0xff, 0xe7, 0x39, 0x8c, 0xc7, 0xff, 0xf8,
0x1f, 0xff, 0xe7, 0x39, 0x8c, 0xc7, 0xff, 0xf8,
0x00, 0x00, 0x07, 0xc1, 0x8c, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x07, 0xc1, 0x8c, 0xc0, 0x00, 0x00,
0x1e, 0x30, 0x7c, 0x31, 0xfc, 0xc3, 0xe1, 0xe0,
0x3e, 0x70, 0xf8, 0x39, 0xfc, 0xc7, 0xf1, 0xe0,
0x1e, 0x70, 0x78, 0x39, 0xfc, 0xc7, 0xf1, 0xe0,
0x01, 0x80, 0x18, 0x3e, 0x7c, 0xc6, 0x00, 0x18,
0x01, 0x80, 0x1c, 0x3e, 0x7c, 0xc6, 0x00, 0x18,
0x06, 0x71, 0xff, 0xf8, 0x70, 0x06, 0x00, 0x78,
0x06, 0x73, 0xff, 0xf8, 0x70, 0x06, 0x00, 0x78,
0x0e, 0x73, 0xff, 0xf8, 0xf0, 0x07, 0x00, 0x78,
0x3e, 0x7c, 0x18, 0x07, 0xfc, 0xc7, 0xf0, 0x00,
0x3e, 0x7c, 0x18, 0x07, 0xfc, 0xc7, 0xf0, 0x00,
0x3e, 0x70, 0xe0, 0x07, 0xf3, 0xfe, 0x0e, 0x78,
0x1e, 0x70, 0xe0, 0x07, 0xf3, 0xff, 0x0e, 0x78,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x38, 0x0c, 0xe7, 0xff, 0x80, 0x39, 0xf1, 0x98,
0x18, 0x0c, 0xe3, 0xff, 0x80, 0x30, 0xf1, 0x98,
0x06, 0x73, 0x00, 0xc1, 0xfc, 0xc0, 0x30, 0x60,
0x06, 0x73, 0x00, 0xc1, 0xfc, 0xc0, 0x30, 0x60,
0x3f, 0xf0, 0xf8, 0x07, 0x83, 0xff, 0xff, 0x80,
0x3f, 0xf0, 0xf8, 0x07, 0x83, 0xff, 0xff, 0x80,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xe0, 0x7e, 0x18,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xc0, 0x3e, 0x18,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xc0, 0x3e, 0x18,
0x1f, 0xff, 0xe7, 0x38, 0x0f, 0xc6, 0x3e, 0x78,
0x3f, 0xff, 0xe7, 0x38, 0x0f, 0xc6, 0x3e, 0x78,
0x38, 0x00, 0xe0, 0x38, 0x0c, 0xc0, 0x3f, 0x98,
0x38, 0x00, 0xe0, 0x38, 0x0c, 0xc0, 0x3f, 0x98,
0x38, 0x00, 0xe0, 0x38, 0x1c, 0xe0, 0x7f, 0x98,
0x39, 0xfc, 0xe0, 0xc7, 0xfc, 0xff, 0xfe, 0x60,
0x39, 0xfc, 0xe0, 0xc7, 0xfc, 0xff, 0xfe, 0x60,
0x39, 0xfc, 0xe7, 0xc1, 0xff, 0x01, 0xff, 0x80,
0x39, 0xfc, 0xe3, 0xc1, 0xff, 0x01, 0xff, 0x80,
0x39, 0xfc, 0xe1, 0xc1, 0x9f, 0x11, 0xf3, 0x98,
0x39, 0xfc, 0xe0, 0xc1, 0x8f, 0x39, 0xf1, 0x98,
0x38, 0xfc, 0xe0, 0xc1, 0x8f, 0x30, 0xf1, 0x18,
0x38, 0x00, 0xe3, 0x07, 0xf0, 0xc0, 0x0e, 0x00,
0x38, 0x00, 0xe7, 0x07, 0xf0, 0xc0, 0x0e, 0x00,
0x3f, 0xff, 0xe7, 0x3f, 0xff, 0xc7, 0xc0, 0x78,
0x1f, 0xff, 0xe3, 0x3f, 0xff, 0xc7, 0xc0, 0x78,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
int main(){
FILE *f = fopen("image.bin", "wb");
fwrite(bitmap_bytes, 1, sizeof(bitmap_bytes), f);
fclose(f);
return 0;
}
如果你的电脑上存在mingw
或Visual Studio
等工具,可以直接尝试编译此文件:
gcc generate_image.c -o image
随后运行得到的程序,会生成一个image.bin
。这是一个二进制文件,但通过阅读源代码可知,里面存储的是十六进制的数据,再联系之前的字模
,即可知道这个文件是字模的原始数据。在搜索引擎搜索数据转字模
,可找到转换工具:
对十六进制数据稍加处理,可以得到:
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
3f ff e0 c1 8f 07 ff f8
3f ff e0 c1 8f 07 ff f8
38 00 e3 07 f3 06 00 18
38 00 e7 07 f3 06 00 18
38 00 e7 0f f7 06 00 18
39 fc e7 ff 8f 06 3f 98
39 fc e3 ff 0f 06 3f 98
39 fc e0 fe 0c 06 3f 98
39 fc e0 fe 0c 06 3f 98
39 fc e7 00 0f c6 3f 98
39 fc e7 00 0f c6 3f 98
38 fc e7 00 0f c6 3f 18
38 00 e7 c6 03 c6 00 18
38 00 e7 c6 03 c7 00 18
3f ff e7 39 8c c7 ff f8
1f ff e7 39 8c c7 ff f8
00 00 07 c1 8c c0 00 00
00 00 07 c1 8c c0 00 00
1e 30 7c 31 fc c3 e1 e0
3e 70 f8 39 fc c7 f1 e0
1e 70 78 39 fc c7 f1 e0
01 80 18 3e 7c c6 00 18
01 80 1c 3e 7c c6 00 18
06 71 ff f8 70 06 00 78
06 73 ff f8 70 06 00 78
0e 73 ff f8 f0 07 00 78
3e 7c 18 07 fc c7 f0 00
3e 7c 18 07 fc c7 f0 00
3e 70 e0 07 f3 fe 0e 78
1e 70 e0 07 f3 ff 0e 78
00 0f 00 f8 00 c7 cf 98
00 0f 00 f8 00 c7 cf 98
00 0f 00 f8 00 c7 cf 98
38 0c e7 ff 80 39 f1 98
18 0c e3 ff 80 30 f1 98
06 73 00 c1 fc c0 30 60
06 73 00 c1 fc c0 30 60
3f f0 f8 07 83 ff ff 80
3f f0 f8 07 83 ff ff 80
00 00 07 c7 8f e0 7e 18
00 00 07 c7 8f c0 3e 18
00 00 07 c7 8f c0 3e 18
1f ff e7 38 0f c6 3e 78
3f ff e7 38 0f c6 3e 78
38 00 e0 38 0c c0 3f 98
38 00 e0 38 0c c0 3f 98
38 00 e0 38 1c e0 7f 98
39 fc e0 c7 fc ff fe 60
39 fc e0 c7 fc ff fe 60
39 fc e7 c1 ff 01 ff 80
39 fc e3 c1 ff 01 ff 80
39 fc e1 c1 9f 11 f3 98
39 fc e0 c1 8f 39 f1 98
38 fc e0 c1 8f 30 f1 18
38 00 e3 07 f0 c0 0e 00
38 00 e7 07 f0 c0 0e 00
3f ff e7 3f ff c7 c0 78
1f ff e3 3f ff c7 c0 78
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
复制进网站,调整一下配置信息:
随后进行转换。转换完毕,可以得到一个二维码:
第3关
扫描二维码,可以进入一个网站:https://crypto.cocotais.cn/
不慌,我们看一下他的证书:
前往https://coco-3rd-anniversary-crypto.cocotais.cn/,随后忽略安全提示。
有一把绿色的锁。我们不管,先来看DevTools里有没有信息。
在响应头,我们获得了cbc: key:32bced1446a62cae09fbbba9ebeb0db2
和x-crypto-in-last-challenge: sha1
。不着急利用这些信息,我们再仔细看看这个网站特殊的证书:
果不其然,证书内暗藏玄机。我们将组织单位字段发送至上述邮箱:
稍等,即可收到回复:
这样,我们又得到了PKCS7 offset:e58cf97a7061ff5bdf9d008dbe970590
。
现在,我们有了这些信息:
- CBC
- PKCS7
- key 32bced1446a62cae09fbbba9ebeb0db2
- offset e58cf97a7061ff5bdf9d008dbe970590
- sha1
我们先忽略sha1
,因为其标题是x-crypto-in-last-challenge
,而这关显然不是最后一关。我们将以上信息连同target.txt
填入SM4
的加解密工具中:
得到这一串结果:
4D7A457A4E544D324D6B557A4D6A4D794D7A517952544D794D7A597952544D784D7A677A4D773D3D
[D7g,W;HaUkwNQUoJBLKq@{@t72/4QwiKuV3^!MI"%/=@bGf1G&I
你的待加密的验证码是:Happy CoCo 3rd Anniversary!
请根据前一关的提示,对验证码进行加密
你需要输入加密过的验证码,以结束解密
祝好运
第4关
我们先看第一行:4D7A457A4E544D324D6B557A4D6A4D794D7A517952544D794D7A597952544D784D7A677A4D773D3D
。看起来,这是一个MD5哈希过的值,但如果多开脑洞思考一下,就可以想到base16``base32
等编码方式,接下来留给我们的就是反复测试了:
0 | 初始 | 4D7A457A4E544D324D6B557A4D6A4D794D7A517952544D794D7A597952544D784D7A677A4D773D3D |
---|---|---|
1 | base16 | MzEzNTM2MkUzMjMyMzQyRTMyMzYyRTMxMzgzMw== |
2 | base64 | 3135362E3232342E32362E313833 |
3 | base16 | 156.224.26.183 |
这样,我们就可以得到一个IP地址:<font style="color:rgb(17, 17, 17);">156.224.26.183</font>
<font style="color:rgb(17, 17, 17);">[D7g,W;HaUkwNQUoJBLKq@{@t72/4QwiKuV3^!MI"%/=@bGf1G&I</font>
。看到如此多的符号,应该可以联想到<font style="color:rgb(17, 17, 17);">base91</font>
等编码方式。我们测试一下:
0 | 初始 | [D7g,W;HaUkwNQUoJBLKq@{@t72/4QwiKuV3^!MI”%/=@bGf1G&I |
---|---|---|
1 | base91 | base dashboard shrcnRS4z1bdPtvYrQwQwzZXWBc |
这样,我们可以得到一串字符:<font style="color:rgb(17, 17, 17);">base dashboard shrcnRS4z1bdPtvYrQwQwzZXWBc</font>
。
<font style="color:rgb(17, 17, 17);">base</font>``<font style="color:rgb(17, 17, 17);">dashboard</font>
应该就可以想到飞书多维表格。我们将<font style="color:rgb(17, 17, 17);">base dashboard shrcnRS4z1bdPtvYrQwQwzZXW</font>
处理为<font style="color:rgb(17, 17, 17);">/base/dashboard/shrcnRS4z1bdPtvYrQwQwzZXWBc</font>
,前面加上公告里飞书文档的域名<font style="color:rgb(17, 17, 17);">https://cocotais.feishu.cn/share</font>
,就可以得到一个URL:
https://cocotais.feishu.cn/share/base/dashboard/shrcnRS4z1bdPtvYrQwQwzZXWBc
访问,即可看到一个飞书仪表盘:
先看上面的文本框。如果你注意力惊人,可以发现加 油 , 向前 冲 !
暗藏玄机。其中包含了空格、汉字与标点符号。再看右下角的提示bin2hex
,打开脑洞,就可以想到是将上面的文本处理成二进制,然后转为十六进制。我们将标点符号作为分隔符,可以得到这几串文本:加 油 `` 向前 冲 ``
。将空格作为0,汉字作为1,可以得到这几串二进制值:00100100``01101000``00000000
,分别转换可以得到24``68``0
即24680
。展开联想,就可以知道这应该是前面得到的IP的端口号。
再看ccdc/data_given
。如果你记忆力很好,可以发现这个前缀ccdc/
和之前小水獭图片存放位置是相符的。我们访问https://cdn.cocotais.cn/ccdc/data_given
,得到一串信息:
63EC3142C68710C9
Tips:
IDEA - "_"
All the given information in last part
is as same as this part
except the offset & the ciphertext
Happy CoCo 3rd Anniversary!
MD5?
好,我们从第一行开始看。63EC3142C68710C9
,经过测试,可以发现并不是base16
等编码方式。看第四行IDEA - "_"
,如果你想象力丰富,可以立刻得出结果TDEA
,即Triple DES
。根据5~7行,填入已知信息:
观察到最后一行,让我们MD5
。又可以发现偏移量要求64 bits
,可知结果须取16位。我们用MD5
对剩余的一行Happy CoCo 3rd Anniversary!
进行哈希,得到16位结果46a62cae09fbbba9
。填入偏移量,解密得到telnet
:
第5关
根据上一关的信息,我们可以推断出这样一串命令:
telnet 156.224.26.183 24680
运行,得到以下结果:
Trying 156.224.26.183...
Connected to 156.224.26.183.
Escape character is '^]'.
Welcome to the verify server!
You should enter your code after the determiner '~>'.
Due to some reasons, you could not edit your input.
Press 'Ctrl+C' to quit.
Verify your SM4 offset(IV):
这里,需要验证在SM4解密时所用的偏移量。我们输入e58cf97a7061ff5bdf9d008dbe970590
然后回车,进入验证环节。
Verify your SM4 offset(IV): e58cf97a7061ff5bdf9d008dbe970590
~>
回到SM4的文本:
你的待加密的验证码是:Happy CoCo 3rd Anniversary!
请根据前一关的提示,对验证码进行加密
你需要输入加密过的验证码,以结束解密
联系x-crypto-in-last-challenge
可知,加密方式为sha1
。在网上找一个工具,将Happy CoCo 3rd Anniversary!
哈希得8AE4F85617F021F5C15CF029656E063BB700E7A3
。
~> 8AE4F85617F021F5C15CF029656E063BB700E7A3
Wow! You have passed the verification!
最后,按照要求填写自己的邮箱,随后加入邮件内发送的QQ群即可。
技术列表
- CoCo编辑器
- HTML+CSS+JavaScript
- 7zip
- C
- SM4
- SSL证书
- 进制转换
- Base编解码
- Rust
- IMAP
- telnet
- …
源码公开
星河璀璨 三载同行 首页
施工中
CoCo作品
https://creation.codemao.cn/716/appcraft/JSON_UsFp8maJ0Z_1721044171852.json
小水獭图片
append.jpg=crypt.7z+original.jpg
generate_image.c
#include <stdio.h>
static const unsigned char bitmap_bytes[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xe0, 0xc1, 0x8f, 0x07, 0xff, 0xf8,
0x3f, 0xff, 0xe0, 0xc1, 0x8f, 0x07, 0xff, 0xf8,
0x38, 0x00, 0xe3, 0x07, 0xf3, 0x06, 0x00, 0x18,
0x38, 0x00, 0xe7, 0x07, 0xf3, 0x06, 0x00, 0x18,
0x38, 0x00, 0xe7, 0x0f, 0xf7, 0x06, 0x00, 0x18,
0x39, 0xfc, 0xe7, 0xff, 0x8f, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe3, 0xff, 0x0f, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe0, 0xfe, 0x0c, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe0, 0xfe, 0x0c, 0x06, 0x3f, 0x98,
0x39, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x98,
0x39, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x98,
0x38, 0xfc, 0xe7, 0x00, 0x0f, 0xc6, 0x3f, 0x18,
0x38, 0x00, 0xe7, 0xc6, 0x03, 0xc6, 0x00, 0x18,
0x38, 0x00, 0xe7, 0xc6, 0x03, 0xc7, 0x00, 0x18,
0x3f, 0xff, 0xe7, 0x39, 0x8c, 0xc7, 0xff, 0xf8,
0x1f, 0xff, 0xe7, 0x39, 0x8c, 0xc7, 0xff, 0xf8,
0x00, 0x00, 0x07, 0xc1, 0x8c, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x07, 0xc1, 0x8c, 0xc0, 0x00, 0x00,
0x1e, 0x30, 0x7c, 0x31, 0xfc, 0xc3, 0xe1, 0xe0,
0x3e, 0x70, 0xf8, 0x39, 0xfc, 0xc7, 0xf1, 0xe0,
0x1e, 0x70, 0x78, 0x39, 0xfc, 0xc7, 0xf1, 0xe0,
0x01, 0x80, 0x18, 0x3e, 0x7c, 0xc6, 0x00, 0x18,
0x01, 0x80, 0x1c, 0x3e, 0x7c, 0xc6, 0x00, 0x18,
0x06, 0x71, 0xff, 0xf8, 0x70, 0x06, 0x00, 0x78,
0x06, 0x73, 0xff, 0xf8, 0x70, 0x06, 0x00, 0x78,
0x0e, 0x73, 0xff, 0xf8, 0xf0, 0x07, 0x00, 0x78,
0x3e, 0x7c, 0x18, 0x07, 0xfc, 0xc7, 0xf0, 0x00,
0x3e, 0x7c, 0x18, 0x07, 0xfc, 0xc7, 0xf0, 0x00,
0x3e, 0x70, 0xe0, 0x07, 0xf3, 0xfe, 0x0e, 0x78,
0x1e, 0x70, 0xe0, 0x07, 0xf3, 0xff, 0x0e, 0x78,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x00, 0x0f, 0x00, 0xf8, 0x00, 0xc7, 0xcf, 0x98,
0x38, 0x0c, 0xe7, 0xff, 0x80, 0x39, 0xf1, 0x98,
0x18, 0x0c, 0xe3, 0xff, 0x80, 0x30, 0xf1, 0x98,
0x06, 0x73, 0x00, 0xc1, 0xfc, 0xc0, 0x30, 0x60,
0x06, 0x73, 0x00, 0xc1, 0xfc, 0xc0, 0x30, 0x60,
0x3f, 0xf0, 0xf8, 0x07, 0x83, 0xff, 0xff, 0x80,
0x3f, 0xf0, 0xf8, 0x07, 0x83, 0xff, 0xff, 0x80,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xe0, 0x7e, 0x18,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xc0, 0x3e, 0x18,
0x00, 0x00, 0x07, 0xc7, 0x8f, 0xc0, 0x3e, 0x18,
0x1f, 0xff, 0xe7, 0x38, 0x0f, 0xc6, 0x3e, 0x78,
0x3f, 0xff, 0xe7, 0x38, 0x0f, 0xc6, 0x3e, 0x78,
0x38, 0x00, 0xe0, 0x38, 0x0c, 0xc0, 0x3f, 0x98,
0x38, 0x00, 0xe0, 0x38, 0x0c, 0xc0, 0x3f, 0x98,
0x38, 0x00, 0xe0, 0x38, 0x1c, 0xe0, 0x7f, 0x98,
0x39, 0xfc, 0xe0, 0xc7, 0xfc, 0xff, 0xfe, 0x60,
0x39, 0xfc, 0xe0, 0xc7, 0xfc, 0xff, 0xfe, 0x60,
0x39, 0xfc, 0xe7, 0xc1, 0xff, 0x01, 0xff, 0x80,
0x39, 0xfc, 0xe3, 0xc1, 0xff, 0x01, 0xff, 0x80,
0x39, 0xfc, 0xe1, 0xc1, 0x9f, 0x11, 0xf3, 0x98,
0x39, 0xfc, 0xe0, 0xc1, 0x8f, 0x39, 0xf1, 0x98,
0x38, 0xfc, 0xe0, 0xc1, 0x8f, 0x30, 0xf1, 0x18,
0x38, 0x00, 0xe3, 0x07, 0xf0, 0xc0, 0x0e, 0x00,
0x38, 0x00, 0xe7, 0x07, 0xf0, 0xc0, 0x0e, 0x00,
0x3f, 0xff, 0xe7, 0x3f, 0xff, 0xc7, 0xc0, 0x78,
0x1f, 0xff, 0xe3, 0x3f, 0xff, 0xc7, 0xc0, 0x78,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
int main(){
FILE *f = fopen("image.bin", "wb");
fwrite(bitmap_bytes, 1, sizeof(bitmap_bytes), f);
fclose(f);
return 0;
}
target.txt
UCVaGv1WUxWKwroyP4Bk7gSh8Qd+eVAGQUiJS0f8Yofvnm2LWCcMwEd+51hy94vwyzuzbxklb98nOkWBvUgCtmUtxESk8p9mPE+GXWIrz/RyfZl7tYvRqhoTgLzAViaFiwakPpXqudr7BU7OUmSaT4FiWqg9TJDsin1fytVSGsV9W3uRPnV3+E5VrnDNhLbcQmvQ3MpBrkBFZFadJQ+QJeshuqfBiyPLBEXNjRu6CdfjejT3mtnC+sjOQY1q/3YODOz+GLjECrHZBtgsBxi5c85lXLvmuxqUeOU3z27IKaTy1GL59/hkR4b3LREpSM2MZLgrMoQapw6LjDMG40Isao3+xwS/jrpd2eUKuHcGop2MKpeiP27tsSenjyySd/MAsevKEEeyipVgSKxDV2dTORvUhqh9Pfr77FGzRIem1TE=
证书文件
cert.zip(公钥+私钥+pfx证书)
邮件发送
https://github.com/liulyxandy-codemao/ccdc-mail