PHP 及 PHP 插件编译

图源:《明日方舟》 战场背景2

本文ID:23166645-ab98-11e9-ad68-d1f5f7d77a33


今后文章会同步更新在我的 CSDN 博客,但是还是以这个自己拿阿里云服务器搭建的网站为主的。不过CSDN有个好处是可以被国内的搜索引擎抓取到,嗯,省得我做搜索引擎优化了啊。

如果有人只想看完整写完的文章的话,也请左拐 CSDN,或者这里。主站开了七牛云加速,顺便做了 Google 、 Bing 和百度等的搜索引擎收录。最近身体欠佳。原定的学习计划和博客更新计划也不出意外的咕了。没有办法。健康是第一要务。等待过后慢慢去补吧。

编译 PHP

安装必要环境

包含编译器,和编译需要的库。所有的编译操作均在 Ubuntu 19.04 下进行。

1
2
sudo apt-get update
sudo apt install -y gcc g++ cmake make libxml2-dev libbz2-dev libcurl4-gnutls-dev libzip-dev libwebp-dev libpng-dev libjpeg-dev libxpm-dev libfreetype6-dev

下载源码

你可以 clone GitHub 上的代码:

1
git clone https://github.com/php/php-src.git

当然也可以到 php.net 下载源码并解压:

1
2
3
4
wget https://www.php.net/distributions/php-7.3.7.tar.gz
tar -xvzf php-7.3.7.tar.gz
rm php-7.3.7.tar.gz
cd php-7.3.7/

开始编译

首先读取插件列表(插件列表没有修改的时候可跳过此步骤):

1
./buildconf --force

Hexo 新姿势!

图源:《三色Δ绘恋》第8幕 烟花大会

本文ID:daffc4b0-ab96-11e9-9458-8ba16a2b5025


Hexo的插件真是个好东西!一开始部署博客的时候并没有太在意插件的问题,毕竟觉得博客主题自带的插件其实挺全面的,足够使用了。但是用久了总是会腻,就想着简单的博客能不能有一些新操作新方法加入。即使是添加写功能也好。于是就翻了翻插件目录,挑了些比较有用的插件,拿出来做个总结,同时也是为了方便以后使用做的一个简单记录。

文字上标

插件是hexo-ruby-character,需要在Linux环境下编译npm包。

示例:Chocolate (Vanilla) ,也可方便的给汉字注音,例如: 鬼魅魍魉 (guǐ mèi wǎng liǎng) ,又或者是恶搞,类似: 精彩节目 (qián fāng gāo néng) ,同时也适用于其他语言,譬如: (うそ) だの?

管理员界面

插件是hexo-admin,效果是一个类似CodiMD编辑页面的“管理控制台”,可以实时编辑预览Markdown文章,修改tag,从剪贴板粘贴图片到文章等操作。注意:仅用于hexo s状态下的博客实例。

文章加密

插件是hexo-blog-encrypt,使用前须在站点配置文件加入以下内容:

1
2
encrypt:
enable: true

随后在文章的开头部分加入password:字段设置密码即可。

同时,配合abstract:字段和message:字段可以设置对无密码人的提示信息。同时注意不要设置toc。

中英文自动空格

插件为hexo-filter-auto-spacingnpm install --save之后就可以用,无需手动设置。

Linux & Windows 小技巧(2)

图源:《ソード・アート・オンライン(刀剑神域)》第一季第二集 CM

本文ID:23166642-ab98-11e9-ad68-d1f5f7d77a33


博客一直在慢速更新…之前一直忙于各种事情,学校的课、比赛、不断接触和学习新的东西,因此没什么机会静下心来好好整理、记录我学到的东西,也就没有办法一并记下我对某些问题的理解和思考。

之前一度认为,“有写博客文章的时间,还不如好好学点新的东西”。但是自从领悟到我和舍友之间记忆力和知识熟练程度的差距之后,终于肯下定决心好好写自己的博客了——我比不上他们,我真的不是那种过目不忘的人,所以只能通过不断的复习和总结才能勉强记住些东西。

