Some const propagation

This commit is contained in:
Henrik Rydgård committed 2025-06-05 22:46:20 +02:00
1 parent aec61100f6
commit d5c9ed2c09
4 files changed
+19 -18

No files matched your search

+5 -5
View File
@@ -40,7 +40,7 @@ effort (for example the reengineering of a great many Capstone chips).
#include <stdio.h>
#include <string.h>
static void SHAtoByte(BYTE *output, UINT4 *input, unsigned int len);
static void SHAtoByte(BYTE *output, const UINT4 *input, unsigned int len);
/* The SHS block size and message digest sizes, in bytes */
@@ -264,7 +264,7 @@ static void longReverse(UINT4 *buffer, int byteCount, int Endianness )
/* Update SHS for a block of data */
void SHAUpdate(SHA_CTX *shsInfo, BYTE *buffer, int count)
void SHAUpdate(SHA_CTX *shsInfo, const BYTE *buffer, int count)
{
UINT4 tmp;
int dataCount;
@@ -299,7 +299,7 @@ void SHAUpdate(SHA_CTX *shsInfo, BYTE *buffer, int count)
/* Process data in SHS_DATASIZE chunks */
while( count >= SHS_DATASIZE )
{
memcpy( (POINTER)shsInfo->data, (POINTER)buffer, SHS_DATASIZE );
memcpy( (POINTER)shsInfo->data, (CONST_POINTER)buffer, SHS_DATASIZE );
longReverse( shsInfo->data, SHS_DATASIZE, shsInfo->Endianness );
SHSTransform( shsInfo->digest, shsInfo->data );
buffer += SHS_DATASIZE;
@@ -307,7 +307,7 @@ void SHAUpdate(SHA_CTX *shsInfo, BYTE *buffer, int count)
}
/* Handle any remaining bytes of data. */
memcpy( (POINTER)shsInfo->data, (POINTER)buffer, count );
memcpy( (POINTER)shsInfo->data, (CONST_POINTER)buffer, count );
}
/* Final wrapup - pad to SHS_DATASIZE-byte boundary with the bit pattern
@@ -359,7 +359,7 @@ void SHAFinal(BYTE *output, SHA_CTX *shsInfo)
memset((POINTER)shsInfo, 0, sizeof(*shsInfo));
}
static void SHAtoByte(BYTE *output, UINT4 *input, unsigned int len)
static void SHAtoByte(BYTE *output, const UINT4 *input, unsigned int len)
{ /* Output SHA digest in byte array */
unsigned int i, j;
+2 -1
View File
@@ -3,6 +3,7 @@
/* POINTER defines a generic pointer type */
typedef unsigned char *POINTER;
typedef const unsigned char *CONST_POINTER;
/* UINT4 defines a four byte word */
typedef unsigned int UINT4;
@@ -37,7 +38,7 @@ typedef struct
/* Message digest functions */
void SHAInit(SHA_CTX *);
void SHAUpdate(SHA_CTX *, BYTE *buffer, int count);
void SHAUpdate(SHA_CTX *, const BYTE *buffer, int count);
void SHAFinal(BYTE *output, SHA_CTX *);
#endif /* end _SHA_H_ */
+11 -11
View File
@@ -33,8 +33,7 @@
#include "SHA1.h"
/* ------------------------- KEY VAULT ------------------------- */
unsigned char keyvault[0x80][0x10] =
{
static const unsigned char keyvault[0x80][0x10] = {
{0x2C, 0x92, 0xE5, 0x90, 0x2B, 0x86, 0xC1, 0x06, 0xB7, 0x2E, 0xEA, 0x6C, 0xD4, 0xEC, 0x72, 0x48},
{0x05, 0x8D, 0xC8, 0x0B, 0x33, 0xA5, 0xBF, 0x9D, 0x56, 0x98, 0xFA, 0xE0, 0xD3, 0x71, 0x5E, 0x1F},
{0xB8, 0x13, 0xC3, 0x5E, 0xC6, 0x44, 0x41, 0xE3, 0xDC, 0x3C, 0x16, 0xF5, 0xB4, 0x5E, 0x64, 0x84},
@@ -165,8 +164,8 @@ unsigned char keyvault[0x80][0x10] =
{0x5F, 0x8C, 0x17, 0x9F, 0xC1, 0xB2, 0x1D, 0xF1, 0xF6, 0x36, 0x7A, 0x9C, 0xF7, 0xD3, 0xD4, 0x7C},
};
u8 kirk1_key[] = {0x98, 0xC9, 0x40, 0x97, 0x5C, 0x1D, 0x10, 0xE8, 0x7F, 0xE6, 0x0E, 0xA3, 0xFD, 0x03, 0xA8, 0xBA};
u8 kirk16_key[] = {0x47, 0x5E, 0x09, 0xF4, 0xA2, 0x37, 0xDA, 0x9B, 0xEF, 0xFF, 0x3B, 0xC0, 0x77, 0x14, 0x3D, 0x8A};
static const u8 kirk1_key[] = {0x98, 0xC9, 0x40, 0x97, 0x5C, 0x1D, 0x10, 0xE8, 0x7F, 0xE6, 0x0E, 0xA3, 0xFD, 0x03, 0xA8, 0xBA};
static const u8 kirk16_key[] = {0x47, 0x5E, 0x09, 0xF4, 0xA2, 0x37, 0xDA, 0x9B, 0xEF, 0xFF, 0x3B, 0xC0, 0x77, 0x14, 0x3D, 0x8A};
/* ECC Curves for Kirk 1 and Kirk 0x11 */
// Common Curve paramters p and a
@@ -312,7 +311,7 @@ int kirk_CMD1(u8* outbuff, u8* inbuff, int size)
int kirk_CMD4(u8* outbuff, u8* inbuff, int size)
{
KIRK_AES128CBC_HEADER *header = (KIRK_AES128CBC_HEADER*)inbuff;
u8* key;
const u8* key;
AES_ctx aesKey;
if(is_kirk_initialized == 0) return KIRK_NOT_INITIALIZED;
@@ -332,7 +331,7 @@ int kirk_CMD4(u8* outbuff, u8* inbuff, int size)
void kirk4(u8* outbuff, const u8* inbuff, size_t size, int keyId)
{
AES_ctx aesKey;
u8* key = kirk_4_7_get_key(keyId);
const u8* key = kirk_4_7_get_key(keyId);
AES_set_key(&aesKey, key, 128);
AES_cbc_encrypt(&aesKey, inbuff, outbuff, (int)size);
}
@@ -340,7 +339,7 @@ void kirk4(u8* outbuff, const u8* inbuff, size_t size, int keyId)
int kirk_CMD7(u8* outbuff, u8* inbuff, int size)
{
KIRK_AES128CBC_HEADER *header = (KIRK_AES128CBC_HEADER*)inbuff;
u8* key;
const u8* key;
AES_ctx aesKey;
if(is_kirk_initialized == 0) return KIRK_NOT_INITIALIZED;
@@ -360,11 +359,12 @@ int kirk_CMD7(u8* outbuff, u8* inbuff, int size)
void kirk7(u8* outbuff, const u8* inbuff, size_t size, int keyId)
{
AES_ctx aesKey;
u8* key = kirk_4_7_get_key(keyId);
const u8* key = kirk_4_7_get_key(keyId);
AES_set_key(&aesKey, key, 128);
AES_cbc_decrypt(&aesKey, inbuff, outbuff, (int)size);
}
// This one works in-place.
int kirk_CMD10(u8* inbuff, int insize)
{
KIRK_CMD1_HEADER* header = (KIRK_CMD1_HEADER*)inbuff;
@@ -713,9 +713,9 @@ int kirk_init2(u8 * rnd_seed, u32 seed_size, u32 fuseid_90, u32 fuseid_94) {
is_kirk_initialized = 1;
return 0;
}
u8* kirk_4_7_get_key(int key_type)
{
if((key_type < 0) || (key_type >=0x80)) return (u8*)KIRK_INVALID_SIZE;
const u8* kirk_4_7_get_key(int key_type){
if((key_type < 0) || (key_type >=0x80)) return (const u8*)KIRK_INVALID_SIZE;
return keyvault[key_type];
}
+1 -1
View File
@@ -213,7 +213,7 @@ void kirk4(u8* outbuff, const u8* inbuff, size_t size, int keyId);
void kirk7(u8* outbuff, const u8* inbuff, size_t size, int keyId);
//helper funcs
u8* kirk_4_7_get_key(int key_type);
const u8* kirk_4_7_get_key(int key_type);
//kirk "ex" functions
int kirk_CMD1_ex(u8* outbuff, u8* inbuff, int size, KIRK_CMD1_HEADER* header);