每周分享第 41 期

Wget2 1.99.2 beta 发布 https://lists.gnu.org/archive/html/info-gnu/2019-09/msg00001.html 独立的 printf 实现 https://github.com/mpaland/printf Unicode 字符串长度统计 https://hsivonen.fi/string-length/ C 类型推断 https://github.com/ltcmelo/psychec#generic-programming Clang 9.0 支持 Linux 内核编译 The New Features Of LLVM 9.0 & Clang 9.0 - Includes Building The Linux x86_64 Kernel 可控制的 USB 设备 https://github.com/usb-tools/Facedancer USB 监听器 https://github.com/openvizsla/ov_ftdi 修复一个截断的视频 https://github.com/ponchio/untrunc

Read More

每周分享第 40 期

TeX Typesetting Game https://texnique.xyz/ Writing Linux Kernel Module in Rust https://github.com/fishinabarrel/linux-kernel-module-rust Sipeed Longan Nano RISC-V 开发板 https://readhacker.news/s/48EBG Systemd 加载 BPF 防火墙 https://kailueke.gitlab.io/systemd-bpf-firewall-loader/ 方舟编译器 https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler.git XLOOKUP 函数 https://techcommunity.microsoft.com/t5/Excel-Blog/Announcing-XLOOKUP/ba-p/811376 SystemVerilog to Verilog 转译 https://github.com/zachjs/sv2v USB 4.0 发布 http://www.phoronix.com/scan.php?page=news_item&px=USB-4.0-Specification-Published Android 10 发布 http://www.phoronix.com/scan.php?page=news_item&px=Android-10-Released iOS 13.1 beta 2 发布 对 iOS 设备抓包 http://blog.imaou.com/opensource/2014/12/14/pcapd_diagnostic_packet_capture.html Google 的差分隐私库 https://developers.googleblog.com/2019/09/enabling-developers-and-organizations.html Apple Music 第三方 App https://github.com/Musish/Musish

Read More

每周分享第 39 期

另一个 Pattern Matching in C++ 库 https://github.com/mpark/patterns Rust 编写的一个 shell http://www.jonathanturner.org/2019/08/introducing-nushell.html Vim 的游戏教程 https://readhacker.news/s/48nbJ 在 throw 的时候同时抓取 SO 信息 https://github.com/shobrook/rebound/ 颜色生成工具 https://github.com/sharkdp/pastel 转换 Escape Code 到 HTML https://github.com/theZiz/aha iOS 13.1 beta 发布 苹果特别活动定于 9.11 日 exFAT 规范发布 http://www.phoronix.com/scan.php?page=news_item&px=Microsoft-exFAT-Specification 可视化的 5 阶段流水线 RISC-V 模拟器 https://github.com/mortbopet/Ripes

Read More

每周分享第 38 期

针对部分 HTTP/2 实现的新漏洞 https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md 只读 tmux 加魔改 https://brianmckenna.org/blog/guest_tmux Rust 编译期断言 https://github.com/nvzqz/static-assertions-rs Rust 运行时解压版的 include_bytes https://github.com/SOF3/include-flate 把 Rust 标准库进行 async 化的尝试 https://async.rs/blog/announcing-async-std/# git 添加 switch/restore 命令 https://github.blog/2019-08-16-highlights-from-git-2-23/ Flash Player in Rust https://github.com/ruffle-rs/ruffle Matplotlib Cheatsheet https://github.com/rougier/matplotlib-cheatsheet macOS Catalina 10.15 beta 6 发布 Flash Decompiler https://github.com/jindrapetrik/jpexs-decompiler Yubikey 发布 5Ci https://readhacker.news/s/489yu IBM 开放 Power 指令集 https://readhacker.news/s/48aiH iOS 13 beta 8 发布 GitHub 支持 WebAuthn https://readhacker.news/s/48dXM 编译器优化带来的安全漏洞 https://readhacker.news/s/48dke obscure C features https://multun.net/obscure-c-features.html

Read More

每周分享第 37 期

Rust netlink 库 https://github.com/jbaublitz/neli Rust 处理 signal 进行配置的 reload https://vorner.github.io/2019/08/11/runtime-configuration-reloading.html macOS 添加了 VirtIO 驱动支持 https://passthroughpo.st/mac-os-adds-early-support-for-virtio-qemu/ 一个 GNU readline 替代品 https://github.com/AmokHuginnsson/replxx Rust 1.37.0 发布 https://blog.rust-lang.org/2019/08/15/Rust-1.37.0.html iOS 13 DB7 (17A5565b) 发布

Read More

macOS 下读取并解析 EDID

