二进制咸鱼的自我救赎

幸福往往是摸的透彻,而敬业的心却常常隐藏。

About RSS

re

戴记严选 GM3323D 驱动逆向,并实现在 Linux 上调整灯的颜色

2026-10-15 #re

我手里有一个几年前买的戴记严选 GM3323D鼠标,这个鼠标为数不多的缺点就是他只能在 Windows 上进行设置鼠标的灯光特效,所以趁着现在有空赶紧对他的驱动进行逆向和移植。

恢复一个可执行文件中的函数名 -- 维新派方法(反编译+嵌入向量搜索)

2026-10-12 #re

自从大模型横空出世以来,每隔几个月都会带来巨大进步,同时也带来了恢复函数名字的方法变革。因为大模型对代码的理解能力相对于传统方法有了提升,甚至可以使用自带的知识来恢复出被去除的函数信息。所以我直接开蹭…

恢复一个可执行文件中的函数名 -- 守旧派方法

2026-10-09 #re

在逆向工程中,有时候对着一个开源库分析了半天,然后才发现这是一个开源库,会让人非常懊恼。所以我研究了一下多种恢复函数的方法,对比这些方法的性能,效果等方面。这篇文章先讲述传统方法:通过固定特征和函数之…

继续完善不太能用的 Python 反编译器

2026-09-03 #re

在之前的文章里,我实现了一个不太能用的 Python 反编译器,后来在不断咨询 LLM 修复建议,并手动分析和实现之后,现在能对简单的程序进行反编译了。在这篇文章里,我讲一下主要的修复项。

7z 路径处理导致的问题(CVE-2025-11001/CVE-2025-55188)

2026-02-19 #re

去年在上网冲浪的时候发现 7z 连续在软链接处理上爆出来了 3 个漏洞,而且是可稳定利用的路径穿梭漏洞,所以就想自己看看为什么会出现这种情况,两者之间是否有共通点。

实现一个不太能用的 Python 字节码反编译器

2025-10-07 #re

写一个反编译器是我在大学的时候就有的一个想法,因为现有的反编译器支持的架构和语言很有限,能自己写反编译器就能支持更多语言了。结果发现这是一个大坑,公开的资料很少,而且需要手动处理很多很多的边界条件,在…

使用 Python 来自动化 gdb 调试

2024-02-10 #re #gdb #python

在工作中碰到了很多地方只能用 gdb 进行调试,并且得进行很多冗余的操作。经过资料查询后发现,可以使用 Python 对 gdb 进行 api 调用,但是网上相关文档比较的少,所以本文将记录一些相关操…

WinRAR 最近的 2 个漏洞分析/复现

2023-09-30 #re

其实这个漏洞的公告一出来我就开始进行分析了,只是因为空闲时间的利用非常的差,所以分析的很慢,最多就确认了漏洞修复地点。后来大佬们详细的分析就发出来了,所以这篇文章只能算是复现文章了...

海康威视 固件格式/历史漏洞 分析

2023-03-11 #re

高中时候曾经当过一段时间的脚本小子,通过 CVE-2017-7921 拿下过一波摄像头,体验了一把游戏看门狗里的感觉。所以在今天,在掌握了一定的技术之后,我将尝试对海康威视的固件进行重新分析。

plt hook 项目代码分析和最小实现

2022-04-05 #re #plt #elf

虽然知道可以通过魔改 plt 表实现 hook 函数,但是不知道具体实现...碰巧最近用到了 plthook 这个库,于是我就研究了下 plthook 这个库,并且仿照着这个库重新实现一份代码。

重写 OLLVM 之控制流平坦化

2021-01-21 #re #llvm

OLLVM 的控制流平坦化是逆向老哥最讨厌的混淆了,因为一旦使用就代表着 IDA 的 decompiler 彻底报废了。所以了解并在自己的项目中重写控制流平坦化挺重要的。

CodeQL 体验

2020-04-20 #re #codeql

概要 之前在 Twitter 上看到有大佬说 Github Learning Club 上搞了个免费的 CodeQL 课程,课程最终目标是使用 CodeQL 这个语言找出 uboot 中的 9 个漏洞…

在 LLVM 代码树外编译 LLVM Pass (使用 OLLVM 示范)

2020-01-01 #re #llvm

在网络上流传的编译 LLVM Pass 都需要一份 LLVM 源码,从整个源代码编译,编译非常花时间 (i7 6700HQ 使用 make -j8 编译整个项目花了近 50 分钟),所以在翻阅文档时发…

给 ELF 文件加上后门

2020-01-01 #re #mal #backdoor

在渗透测试中,给常用的可执行文件加上后门是很常见的操作。但是之前的加后门 "The backdoor factory" 已经不维护了,而且还是 Python2 写的,代码质量也...所以我自己尝试着重…

使用 LLVM Pass 实现字符串加密

2020-01-01 #re #llvm

这个项目可以作为我看了这么久 LLVM 的 Docs 助眠的一个小总结吧。这个项目主要就是给函数使用的常量字符串进行加密,在程序被静态分析的时候干扰分析。当然找到思路后,这个混淆还是很容易解开的。

重写 OLLVM 之虚假控制流

2020-01-01 #re #llvm

由于我个人觉得 OLLVM 的代码年久失修,所以就新建了个项目,开始学习并重写 OLLVM。项目地址:https://github.com/chenx6/baby_obfuscator。如果将我的重写…