twangodev/sdocx

GitHub: twangodev/sdocx

逆向工程工具与多平台 SDK,用于解析三星笔记 .sdocx 格式并提取手写笔画数据与元数据。

Stars: 0 | Forks: 0

# sdocx [![CI](https://img.shields.io/github/actions/workflow/status/twangodev/sdocx/rust.yml?label=CI)](https://github.com/twangodev/sdocx/actions/workflows/rust.yml) [![crates.io (sdocx)](https://img.shields.io/crates/v/sdocx)](https://crates.io/crates/sdocx) [![npm](https://img.shields.io/npm/v/@twango/sdocx)](https://www.npmjs.com/package/@twango/sdocx) [![docs.rs](https://img.shields.io/docsrs/sdocx)](https://docs.rs/sdocx) [![License](https://img.shields.io/crates/l/sdocx)](https://github.com/twangodev/sdocx/blob/main/LICENSE) 逆向工程工具与 SDK,用于转换 Samsung Notes (`.sdocx`) 文件。 ## 安装 ### CLI ``` cargo install sdocx-cli ``` ### Library ``` cargo add sdocx ``` ### npm (WASM) ``` npm install @twango/sdocx ``` ### Docker ``` docker pull ghcr.io/twangodev/sdocx ``` ## CLI 使用 ``` sdocx-cli samples/handwritten.sdocx ``` ``` Page dimensions: 1848 x 7838 Background: #252525 1 page(s) Page 0: 1848 x 7838, 2769 strokes, 321776 points, 3 colors, 2769 with pressure ``` 使用 Docker: ``` docker run --rm -v "$(pwd)":/data ghcr.io/twangodev/sdocx /data/samples/handwritten.sdocx ``` ## Library 使用 ``` use sdocx::parse; fn main() -> sdocx::Result<()> { let doc = parse("notes.sdocx")?; println!("{} page(s)", doc.pages.len()); for page in &doc.pages { for stroke in &page.strokes { println!( "Stroke: {} points, color {:?}, width {}", stroke.points.len(), stroke.color, stroke.pen_width ); for point in &stroke.points { println!(" ({}, {})", point.x, point.y); } } } Ok(()) } ``` ## JavaScript 使用 ``` import init, { parse } from "@twango/sdocx"; await init(); const bytes = new Uint8Array(await file.arrayBuffer()); const doc = parse(bytes); for (const page of doc.pages) { for (const stroke of page.strokes) { console.log(`${stroke.points.length} points, color:`, stroke.color); } } ``` ## 格式文档 Samsung Notes `.sdocx` 文件是包含二进制笔画数据、元数据和页面定义的 ZIP 归档。[`notebooks/`](notebooks/) 目录包含记录逆向工程过程的 Jupyter notebooks: - [`01_container.ipynb`](notebooks/01_container.ipynb) — 归档结构与容器解析 - [`02_strokes.ipynb`](notebooks/02_strokes.ipynb) — 笔画解码与坐标解析 - [`03_ink.ipynb`](notebooks/03_ink.ipynb) — 墨水颜色与元数据提取 ## 许可证 [GPL-3.0](LICENSE)
标签:Docker, NPM 包, Rust, Samsung Notes, SDOCX, WASM, WebAssembly, 二进制分析, 二进制发布, 云安全运维, 云资产清单, 可视化界面, 安全防御评估, 开源工具, 手写笔记识别, 数据可视化, 文件解析器, 文件转换, 文档处理, 文档结构分析, 笔记应用, 网络流量审计, 请求拦截, 逆向工程, 通知系统