Skip to main content
IHEXON

IHEXON

Do You Hear the People Sing ?

Recent

Installing pwndbg From Source With venv

·481 words·3 mins
This is the way I install pwndbg from a local checkout when I want the Python dependencies isolated in a venv. I am not using setup.sh here. The script is convenient, but it also tries to install system packages with sudo. For a clean user-level install, I prefer doing the Python part explicitly.

Installing pwntools Locally and Importing pwn

·485 words·3 mins
I hit this while installing a local pwntools checkout: error: externally-managed-environment This is not a pwntools problem. It is Python packaging doing what the distro asked it to do. On recent Debian and Ubuntu systems, the system Python is marked as externally managed, so pip install into the global interpreter is blocked by default.

在 Go 里用 libarchive 写一个接近 bsdtar 的归档器

·649 words·4 mins
这篇只是记一下最近用 Go 包 libarchive 的思路。 目标很普通:把一个目录打成 tar.zst,解包时也尽量保留原来的文件系统语义。真正费时间的地方不在遍历目录,而是各种边角:非 ASCII 文件名、软链接、硬链接、稀疏文件、设备节点、权限、owner、xattr,还有一些错误只会在 close 阶段冒出来。 如果只用 Go 标准库 archive/tar 手写,普通文件当然很快能跑通,但后面大概率会变成不断补特例。所以我最后还是把 libarchive 当成底层实现,行为尽量贴近 bsdtar。

网络安全考古:NSE 入门

·715 words·4 mins
NSE 是 Nmap Scripting Engine,是 Nmap 内置的 Lua 脚本扩展系统,用来在端口扫描和服务识别之后继续做协议探测、资产发现、漏洞验证和结构化信息采集。它常见于 HTTP 指纹识别、TLS 证书分析、数据库未授权探测、默认账号检查和轻量级漏洞检测等场景。

网络安全考古:使用 NSE 编写一个 HTTP(S) 资产指纹脚本

·1275 words·6 mins
NSE 是 Nmap 的 Lua 脚本引擎,适合把一次协议探测挂到 Nmap 的扫描结果上。这篇直接进入实操:编写一个 HTTP(S) 资产指纹脚本,用于 Web 资产发现,提取状态码、Server、Location、Content-Type、title、body 长度、body hash 和 preview。

CMakeLists.txt 入门模板

·162 words·1 min
编写 CMakeLists.txt 的套路基本就是这样,先填写 project 信息,然后引用宏,定义自己的 option,写判断语句,然后 add_executable,target_sources。

ZeroTier 更改 HOME 目录

·133 words·1 min
zerotier-one 在启动的时候会建立 /var/lib/zerotier-one 作为自己的工作目录,里面存放了zerotier 运行时所需要的配置文件。

配置 Vim

·390 words·2 mins
Vim 不知不觉已经迭代到 9.0 版本了,回想起来我昨天好像还在用 Vim 6.0。

Rockchip Wi-Fi/BT 调试笔记

·238 words·2 mins
WL_ROCKCHIP 下的 Realtek 模组和 AP6xxx 模组不能同时选择为 y,AP6xxx 和 Cypress 也是互斥的。至于 out-of-tree 模块则没有这个限制,可以在 Buildroot 中直接修改 Makefile。

Distcc 快速上手与性能优化

·1464 words·7 mins
重新编译内核真的是非常耗时。修改内核树内的驱动不用重新构建整个内核,但每修改调度、文件系统这类底层代码,都需要重新构建一次 zImage 镜像,然后分发到测试机器上。构建 kernel 巨浪费时间,不知道内核开发者怎么受得了这种苦。

BinaryHub:预构建嵌入式二进制工具

·222 words·2 mins
你可以在我的 GitHub 上下载到这些二进制 ELF 工具,如 curl,wget,ftp,busybox 等。这些工具主要用于分析嵌入式设备的固件,搭建测试环境,还可以整点有趣的活,比如在运营商的光猫上跑点自己的代码,比如 PHP 和 Perl。

Linux 显示软件栈乱谈

·270 words·2 mins
Linux 显示软件栈贼复杂,是我见过最复杂的系统,然后我本来就挺笨的。关于 Linux 显示软件与技术栈,说错我不负责,你看看就好。

BetterProfiler 比赛文档

·503 words·3 mins
BetterProfiler 是一个针对嵌入式 Linux 的进程动态跟踪器。BetterProfiler 可追踪进程与内核的整个生命周期,文件 IO,网络IO,内存操作,加密读写等。

我不

·11 words·1 min
我抗拒,我不要,我不,不,NO 上大学的时候,从宿舍到科技园偶尔能碰见几个人和我友善的打招呼。他们大老远就喊:学长!学…..长!! 我的内心:”我超,他认识我,下次请不要喊我了,求你了,真的求求了,MTF”