为了一些工作原因需要升级 Linux kernel 到 5 及其以上版本进行一些调试,大部分默认的开发机系统为 Debian 9,于是花了几个小时对系统进行了升级。
Debian 9 Stretch 升级 Debian 10 Buster
准备阶段
先检查冲突:
1sudo apt-mark showhold
正常返回为空,如果存在冲突则按以下方式删除:
1sudo apt-mark unhold package_name
简单执行一下 sudo apt update 看看有没有类似以下的报
阅读全文
Cyrus Blog
FLAG{S0_H4PPY_C_U_H3R3} (>.<)
甲方信息安全研发技能树
这是一个给信息安全专业同学、并致力于向甲方安全发展的技能清单。从甲方从业经验,以及最近面试一些同学的体验出发,我梳理了一些内容。这些内容可以在约两年时间内,让一个会编程但是不懂安全的小白完成不错的发展。
甲方信息安全 vs 漏洞挖掘 vs 研发
甲方信息安全 = 40% 安全 + 30% 研发 + 20% 架构 + 10% 管理沟通。
首先我们明确,乙方也是有信息安全研发的。但是乙方信息安全研发人员中,很大一部分会在 1 到 2 个工作经历后进入甲方,他们会将乙方的研发经验(甚至完整的工具
阅读全文
在中国大陆加速下载 GarageBand 音色包
众所周知中国已经广泛的接入国际互联网(确信),但是在大陆地区下载 GarageBand 库乐队的音色包可能需要数个小时之久。这里介绍一种可以加快下载速度的方法。
这个方法可能需要一些编程小技巧,比如 Python,以及可能需要 Xcode 的安装。
本文代码位于 Gist,你可以在 Gist 评论区看到同样的步骤。
一共四个步骤:
找到 garageband 目录并打开 plist 文件(可能需要 Xcode)
启动 garageband 之后打开「活动监视器 / Activity M
阅读全文
ebpf & bcc 中文教程及手册
本文主要结合 IO Visor Project 的英文文档进行翻译,从零开始入门 ebpf,并使用 bcc 编写自定义的探针 (Probe,某些地方叫做 Agent)。
本文中会有一些推荐阅读的参考资料和一些英文原文文档。如果忽略任何这些链接,都不会对理解本文造成问题,但是他们可能对一些技术历史和技术架构的了解有所帮助(或许只是谈资)
0x00 ebpf 是什么
历史渊源
要说清楚这个还是要说点历史的。推荐阅读:eBPF 简史
BPF 的全称是 Berkeley Packet Filter
阅读全文
Clair scanner 源码分析和二次开发
本文是对 Clair 开源客户端 Clair scanner 源码分析,而非对 Clair 本身(Server 端)进行分析。关于 Clair 本身我推荐看看这个。
利用 docker-compose 可以快速构建 Clair 服务端,而 Clair scanner 则是一个简单易用的客户端,我们可以基于此开发一系列自己需要的功能。这里本文 Clair scanner 源码结构进行简单分析,介绍一些编译过程中可能会遇到的小问题,但是出于工作内容原因不会给出二次开发的案例。
源码编译
二次开发自
阅读全文
Linux 环境自编译安装高版本 Golang
由于 Ubuntu APT 安装的 Golang 可能版本过低,(以及其他发行版的包管理工具也会如此)以下脚本用于在 Linux 系统安装高版本 Golang。
安装前建议移除任何版本 Golang,清除相关的 GOPATH GOROOT 等环境变量。
Golang 从 >= 1.4 开始支持自编译,即使用 Golang 来编译 Golang。可以在 这里 寻找任何你想要的版本,替换掉脚本中的 1.11.6。
本脚本不会对环境造成严重影响,但是会移除存在的 Golang 版本。可以在运行目
阅读全文
在字节跳动谈 996.icu
从离职经历说起
离开上一家公司并不是意味着上一家公司对我有不优,10-7-5 配上有竞争力并且有上涨空间的实习薪资,还有五环外的低廉房租都令人怀念。从前同事口中,以及离职后的一些消息中,或许公司正在经历着中小型往大型的转型阵痛期,在规则和管理上有一些小问题。——不枉费我在拿了新 Offer 后做的七十多个小时的财报研究和行情分析,作为略自私的我,我当然觉得不必随公司经历这些问题挺好的;同时我也希望自己写的辣鸡代码会被人接下去(x,good luck with that!
虽然似乎因为大二半年离
阅读全文
MacOS Mojave 10.14 下使用 brew 安装的 gcc 5 (5.5.0_2) 报错 wchar.h No such file or directory 的解决方案
报错内容
12345678$ gcc-5 -o a shit.cppIn file included from /usr/local/Cellar/gcc@5/5.5.0_2/include/c++/5.5.0/bits/postypes.h:40:0, from /usr/local/Cellar/gcc@5/5.5.0_2/include/c++/5.5.0/iosfwd:40, from /usr/local/Cellar/
阅读全文
WIP-分布式入门2:从 BFT 到 PBFT
0x01 拜占庭将军问题
(TODO
0x02 BFT OM 算法(口头协议算法)
(TODO
代码实现如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
阅读全文
分布式入门0&1:系列目录 & CAP 原理和 Paxos 算法
2018 年 1 月,比特币从最高点开始下跌,本文初创于这段时间。由于种种原因,咕了一年,到了 2018 年底依旧没有写完。新年即将来临之际,我对文章内容进行了重新编排。将会按照以下顺序依次展开:
CAP 原理和 Paxos 算法,
从 BFT 到 PBFT,
从 Raft 和 ZAB 再看 Paxos
分布式系统事务一致性(待定),
分布式负载均衡算法(待定).
这一顺序是我的学习(和未来填坑)的顺序,我是偶然接触到 Paxos 从而接触到分布式的。
大部分相关系列文章会将 Paxos/R
阅读全文