有人说,初学者是“什么都不会,同时自己不知道自己会什么”,稍有学识的普通人是“自己会些东西,但是自己觉得自己会的很多”,而大神则是“自己会很多东西,但是自己觉得自己学的不多而且不知道自己已经会了什么”。

可能我还是初学者吧。

git push 反复输密码很烦?

有的时候可能会遇到一种极端情况:假设你要编写脚本,比如:自动化运维脚本。其中涉及到一些对 git 仓库的操作,而且需要密码,比如:在自动脚本中让部署机器拉取私有仓库,或是让部署机器将构建后的代码使用某个 github 账号推送到某个 git 仓库。这个时候需要用户手动输入用户名和密码,但是我们往往不能手动输入——比如公用的 docker build machine,根本不允许用户在构建过程中进行交互。

Linux & Windows 小技巧(1)

图源:《三色绘恋》 游戏背景图

本文ID:23166643-ab98-11e9-ad68-d1f5f7d77a33


最近又学到了一些零零碎碎的 Linux、Windows 命令,和一些可能今后会用得着的小技巧,怕自己忘记,所以把它们写在博客里面提醒一下自己,免得到时候再花费大量时间去百度、Google 找文章。

Linux 下查看进程树?

查看进程有好几种方式,tophtop 这种可视化的,还有 ps 这种纯文本输出的程序都可以做到。但是如果想要查看某一进程的父进程或者子进程PID该怎么办?可以借助另一个程序,pstree。参数很灵活,可以根据需要启用或关闭。程序截图如下:

WinHex 的替代品?

WinHex是很强大的一个二进制文件查看和编辑工具(尤其是做 CTF 杂项题的时候 :)。虽然说现在全网随便搜搜就有破解版(Cracked Version)可以用,但是多了解几个 WinHex 的替代品,有备无患。

EditPlus

说起来很巧,这个神器还是我在学校图书馆电脑上发现的。本来以为这东西只能编辑编辑文本,做 Notepad++ 的小弟,没想到这还能打开二进制文件查看16进制数据(emmm,不能编辑),而且…还支持 Windows ARM。

打开文件之后,点击 Edit->Hex Viewer 即可查看十六进制数据。

压制技术 A:光盘的种类、资源发布标注与常见名词解释

图源:《终将成为你》BD-1 声优特典 背景图

本文ID:23166644-ab98-11e9-ad68-d1f5f7d77a33


常见光盘种类

CD

Compact Disc,又叫做“小型镭射盘”、“激光唱片”,通过激光来读写数据。单层容量大概 700MB。其中一般存储的是音乐,但也有存储视频、相片、软件(多数是游戏)的 CD。常见分类如下:

  1. 按存储内容分类:
    • CD-DA: 音乐 CD
    • CD-I: 交互式 CD(游戏CD)
    • VCD: 视频 CD
    • CD+G: 带有专辑图片和歌词的音乐 CD
    • Photo CD: 图片 CD
  2. 按读写情况分类:
    • CD-ROM: 只读光盘。光盘背面的凹槽为厂家印制。
    • CD-R: 一次性写入光盘。 光盘背面的凹槽为刻录机烧制。
    • CD-RW: 可读写光盘。

RCTF 2019 杂项 Disk WriteUp

图源(后补):《明日方舟》游戏背景 龙门之夜

本文ID:23166646-ab98-11e9-ad68-d1f5f7d77a33


我又来随便糊一篇文章了。

题目设定如下:

An otaku used VeraCrypt to encrypt his favorites.

Password: rctf

Flag format: rctf{a-zA-Z0-9_}

题目给的提示十分简单。于是准备 VeraCrypt,开始解题。

找前半段Flag

首先下载题目附件,得到 rctf-disk.zip,解压得到 encrypt.vmdk。因为无法确定 vmdk 是 VeraCrypt 加密完的虚拟硬盘文件随便改了个格式,还是存储了 VeraCrypt 加密后虚拟磁盘文件的虚拟磁盘(这话真的超级绕hhh),因此先尝试使用 7zip 打开该文件。

