Commit c79d9ef8 authored by 李鑫3's avatar 李鑫3

🐞 fix:替换新解锁算法

parent fa844caa
......@@ -1982,37 +1982,27 @@ void Get_UID_msg(void)
uint32_t ValidSeedKey;
const uint32_t diagKeyP2 = 0x8ADB2275;
const uint32_t diagKeyP1 = 0x354EAF42;
uint8_t Key[4];
uint8_t seed_result[4];
uint32_t GenerateKey(uint8_t *Seed)
{
uint8_t Key[4];
uint8_t i;
union
{
uint8_t byte[4u];
uint32_t wort;
}seedlokal;
const uint32_t mask = 0xA0BDDFA0u;
seedlokal.wort = ((uint32_t)Seed[0u] << 24u) + ((uint32_t)Seed[1u] << 16u) + ((uint32_t)Seed[2u] << 8u) + (uint32_t)Seed[3u];
for (i = 0u; i < 35u; i++)
{
if (seedlokal.wort & 0x80000000u)
{
seedlokal.wort = seedlokal.wort << 1u;
seedlokal.wort = seedlokal.wort ^ mask;
}
else
{
seedlokal.wort = seedlokal.wort << 1u;
}
}
for (i = 0u; i < 4u; i++)
{
Key[3u - i] = seedlokal.byte[i];
}
ValidSeedKey=((uint32_t)Key[0u] <<24u) + ((uint32_t)Key[1u] << 16u) + ((uint32_t)Key[2u] << 8u) + ((uint32_t)Key[3u] );
uint32_t seed_val = 0;
seed_val = ((uint32_t)Seed[3] << 24u) + ((uint32_t)Seed[2] << 16u) + ((uint32_t)Seed[1] << 8u) + ((uint32_t)Seed[0]);
uint32_t temp = seed_val * diagKeyP2;
temp = diagKeyP1 ^ temp;
Key[0] = (uint8_t)(temp);
Key[1] = (uint8_t)((temp >> 8u)) ;
Key[2] = (uint8_t)((temp >> 16u));
Key[3] = (uint8_t)((temp >> 24u));
ValidSeedKey =((uint32_t)Key[3] << 24u) + ((uint32_t)Key[2] << 16u) + ((uint32_t)Key[1] << 8u) + ((uint32_t)Key[0]);
return ValidSeedKey;
......@@ -2348,14 +2338,14 @@ void get_seed_msg(void)
{
memcpy(seednum,&u8get714msg[3],4);
testseed = GenerateKey(seednum);
seedresult[0] = (uint8_t)(testseed >> 24);
seedresult[1] = (uint8_t)(testseed >> 16);
seedresult[2] = (uint8_t)(testseed >> 8);
seedresult[3] = (uint8_t)testseed ;
seedresult[3] = (uint8_t)(testseed >> 24);
seedresult[2] = (uint8_t)(testseed >> 16);
seedresult[1] = (uint8_t)(testseed >> 8);
seedresult[0] = (uint8_t)testseed ;
getseedresult = 1;
}
getseedresult = 1;
// getseedresult = 1;
}
uint8_t opentrackstep = 0;
void Opentracksta(void)
......
......@@ -81,4 +81,6 @@ extern uint8_t H630BUFFER[10];
extern uint8_t BOOT2[9];
extern uint8_t HWin[5];
extern uint8_t HWout[8];
extern const uint32_t diagKeyP1;
extern const uint32_t diagKeyP2;
#endif
......@@ -311,7 +311,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
if((rightflg==1) && (leftflg==1))
{
igoff++;
if(igoff==60)
if(igoff==110)
{
POWER_CTRL_KL30 = 0u; //B+
POWER_CTRL_KL15 = 0u; //KL15
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment