コード例 #1
0
ファイル: inst6809.c プロジェクト: gordonjcp/miragetools
void rol()
{
  uint16_t a = GET_EAB;
  uint8_t t = get_memb(a);

  rol8(t);
  set_memb(a, t);
}
コード例 #2
0
ファイル: key.cpp プロジェクト: Qix-/noCheat
NC_LIBEXPORT(VOID) ncKeyShift(unsigned char* keybuf, int len)
{
	for(int i = 0; i < (NC_ENC_PASSES - 1); i++)
	{
		bool f = false;
		for(int l = 0; l < len; l++)
		{
			if(f)
				rol8((unsigned char*)&keybuf[l], 2);
			else
				ror8((unsigned char*)&keybuf[2], 3);
			f = !f;
		}
	}
}
コード例 #3
0
ファイル: EDID.c プロジェクト: 9crk/it6604
BYTE GetMeshCheckSum(BYTE *pEDIDBuff, int N)
{
    int i ;
    BYTE c, checksum ;

    for( i = 0, checksum = 0 ; i < N ; i++)
    {
        c = pEDIDBuff[i] ;
        EDID_DEBUG_PRINTF2(("c = %02X",(int)c)) ;
        c = rol8(c,i) ;
        EDID_DEBUG_PRINTF2(("-> %02X",(int)c)) ;
        EDID_DEBUG_PRINTF2(("MeshChecksum[%02X]: %02X",(int)i,(int)checksum)) ;
        checksum ^= c ;
        EDID_DEBUG_PRINTF2(("^%02X = %02X\n",(int)c,(int)checksum)) ;
    }

    return checksum ;
}
コード例 #4
0
static u8
lowpan_compress_addr_64(u8 **hc06_ptr, u8 shift, const struct in6_addr *ipaddr,
		 const unsigned char *lladdr)
{
	u8 val = 0;

	if (is_addr_mac_addr_based(ipaddr, lladdr))
		val = 3; /* 0-bits */
	else if (lowpan_is_iid_16_bit_compressable(ipaddr)) {
		/* compress IID to 16 bits xxxx::XXXX */
		memcpy(*hc06_ptr, &ipaddr->s6_addr16[7], 2);
		*hc06_ptr += 2;
		val = 2; /* 16-bits */
	} else {
		/* do not compress IID => xxxx::IID */
		memcpy(*hc06_ptr, &ipaddr->s6_addr16[4], 8);
		*hc06_ptr += 8;
		val = 1; /* 64-bits */
	}

	return rol8(val, shift);
}
コード例 #5
0
ファイル: inst6809.c プロジェクト: gordonjcp/miragetools
void rolb()
{
  rol8(rb);
}
コード例 #6
0
ファイル: inst6809.c プロジェクト: gordonjcp/miragetools
void rola()
{
  rol8(ra);
}
コード例 #7
0
ファイル: mifare_desfire.c プロジェクト: jrayner/bv_embedded
int
mifare_desfire_authenticate (MifareTag tag, uint8_t key_no, MifareDESFireKey key)
{
    ASSERT_ACTIVE (tag);
    ASSERT_MIFARE_DESFIRE (tag);

    MIFARE_DESFIRE (tag)->last_picc_error = OPERATION_OK;

    MIFARE_DESFIRE (tag)->authenticated_key_no = NOT_YET_AUTHENTICATED;
    free (MIFARE_DESFIRE (tag)->session_key);
    MIFARE_DESFIRE (tag)->session_key = NULL;

    BUFFER_INIT (cmd1, 2);
    BUFFER_INIT (res, 9);

    BUFFER_APPEND (cmd1, 0x0A);
    BUFFER_APPEND (cmd1, key_no);

    DESFIRE_TRANSCEIVE (tag, cmd1, res);

    uint8_t PICC_E_RndB[8];
    memcpy (PICC_E_RndB, res+1, 8);

    uint8_t PICC_RndB[8];
    memcpy (PICC_RndB, PICC_E_RndB, 8);
    mifare_cbc_des (key, PICC_RndB, 8, MD_RECEIVE, 0);

    uint8_t PCD_RndA[8];
    DES_random_key ((DES_cblock*)&PCD_RndA);

    uint8_t PCD_r_RndB[8];
    memcpy (PCD_r_RndB, PICC_RndB, 8);
    rol8 (PCD_r_RndB);

    uint8_t token[16];
    memcpy (token, PCD_RndA, 8);
    memcpy (token+8, PCD_r_RndB, 8);

    mifare_cbc_des (key, token, 16, MD_SEND, 0);

    BUFFER_INIT (cmd2, 17);

    BUFFER_APPEND (cmd2, 0xAF);
    BUFFER_APPEND_BYTES (cmd2, token, 16);

    DESFIRE_TRANSCEIVE (tag, cmd2, res);

    uint8_t PICC_E_RndA_s[8];
    memcpy (PICC_E_RndA_s, res+1, 8);

    uint8_t PICC_RndA_s[8];
    memcpy (PICC_RndA_s, PICC_E_RndA_s, 8);
    mifare_cbc_des (key, PICC_RndA_s, 8, MD_RECEIVE, 0);

    uint8_t PCD_RndA_s[8];
    memcpy (PCD_RndA_s, PCD_RndA, 8);
    rol8 (PCD_RndA_s);


    if (0 != memcmp (PCD_RndA_s, PICC_RndA_s, 8)) {
	    printf ("PCD_RndA_s != PICC_RndA_s");
		return -1;
    }

    MIFARE_DESFIRE (tag)->authenticated_key_no = key_no;
    MIFARE_DESFIRE (tag)->session_key = mifare_desfire_session_key_new (PCD_RndA, PICC_RndB, key);

    return 0;
}