⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cas_key.h

📁 EMU_FTAbox_ref441328_code_source ali m3327
💻 H
字号:
/****************************************************************************
*
*  ALi 
*
*  File: cas_key.h
*
*  Description: Define CA_STS Nagra ID Len IRD Caid and KeyBin
*             
*  History:
*      Date        		Author         	Version   	Comment
*      ====        	      ======         	=======   	=======
*  		
*
****************************************************************************/

#ifndef CAS_KEY_H
#define CAS_KEY_H

#include <types.h> // UINT16 UINT32 NULL INT8 INT16 INT32

#define S_ID					0x00
#define S_PPUA_OFFSET		0x10
#define VIA_ID_OFFSET		0x30
#define VIA_PPUA_OFFSET	0x6C
#define VIA_UA_OFFSET		0xBC
#define NGR_ID_OFFSET		0x120
#define IRD_PG_OFFSET		0x12A
#define IRD_HSN_OFFSET		0x145
#define IRD_HMK_OFFSET		0x160
#define IRD_PMK_OFFSET		0x1BA
#define UPD_FLAG_OFFSET	0x202
#define SIG_UPD_OFFSET		0x203
#define KEY_IDX_OFFSET		0x204
#define Send_to_card			0x20A
#define RESULT				0x20B
#define CA_SYS				0x20C
#define IDENT				0x20D
#define KEYIDX				0x20F
#define OPKEY_OFFSET		0x210

#define keyIdxConax1		0xEF4
#define keyIdxConax2		0xEF5
#define Conax1_E			0xEF6
#define Conax2_E			0xF36
#define Conax1_N			0xF76
#define Conax2_N			0xFB6
#define KEY_IDX2_OFFSET	0xFFC
#define KEY_IDX3_OFFSET	0xFFD

#define OPKEY_LEN			0xB
#define OPKEY_END			0xFFE
#define OPKEY_NUM			0x12C


#define S_ID_LEN				0x2
#define S_PPUA_LEN			0x4
#define S_PROV_NUM			0x8

#define VIA_ID_LEN			0x3
#define VIA_PPUA_LEN		0x4
#define VIA_UA_LEN			0x5
#define VIA_PROV_NUM		0x14

#define NGR_ID_LEN			0x2
#define NGR_ID_NUM			0x5

#define IRD_HMK_LEN			0xA
#define IRD_PMK_LEN			0x8
#define IRD_PG_LEN			0x3
#define IRD_HSN_LEN			0x3
#define IRD_PROV_NUM		0x9

#define SECA					0x10
#define VIAC					0x20
#define NAGRA				0x30
#define IRDETO				0x40
#define CONAX				0x50
#define CRYPTO				0x60
#define SKYCRYPT			0x70

struct KEY_SECSECTION
{
	UINT8 sec_ID[S_PROV_NUM][S_ID_LEN];
	UINT8 sec_PPUA[S_PROV_NUM][S_PPUA_LEN];
};

struct KEY_VIASECTION
{
	UINT8 via_ID[VIA_PROV_NUM][VIA_ID_LEN];
	UINT8 via_PPUA[VIA_PROV_NUM][VIA_PPUA_LEN];
	UINT8 via_UA[VIA_PROV_NUM][VIA_UA_LEN];
};

struct KEY_NAGSECTION
{
	UINT8 nag_ID[NGR_ID_NUM][NGR_ID_LEN];
};

struct KEY_IRDSECTION
{
	UINT8 ird_PGID[IRD_PROV_NUM][IRD_PG_LEN];
	UINT8 ird_HSNS[IRD_PROV_NUM][IRD_HSN_LEN];
	UINT8 ird_HMKS[IRD_PROV_NUM][IRD_HMK_LEN];
	UINT8 ird_PMKS[IRD_PROV_NUM][IRD_PMK_LEN];
};


struct KEY_OPKEYS
{
	UINT8 key_CASYS;
	UINT8 key_PROVID;
	UINT8 key_KEYID;
	UINT8 opkey [8];
};

struct KEY_BIN
{
	struct KEY_SECSECTION seca;
	struct KEY_VIASECTION viacces;
	struct KEY_NAGSECTION nagra;
	struct KEY_IRDSECTION irdeto;

	UINT8 update_flag;
	UINT8 sig_update;
	UINT8 key_idx[6];
	UINT8 send_to_card;
	UINT8 result;
	UINT8 ca_sys;
	UINT8 ident[2];
	UINT8 keyidx;
	
	struct KEY_OPKEYS opkeys[OPKEY_NUM];

	UINT8 keyidxConax1;
	UINT8 keyidxConax2;
	UINT8 conax_expo[2][0x40];
	UINT8 conax_modu[2][0x40];
	UINT8 rfu[6];
	UINT8 keyidx2;
	UINT8 keyidx3;
	UINT8 rfu1[2];
	
};

INT32 api_cas_mem_write(UINT8 *write_buffer, UINT32 write_size);
INT32 api_cas_mem_read(UINT8* read_buffer, UINT32 read_size);
INT32 default_data_write(UINT8 *write_buffer, UINT32 write_size);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -