#game-cube #file-format #yaz0 #rel #dol #rarc

picori

Picori是一个专注于GameCube和Wii游戏的反编译、修改和ROM破解的库

1个不稳定版本

0.1.0 2022年11月6日

#1625解析器实现

MIT 许可证

440KB
2.5K SLoC

Picori

crates.io docs.rs build coverage license

Picori (ピッコル) 是一个专注于GameCube和Wii游戏的反编译、修改和ROM破解的库。它支持解析和构建常见的文件格式,例如Dolphin可执行文件(DOL)。

功能使用示例安装

!!! The project is currently very early stages of development. !!!
!!! All features are not unimplemented and compatibility is not guaranteed. !!!

功能

  • DOL (Dolphin可执行文件)
  • REL (可重定位模块)
  • GCM (GameCube主盘)
  • CISO (紧凑型ISO)
  • Yaz0压缩
  • JIS X 0201编码
  • Shift JIS编码

使用

以下是一个使用Picori解析DOL文件并打印入口点的简单示例。

use std::fs::File;
use picori::Result;
fn main() -> Result<()> {
    let mut file = File::open("main.dol")?;
    let dol = picori::Dol::from_binary(&mut file)?;
    println!("entry point: {:#08x}", dol.entry_point());
    Ok(())
}

示例

examples目录中包含了一些如何使用Picori的示例。

  • dol_dump - 输出.dol文件的信息。
  • rel_dump - 输出.rel文件的信息。
  • gcm_dump - 输出.gcm/.iso文件的信息。

安装

Picori可在crates.io上获得。将以下内容添加到您的Cargo.toml

[dependencies]
picori = "0.1.0"

贡献

欢迎贡献!如果您想做出贡献,请在GitHub上提交一个pull request。请确保您的代码使用rustfmt格式化,并且没有警告或错误编译。

许可证

Picori采用MIT许可证。有关更多信息,请参阅LICENSE

依赖

~270–730KB
~17K SLoC