Μιας που αναφέρθηκες στον Jeremy, στο άλλο φόρουμ μου φαίνεται ή έχει ανεβάσει μέρος του κώδικα του προγράμματος magic cmd creator
Παραθέτω μέος του κώδικα :
αυτό δεν είναι το cmd Που θέλουμε ??? ( printf("%02X", cmd[i]); )// Generate MAC key;
memcpy (KeyA, CARDMASK, 16);
EncryptCBCString(KeyE, ZEROXOR, KeyA, 16);
// Calculate Signature
DataLen = MakeMAC(&update[DataLen], KeyA, CARDINIT_IV, update, DataLen + 8);
// Encrypt command
EncryptCBCString(KeyE, CARDINIT_IV, update, DataLen);
memcpy(cmd, PDU, sizeof(PDU));
// append encrypted update
memcpy(&cmd[6], update, DataLen);
// set length
cmd[5] = DataLen;
// set key index;
cmd[3] = KeyIndex;
// add PDU header
DataLen += 6;
// Calculate CRC
CRC = CalculateCRC (cmd, DataLen);
// set CRC
cmd[DataLen++] = CRC;
return DataLen;
}
int main(int argc, char* argv[])
{
unsigned char KeyE[] = {0x7F,0x5B,0x70,0x54,0x07,0xB6,0x4B,0x0E ,0x36,0xAC,0x31,0xE6,0xD6,0x48,0xAA,0xB4 }; // Example key only ;)
unsigned char cmd[256], gamins[] = {0x09,0x03,0x66,0x66,0x66}; // Set HSN to 666666
DataLen = CreateUpdateCmd(cmd, KeyE, 15, gamins, sizeof(gamins));
printf("The update message to send to card is -> ");
for (int i = 0; i < DataLen; i++)
printf("%02X", cmd[i]);
printf("\nBye\n");
return 0;









