Перейти к содержанию
View in the app

A better way to browse. Learn more.

iKey

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Рекомендуемые сообщения

Опубликовано
comment_47077

Всем приает! Я решил сделать прогу котопая перебирает ключи, но мне надо понять как считать crc я почитал много форумов но так ничего и не нашел. 

Допусти у меня есть ключ 3D 00 00 00 00 00 00 01 3D это crc как его правильно найти? Пожалуйста не пипшите мне про калькулаторы они мне не помогут.

И я не понял формулу x⁸+x⁵+x⁴+1 что там x?

  • 3 месяца спустя...
Опубликовано
comment_48989

Если еще актуально я пару лет назад написал макрос для екзеля. Первый столбец короткий код, второй полный. Макрос вызывается по ctrl+t
Полезно для изучения теории расчета crc. Никаких защит по входным данным. 

Dallas.xlsm

Опубликовано
comment_49000
1 час назад, senyasorokin сказал:

Не понял вопрос.

 

Имелась в виду известная проблема с bad crc. 

  • 2 месяца спустя...
Опубликовано
comment_50806

Писал как-то прогу на QT для ключей в болиде.

//вызов
qDebug() << getBolidString("000000FFFFFF");

//Mainwindow.cpp
    QString MainWindow::getBolidString(QString hex) {
        bool ok;
        QString crc8;
        unsigned char b1 = hex.mid(0,2).toULongLong(&ok, 16);
        unsigned char b2 = hex.mid(2,2).toULongLong(&ok, 16);
        unsigned char b3 = hex.mid(4,2).toULongLong(&ok, 16);
        unsigned char b4 = hex.mid(6,2).toULongLong(&ok, 16);
        unsigned char b5 = hex.mid(8,2).toULongLong(&ok, 16);
        unsigned char b6 = hex.mid(10,2).toULongLong(&ok, 16);
        const unsigned char d[7] = { 01, b6, b5, b4, b3, b2, b1 };
        crc8 = QString("%1").arg(dallas_crc8(d, sizeof(d)), 0, 16).toUpper();
        if (crc8.length() == 1) { crc8 = "0" + crc8; }
        return crc8 + hex + "01";

    }

    unsigned char MainWindow::dallas_crc8(const unsigned char * data, const unsigned int size) {
        unsigned char crc = 0;
        for ( unsigned int i = 0; i < size; ++i )
        {
             crc = crc_array[data[i] ^ crc];
        }
        return crc;
    }
                                           
                                           
//Mainwindow.h
   QString getBolidString(QString hex);                                        
   unsigned char dallas_crc8(const unsigned char * data, const unsigned int size);
            unsigned char crc_array[256] = {
               0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83,
               0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41,
               0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e,
               0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc,
               0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0,
               0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62,
               0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d,
               0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff,
               0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5,
               0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07,
               0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58,
               0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a,
               0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6,
               0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24,
               0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b,
               0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9,
               0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f,
               0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd,
               0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92,
               0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50,
               0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c,
               0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee,
               0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1,
               0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73,
               0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49,
               0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b,
               0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4,
               0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16,
               0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a,
               0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8,
               0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7,
               0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35, };
                                        

 

Опубликовано
comment_50819
4 часа назад, Dratvoy сказал:

    unsigned char MainWindow::dallas_crc8(const unsigned char * data, const unsigned int size)
    {
        unsigned char crc = 0;
        for ( unsigned int i = 0; i < size; ++i )
        {
             crc = crc_array[data[i] ^ crc];
        }
        return crc;
    }

Писал как-то прогу на QT для ключей в болиде. 

Ну у тебя из своего только название функции. Этому исходнику более 20 лет. И без массива crc_array она бесполезна.

unsigned char crc_array[256] =
{
    0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83,
    0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41,
    0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e,
    0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc,
    0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0,
    0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62,
    0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d,
    0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff,
    0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5,
    0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07,
    0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58,
    0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a,
    0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6,
    0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24,
    0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b,
    0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9,
    0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f,
    0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd,
    0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92,
    0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50,
    0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c,
    0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee,
    0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1,
    0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73,
    0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49,
    0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b,
    0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4,
    0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16,
    0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a,
    0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8,
    0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7,
    0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35,
};
  • 1 год спустя...
Опубликовано
comment_63372

день добрый!! не нашел тему пришлось сюда чиркать . метка таблетка даллас тест показывает есть фильтр делаю на тм 01а день два работает и все отваливаются что можно сделать покупал заготовки в икей. спасибо

Опубликовано
comment_63373
15 минут назад, саид сказал:

день добрый!! не нашел тему пришлось сюда чиркать . метка таблетка даллас тест показывает есть фильтр делаю на тм 01а день два работает и все отваливаются что можно сделать покупал заготовки в икей. спасибо

Если есть OD, то пишите на https://ikey.ru/ik23vi/

Для 01а нужно подбирать параметры работы, или может требоваться финализация.

Опубликовано
comment_63374
15 минут назад, саид сказал:

день добрый!! не нашел тему пришлось сюда чиркать . метка таблетка даллас тест показывает есть фильтр делаю на тм 01а день два работает и все отваливаются что можно сделать покупал заготовки в икей. спасибо

Что значит отваливается ?

Меняется код в заготовке ?

Если так, то надо финализировать заготовку.

Ну а вообще - пробовать запись на другие виды заготовок....

Опубликовано
comment_63379
2 часа назад, саид сказал:

кырдык

ну вот и уточняют по какому-то поводу

идет замена кода , crc error , либо все на месте - но нет реакции - последнее конечно маловероятно - он бы тогда сразу не открывал

если идет замена кода - значит финализируйте , какие еще варианты - либо подбирайте подходящую заготовку - на которую панель не будет возбуждаться

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.