mirror of
https://git.um-react.app/um/lib_um_crypto_rust.git
synced 2026-03-08 04:29:54 +00:00
feat: add kugou db decryption logic
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
pub mod header;
|
||||
mod pc_db_decrypt;
|
||||
pub mod v2;
|
||||
pub mod v3;
|
||||
|
||||
pub use pc_db_decrypt::decrypt_db;
|
||||
|
||||
use crate::header::Header;
|
||||
use crate::v2::DecipherV2;
|
||||
use crate::v3::DecipherV3;
|
||||
use thiserror::Error;
|
||||
|
||||
use block_padding::UnpadError;
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
pub enum KugouError {
|
||||
#[error("Header too small, need at least {0} bytes.")]
|
||||
@@ -23,6 +28,18 @@ pub enum KugouError {
|
||||
|
||||
#[error("Unsupported cipher (self-test failed)")]
|
||||
SelfTestFailed,
|
||||
|
||||
#[error("Failed decrypt kugou db data: {0}")]
|
||||
DecryptKugouDbError(UnpadError),
|
||||
|
||||
#[error("Invalid database size: {0}")]
|
||||
InvalidDatabaseSize(usize),
|
||||
|
||||
#[error("Failed to decrypt page 1 (invalid header)")]
|
||||
DecryptPage1Failed,
|
||||
|
||||
#[error("Database does not seem valid")]
|
||||
InvalidPage1Header,
|
||||
}
|
||||
|
||||
pub enum Decipher {
|
||||
|
||||
Reference in New Issue
Block a user