twangodev/sdocx
GitHub: twangodev/sdocx
逆向工程工具与多平台 SDK,用于解析三星笔记 .sdocx 格式并提取手写笔画数据与元数据。
Stars: 0 | Forks: 0
# sdocx
[](https://github.com/twangodev/sdocx/actions/workflows/rust.yml)
[](https://crates.io/crates/sdocx)
[](https://www.npmjs.com/package/@twango/sdocx)
[](https://docs.rs/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, 二进制分析, 二进制发布, 云安全运维, 云资产清单, 可视化界面, 安全防御评估, 开源工具, 手写笔记识别, 数据可视化, 文件解析器, 文件转换, 文档处理, 文档结构分析, 笔记应用, 网络流量审计, 请求拦截, 逆向工程, 通知系统