之前听说了 EDID 的存在,但是一直没有细究里面的格式和内容。今天了解了一下,发现其实非常简单,下面是方法: 首先获取所有显示器输出的 EDID : ioreg -lw0 | grep IODisplayEDID 输出里会出现 “IODisplayEDID” = 的内容,尖括号内的就是 EDID 的内容。接着,我们采用 edid-decode 进行解析: git clone git://linuxtv.org/edid-decode.git cd edid-decode make ./edid-decode <Paste EDID here> 就可以看到很详细的 EDID 数据解析了。 ref: https://gist.github.com/OneSadCookie/641549 https://www.avsforum.com/forum/115-htpc-mac-chat/1466910-ability-dump-display-s-edid-mac.html

Read More

在 Linux 下捕获 Framebuffer

最近需要在 linux 下抓取 Framebuffer 的内容,在网上找到了两种方法,在我这里只有第二、第三种可以成功,没有细究具体原因,可能与我的 Framebuffer 配置有关。方法如下: fbgrab :命令就是 fbgrab image.png ,直接得到 png 文件,格式是对的,但是用软件打开就是一片空白。用 ImageMagick 转换为 jpg可以看到一些内容,但是和实际有些不一样。 fbdump :命令就是 fbdump > image.ppm ,得到裸的 ppm 文件,图像是正确的,也可以转换为别的格式正常打开。 cat+脚本处理:直接 cat /dev/fb0 > image.rgb ,然后用下面的脚本转换为 png 。由于 Framebuffer 格式为 RGB ,本来 A 所在的 channel 都为 0 ,所以用一些软件直接打开都是空白,只好写了脚本直接跳过 Alpha Channel 。 Framebuffer 配置( fbset 输出): mode "640x480-0" # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz geometry 640 480 1024 480 32 timings 0 0 0 0 0 0 0 accel false rgba 8/16,8/8,8/0,0/0 endmode 转换脚本(参考[Tips] 擷取framebuffer畫面):

Read More

每周分享第 36 期

QuickJS + libuv https://github.com/saghul/qjsuv Rust 实现的 Ruby https://github.com/artichoke/artichoke 类似 JSON 的数据格式 https://cbor.io/ rls 二代目 https://github.com/rust-analyzer/rust-analyzer 给 MacBook 添加触屏支持 https://github.com/bijection/sistine 用于 MBP with T2 的 Linux patch https://github.com/aunali1/linux-mbp-arch 在 tmux 中使用 Touch ID 认证 sudo https://blog.birkhoff.me/make-sudo-authenticate-with-touch-id-in-a-tmux/ iOS 13 beta 6 发布 Linux Journal 结束了它的使命 ssh 8.0 Add support for ECDSA keys in PKCS#11 tokens

Read More

用 PulseView 配合 DSLogic 调试 SPI Flash

最近需要用到逻辑分析仪来调试 SPI Flash,设备是 DreamSourceLab 的 DSLogic ,最开始用的是官方的 DSView ,确实能够抓到 SPI 的信号,也可以解析出一些 SPI Flash 的数据,但是很多是不完整的。 后来把源码下载下来,发现是基于 sigrok 和 PulseView 做的一个魔改版,然后 sigrok 官网上最新的版本已经支持了 DSLogic ,于是就用 PulseView 替代 DSView 。一开始遇到的问题是没有 firmware ,一番搜索找到了解决方案,按照脚本下载好文件即可。 进到 PulseView 以后,把 SPI 的四路信号接上,然后抓了一段信号,解析: 可以看到它正确地解析出来了 Fast Read 命令。由于 DSView 它 fork 自一个比较老的版本,所以它并不能正确解析出来。 P.S. Linux 下它界面显示比 macOS 下好看一些,估计是没有适配好。

Read More

每周分享第 35 期

Apple Touch Bar 的 Windows 第三方支持 https://github.com/imbushuo/DFRDisplayKm WSL2 新的进展 http://www.phoronix.com/scan.php?page=news_item&px=Windows-WSL2-Localhost-Plus Lightning 转接头里面居然跑 iBoot 和 Darwin https://readhacker.news/s/46Zde iOS 13 beta 5 发布 ES2019 前瞻 https://blog.tildeloop.com/posts/javascript-what%E2%80%99s-new-in-es2019 Rust 可持久化数据结构 https://github.com/orium/rpds Rust 不可变数据结构 https://github.com/bodil/im-rs macOS Catalina 10.15 beta 5 发布 Algebraic Effect https://overreacted.io/algebraic-effects-for-the-rest-of-us/ Donald Knuth 对于 Sensitivity Proof 证明的简化 https://readhacker.news/s/47fsA 真是老当益壮 TLS1.3 标准的简化版 https://readhacker.news/s/47eG9 iTerm 3.3 发布 https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog

Read More