FirmwareKit.Oppo 0.1.0

dotnet add package FirmwareKit.Oppo --version 0.1.0
                    
NuGet\Install-Package FirmwareKit.Oppo -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FirmwareKit.Oppo" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FirmwareKit.Oppo" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="FirmwareKit.Oppo" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FirmwareKit.Oppo --version 0.1.0
                    
#r "nuget: FirmwareKit.Oppo, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FirmwareKit.Oppo@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FirmwareKit.Oppo&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=FirmwareKit.Oppo&version=0.1.0
                    
Install as a Cake Tool

FirmwareKit.Oppo

NuGet License: MIT

Oppo 固件解析综合包,一站式安装获取所有支持的 Oppo 固件格式解析能力。

功能特性

  • 统一接口:使用 OppReader 类统一处理所有支持的格式

  • 自动格式检测:自动识别 OFP、OPS、OZIP 等固件格式

  • 完整格式支持: | 格式 | 扩展名 | 说明 | |------|--------|------| | OFP | .ofp | Oppo/OxygenOS 固件包 (MTK/QC) | | OPS | .ops | Oppo 编程器固件 | | OZIP | .ozip | Oppo 加密 ZIP 固件 |

  • 元数据读取:无需完全解密即可获取固件包信息

  • 条目枚举:流式枚举固件包内文件,高效处理大文件

  • 数据提取:解密并提取固件包内容

  • 内置密钥支持:预置多种设备的解密密钥

安装说明

# 安装完整包(推荐)
dotnet add package FirmwareKit.Oppo

# 或按需安装单个格式支持
dotnet add package FirmwareKit.OfpReader  # 仅 OFP 格式
dotnet add package FirmwareKit.OpsReader   # 仅 OPS 格式
dotnet add package FirmwareKit.OzipReader  # 仅 OZIP 格式

快速开始

统一读取(推荐)

using FirmwareKit.Oppo;

// 自动检测格式
var metadata = OppReader.ReadMetadata("firmware.ofp");  // 或 .ops, .ozip
Console.WriteLine($"格式: {metadata.Format}");
Console.WriteLine($"条目数: {metadata.EntryCount}");

// 解析条目
using var stream = File.OpenRead("firmware.ofp");
var archive = OppReader.Parse(stream);

foreach (var entry in archive.Entries)
{
    Console.WriteLine($"{entry.Name} - {entry.Size} bytes");
}

格式特定操作

using FirmwareKit.OfpReader;  // OFP 格式
using FirmwareKit.OpsReader;   // OPS 格式
using FirmwareKit.OzipReader;  // OZIP 格式

// OFP
var ofpMeta = OfpReader.ReadMetadata("firmware.ofp");

// OPS
var opsMeta = OpsReader.ReadMetadata("firmware.ops");

// OZIP
var ozipMeta = OzipReader.ReadMetadata("firmware.ozip");

提取固件内容

var options = new OppExtractOptions
{
    OutputDirectory = "./output",
    Overwrite = true
};

var result = OppReader.Extract("firmware.ofp", "./output", options);
Console.WriteLine($"提取完成: {result.SuccessfullyExtracted}/{result.TotalEntries}");

if (!result.Success)
{
    Console.WriteLine($"失败条目: {result.FailedEntries.Count}");
}

项目结构

FirmwareKit.Oppo
├── FirmwareKit.Oppo.Core      # 核心接口和公共模型
├── FirmwareKit.OfpReader       # OFP 格式解析
├── FirmwareKit.OpsReader       # OPS 格式解析
└── FirmwareKit.OzipReader      # OZIP 格式解析

API 参考

统一入口类

说明
OppReader 统一入口,自动检测格式并路由到对应解析器
OppArchive 固件归档对象,包含条目集合
OppEntry 单个文件条目
OppMetadata 固件元信息
OppFormat 格式枚举

格式特定类

说明
OfpReader OFP 格式专用入口
OpsReader OPS 格式专用入口
OzipReader OZIP 格式专用入口

系统要求

  • .NET 8.0 或更高版本
  • .NET Standard 2.0 / 2.1

相关链接

许可证

本项目采用 MIT 许可证开源。详见 LICENSE 文件。

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 59 6/11/2026