7zip 可以成功打开

西湖论剑预选赛 Misc 第二题 Write-UP

图源:“西湖论剑”线上赛主页

本文ID:23166640-ab98-11e9-ad68-d1f5f7d77a33


所以说,近期铺天盖地宣传的“西湖论剑”网络安全技能赛预选已经结束了。在这里随便糊一篇文章(也是我第一次写Write-Up文章),就聊聊杂项最先放出的那个第二题的解法。

首先拿到题,解压,发现里面有“题目描述”,先看描述,是这么写的:

我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL值提取了出来,你能看出什么端倪吗?

然后看给出的另一个文件,ttl.txt,里面的内容是这样的:


不难发现TTL值只有 $63$,$127$,$191$,$255$ 四种,都是$2$的某次幂$-1$的值。于是将这四个数都转换成二进制,得到 $111111_2$、$1111111_2$、$10111111_2$、$11111111_2$ 四个二进制数。从后面两个数字可以观察到二进制数的开头两位似乎有关系。又因为TTL值为一个8位整数,进行合理猜想,不妨将不足8位的二进制数开头补0,变为8位后再取开头两位。即:$00111111_2$、$01111111_2$、$10111111_2$、$11111111_2$提取开头两位为:$00_2$、$01_2$、$10_2$、$11_2$,恰好为全排列,可以用于数据的存储。

这样每组两个比特,四组就可以组成一个字节。博客园上也有文章提到了这种数据隐藏方式(点击这里)。

拜年祭启发的小小探索

图源:Bilibili 2019 拜年祭 视频截图

本文ID:23163f31-ab98-11e9-ad68-d1f5f7d77a33


2019年2月4日,一年一度的哔哩哔哩拜年祭如约而至。不得不说,今年的拜年祭在节目质量和形式上相较于前三年都有较大的提升。出于在电视上离线播放(即非网络电视,而是读取存储设备上的媒体文件)的需求,及家中的缓慢网速达不到 Bilibili 大会员 1080P+ 无卡顿播放的程度,我利用少量的空余时间对 Bilibili 高清视频的下载方式进行了简单实践,并在本文中进行简单总结。

ID

熟悉B站的用户应该都会了解到,B 站上的视频、音频、专栏文章、用户都是以唯一的 ID 进行标识的。以“【星尘原创】尘降【PV付/COP】”这个视频为例:其视频地址为:https://www.bilibili.com/video/av4402328,该视频所对应的音频的地址为:https://www.bilibili.com/audio/au18065,上传该视频的UP主的个人主页地址为:https://space.bilibili.com/396194。由此我们可以获取到以下类型的唯一 ID:

  • 视频 ID [Anime (Video) ID, aid/avid]:4402328
  • 音频 ID [Audio ID, auid]:18065
  • 用户 ID [User ID, uid]:396194

中包含的“av”、“au”、“cv”等均是为了区分 ID 的类型所用。在 Ajax 请求过程中各 ID 的值均为数字,不包含字符。

你好,世界!

图源:创客贴

本文 ID:23163f30-ab98-11e9-ad68-d1f5f7d77a33


经历了各种思考和尝试,包括:好的服务器太贵、好的云空间太贵;低价的 VPS 和云空间不是速度慢就是限并发限 Idle;域名太贵(But 最终还是买了);找不到顺眼的主题;配置太麻烦;可用性达不到要求,等等。最终的最终,将这个静态小博客安放在了 Github 上。最近比较长的一段时间会陆陆续续把之前欠下的、想写的博文补上。

顺便说一下,由于时间有限等多种因素,博文可能会写的很简略。如果您有幸阅读某一篇博文但却未能完全理解的话,充分利用搜索引擎和评论区可以事半功倍。 特别说明:文章在编写过程中将不开放评论功能。如您发现已编写完的文章中包含的错误,欢迎在评论区指出,谢谢。

最后:

欢迎访问!您的支持是我最大的动力。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×