bxff/samsung-notes-format

GitHub: bxff/samsung-notes-format

逆向工程读取并渲染 Samsung Notes .sdocx 文件中手写笔划格式的轻量研究工具。

Stars: 1 | Forks: 0

# samsung-notes-format 针对 Samsung Notes `.sdocx` 文件中手写内容的逆向工程读取器。解码磁盘上的笔划格式,并将笔划重新渲染出来。 这是一个专注于笔划几何结构的研究仓库。如需一个更完整的库(该库还能解码压感、倾斜度和颜色,并渲染完整的墨迹),请参阅 [twangodev/sdocx](https://github.com/twangodev/sdocx)。 A Samsung Notes page decoded by render.py: the handwriting, with each stroke drawn inside its stored bounding box - 分析文章(原理与目的):https://musaab.io/posts/2026/reverse-engineering-samsung-notes/ - 格式参考:[RESEARCH.md](RESEARCH.md) ## 用法 ``` python3 render.py note.sdocx [out.svg] ``` 解析笔记,解码每一条笔划,并生成一个 SVG 文件,每条笔划都绘制在其存储的边界框内。整个 pipeline 是一个自包含的文件,约 190 行代码。 ## 其他文件 早期的研究文件,保留下来仅供参考,并非标准实现。`render.py` 是清晰且正确的版本;请将其余文件视为构建该版本的探索痕迹。 - `sdocx_extractor.py`:更完整的提取器,可将所有元数据导出为 JSON。其 delta 解码略有简化(5 个整数位,而不是完整的 10 位);在真实手写内容上输出结果是相同的,但 `render.py` 包含的是精确的解码。 - `plot_strokes.py`:早期的 SVG 渲染器。 - `artifacts/debugging/`:在研究该格式时编写的草稿脚本;在找到正确编码之前,它们尝试了几种错误的编码方式。 - `sdocxFiles/`、`extracted_sdocx/`:示例笔记。 - `blog-artifacts/`:用于分析文章的图表和比较工具。 - `*.png`、`Screenshot_*.jpg`:研究过程中留下的渲染和比较产物,作为进度的大致记录予以保留,而未作清理(`example.png` 是上文使用的那张图片)。 ## 说明 为实现互操作性和研究目的而独立实现。本仓库不包含任何 Samsung 二进制文件或反编译代码,仅包含原创代码和已记录的格式。Samsung Notes 是 Samsung Electronics 的商标。此处的代码采用 MIT 许可证(参见 [LICENSE](LICENSE))。
标签:Python, SVG渲染, 云资产清单, 文件格式解析, 无后门, 逆向工具, 逆向工程