数据库系统概论——C++实现求解 属性集X关于函数依赖集F的闭包 & 给定函数依赖集F的最小覆盖

所以再过几个小时就要考《数据库系统概论》了,看书看到一半手痒了,就把书上的两个算法用C++实现了一遍,这两个算法是

  • 求属性集X在U上的函数依赖集F的闭包
  • 求给定函数依赖集F的最小覆盖

详细的算法都写在注释里了~

Continue reading 数据库系统概论——C++实现求解 属性集X关于函数依赖集F的闭包 & 给定函数依赖集F的最小覆盖

wget漏洞CVE-2016-4971

前几天wget出了一个洞,

On a server redirect from HTTP to a FTP resource, wget would trust the HTTP server and uses the name in the redirected URL as the destination filename.

——https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-4971.html

即,当wget请求一个HTTP站点上的文件时,如果HTTP服务器将它重定向到一个FTP服务器的话,wget将使用HTTP服务器所给出的在FTP服务器上的文件的名字。

如果我们重定向到一个名为.bash_profile的文件,而且用户下载文件的目录下又正好是默认的登录目录,且没有这个.bash_profile的话, 我们的目的就达到了。我们可以在.bash_profile中写上恶意代码,下一次该用户登录上来时,这些恶意代码就会自动被执行,于是23333

Continue reading wget漏洞CVE-2016-4971

在非越狱的iOS上安装系统级的自定字体

在很久之前写过一个笔记,iOS上CoreText加载字体并使用,然后今天做的是在非越狱的iOS上安装系统级的自定字体,其实就是模拟Apple Configurator生成配置文件,然后安装字体,方便的地方在于不需要用电脑,也不必下载Apple Configurator,直接在下面的表单里填上对应的项即可。





填写好基本的信息——字体链接、描述、名字——之后,就可以点“INSTALL FONT”了。

那么这个有什么用呢?在支持自定字体的程序中(比如Pages、Numbers、Keynote等等),我们可以使用自己喜欢的字体,不用越狱,也不用打开iFunbox一类的软件折腾。

Continue reading 在非越狱的iOS上安装系统级的自定字体

看,有灰机!——接收应答机ADS-B信号追踪飞机

根据能查到的资料,飞机在飞行过程中,其数据链有ADS-B(广播式自动相关监视,Automatic dependent surveillance – broadcast)ACARS(飞机通信寻址与报告系统,Aircraft Communication Addressing and ReportingSystem)。目前的话,ADS-B是用得比较多的一种。

有了数据链之后,由于数据链只是一种编码方式,我们需要的还有通信方式。通信方式有SSR(二次监视雷达,Secondary Surveillance Radar),VHF(甚高频,Very High Frequency),SATCOM(卫星通信,Satellite Communications)等。ADS-B是工作在SSR平台下的;而ACARS是通过VHF和空管进行双向通信的。如果离开了VHF的覆盖范围,ACARS就会自动切换到SATCOM方式。

工作在SSR平台下的ADS-B的大致流程如下。地面SSR发出询问电脉冲,飞机上的Transponder(二次雷达应答机)收到这个询问脉冲后,向地面SSR发回一组数据,其中包括飞机的飞行高度、速度和飞机SSR代码等信息。飞机上ADS-B发送的频率是1090MHz,只要我们用的芯片能接收这个到频率的信号,我们就可以追踪飞机了。

Continue reading 看,有灰机!——接收应答机ADS-B信号追踪飞机