Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Песочница

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 05.12.2018, 01:56   #1
Ready Меню Пользователя
Резидент клуба
 
Регистрация: 20.08.2011
Сообщений: 63
По умолчанию Калькулятор посылок Sheriff (CFM I - CFM II)

Ну вот наконец готова первая версия калькулятора посылок Sheriff (CFM).
Интерфейс программы такой же, как и в других моих калькуляторах.
Порядок работы:
- вводите в окне посылку (заносим как она шла в эфире, то есть со старт-битом)
- нажимаем кнопку "Расчет"
- видим декриптованный хоп, получаем возможность сформировать следующую посылку (пока только "открыть-закрыть").
Для тестов вот последовательные посылки поддерживаемых сигналок:

ZX-730
0000C86790CC6F73
0000C86786450D99

ZX-750
1007457C4F3D36A3
1007457CF3995F1A

ZX-755
000CD998FA28D606
000CD99899CE905A

ZX-930
1005379E4B7CE80B
1005379EB56AE362

ZX-940
1008B4049D570433
1008B404BD45D8DC

ZX-1090
00082776A7675F83
00082776FBF12005

ZX-1070
000857D4A9942843
000857D45E31810F

Для развития проекта очень бы помогли вавки сигналок CFM, которые еще не поддерживаются данным калькулятором.
Вложения
Тип файла: rar CalcCFM.rar (696.6 Кб, 24 просмотров)
Ready вне форума   Ответить с цитированием
Старый 05.12.2018, 19:33   #2
Бурый Меню Пользователя
Резидент клуба
 
Аватар для Бурый
 
Регистрация: 05.01.2014
Сообщений: 440
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Цитата:
Сообщение от Ready
Ну вот наконец готова первая версия калькулятора посылок Sheriff (CFM).
Интерфейс программы такой же, как и в других моих калькуляторах.
Порядок работы:
- вводите в окне посылку (заносим как она шла в эфире, то есть со старт-битом)
- нажимаем кнопку "Расчет"
- видим декриптованный хоп, получаем возможность сформировать следующую посылку (пока только "открыть-закрыть").
Для тестов вот последовательные посылки поддерживаемых сигналок:

ZX-730
0000C86790CC6F73
0000C86786450D99

ZX-750
1007457C4F3D36A3
1007457CF3995F1A

ZX-755
000CD998FA28D606
000CD99899CE905A

ZX-930
1005379E4B7CE80B
1005379EB56AE362

ZX-940
1008B4049D570433
1008B404BD45D8DC

ZX-1090
00082776A7675F83
00082776FBF12005

ZX-1070
000857D4A9942843
000857D45E31810F

Для развития проекта очень бы помогли вавки сигналок CFM, которые еще не поддерживаются данным калькулятором.

А разве у 940 и 1090 не один ли Ман?
__________________
Планировалось сделать "устройство"...и снова получились часы. Бой курантов тревожит двор)
Бурый вне форума   Ответить с цитированием
Старый 05.12.2018, 23:13   #3
Ready Меню Пользователя
Резидент клуба
 
Регистрация: 20.08.2011
Сообщений: 63
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Вроде нет (мне бы посылок побольше для анализа, у самого таких брелоков нет). У 940 ман начинается на B5, у 1090 - на 38. По крайней мере у меня так разложилось
Ready вне форума   Ответить с цитированием
Старый 08.12.2018, 11:16   #4
Ready Меню Пользователя
Резидент клуба
 
Регистрация: 20.08.2011
Сообщений: 63
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Не пойму: то ли эта тема нахер никому не интересна (так вроде качальщики не прошли мимо), то ли все исходников ждут ....
Ready вне форума   Ответить с цитированием
Старый 08.12.2018, 17:15   #5
DIVER_SANT Меню Пользователя
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,241
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Цитата:
Сообщение от Ready
Не пойму: то ли эта тема нахер никому не интересна (так вроде качальщики не прошли мимо), то ли все исходников ждут ....

Дружище, наступило время,когда никто не хочет думать,максимум собрать железку и зашить прошивку..
__________________
Правильно поставленный вопрос-на половину полученный ответ;)
++++++++++++++++++++++++++++++++++++++
[url]http://www.youtube.com/watch?v=ktnn-s3ebzw[/url]
DIVER_SANT вне форума   Ответить с цитированием
Старый 10.12.2018, 01:18   #6
Gribochek Меню Пользователя
Вступил в клуб
 
Регистрация: 02.05.2015
Сообщений: 17
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Можно я прокомментирую? Программа просто супер! Но это черный ящик… Ты туда одни данные, она тебе другие. Предположим, Автор выложит исходник, и что? Там будет число (ман), историю вычисления которого узнаем в лучшем случае лет через пять…
Gribochek вне форума   Ответить с цитированием
Старый 10.12.2018, 18:44   #7
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,252
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Цитата:
Сообщение от Gribochek
Можно я прокомментирую? Программа просто супер! Но это черный ящик… Ты туда одни данные, она тебе другие. Предположим, Автор выложит исходник, и что? Там будет число (ман), историю вычисления которого узнаем в лучшем случае лет через пять…

Reflector, декомпилятор программ под .NET и будет тебе радость. Ну и знание языка С#. Работы на 5 мин.

Добавлено через 43 минуты
А вообще, Ready, сделал программу, чтоб другим фрикерам, быстрее было понять алгоритм, ну и проверить чё да как. Если бы такие калькуляторы были лет так 10 назад, то бы все барыги без работы остались уже максимум через год после выпуска калькулятора. Курили ли бы бамбук.
EPA вне форума   Ответить с цитированием
Старый 11.12.2018, 09:31   #8
Kurs Меню Пользователя
Вступил в клуб
 
Аватар для Kurs
 
Регистрация: 02.06.2012
Сообщений: 66
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

Цитата:
Сообщение от EPA
Reflector, декомпилятор программ под .NET и будет тебе радость. Ну и знание языка С#. Работы на 5 мин.

Добавлено через 43 минуты
чтоб другим фрикерам, быстрее было понять алгоритм

Калькулятор действительно заслуживает внимания, удобно. Но внутри волшебство-неизвестное.
Просто в основном там «сигналки» которые дополнительно шифруют хоп разными операциями, используя сдвиги. При этом обычным способом не расшифровывать, из-за манипуляций с «хопом». Вопрос, какой алгоритм?!
Kurs вне форума   Ответить с цитированием
Старый 11.12.2018, 11:27   #9
Ready Меню Пользователя
Резидент клуба
 
Регистрация: 20.08.2011
Сообщений: 63
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

У разных типов Шерифов - разный. Причем используется несколько операций, а не простой сдвиг (перестановка байтов, инверсия байтов, свап ниблов, сдвиги некоторых байтов влево-вправо на 1-2 бита). Если внимательно посмотреть дизасм прошивки под Шериф - все сразу станет ясно.
Ready вне форума   Ответить с цитированием
Старый 26.12.2018, 23:54   #10
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,252
По умолчанию Re: Калькулятор посылок Sheriff (CFM I - CFM II)

730-750-1055
C#
PHP код:

        
public bool BeforePrintDataToString() // когда приняли посылку
        
{
/*
            
//if ((Data[0] & 0x01) > 0) return false; // т.е. если первый бит не нулевой бит, выход Временно!!! А так для других брендов
*/

            
if (Dat_bit== 64// 
            
{


                
UInt32 decrypt;
                
UInt64 shift0 ByteToUInt64(); 
                
UInt64 shift1 shift0 >> 1;                
                
SN = (UInt32)((shift1 >> 32) & 0x0fffffff);

                if ((
shift0 0xff00000000000000) == 0)  // у 730-го конец фикса нулевой
                
{
                    
// zx-730
                    
decrypt KeeloqStandart.Keeloq_Decrypt((UInt32)shift10x12************78);
                    if (((
decrypt >> 16) & 0x000000ff ^ ((UInt32)(shift1 >> 32) & 0x000000ff)) == 0// && ((decrypt & 0x0F000000) == 0)) // проверка по байту серийника и 0x0F000000=НОЛЬ
                    
{

                        
ResultCrypt String.Format("{0}>{1}>{2:X8}>{3:X8}"GV.ZX_730GV.CryptKeeloqSimpleLearningSNdecrypt);
                        return 
true;
                    }
                }

                if ((
shift0 0xff00000000000000) > 0// у 750-го конец фикса не нулевой
                
{
                    
// zx-750
                    // делаем преобразования с хопом
                    
UInt32 hop = (UInt32)shift1;
                    
UInt32 hop0 hop 0x000000ff;
                    
hop0 = (hop0 >> 4) | ((hop0 << 4) & 0x000000f0); // меняем места полубайты, тобишь циклический сдвиг
                    
UInt32 hop2 = (hop 0x00ff0000) >> 16;
                    
hop2 = ((hop2 >> 4) | ((hop2 << 4) & 0x000000f0)) << 16// меняем места полубайты
                    
hop hop 0xff00ff00;
                    
hop hop hop0 hop2;
                    
decrypt KeeloqStandart.Keeloq_Decrypt(hop0xB5************96);

                    if (((
decrypt >> 16) & 0x000000ff ^ ((UInt32)(shift1 >> 32) & 0x000000ff)) == 0)// && ((decrypt & 0x0F000000) == 0)) // проверка по байту серийника и 0x0F000000=НОЛЬ
                    
{

                        
ResultCrypt String.Format("{0}>{1}>{2:X8}>{3:X8}"GV.ZX_750GV.CryptKeeloqSimpleLearningSNdecrypt);
                        return 
true;
                    }
                }

                return 
true;
                
//return false;

            
}
            else if (
Dat_bit ==65)
            {
                ...        }
            else if (
Dat_bit == 67)
            {
                
UInt64 _uint64 Data[8]; _uint64 <<= 8;
                
_uint64 += Data[7]; _uint64 <<= 8;
                
_uint64 += Data[6]; _uint64 <<= 8;
                
_uint64 += Data[5]; _uint64 <<= 8;
                
_uint64 += Data[4]; _uint64 <<= 8;
                
_uint64 += Data[3]; _uint64 <<= 8;
                
_uint64 += Data[2]; _uint64 <<= 8;
                
_uint64 += Data[1]; _uint64 <<= 8;
                
_uint64 += Data[0];


                
_uint64 _uint64 >> 1;

                
SN = (UInt32)((_uint64>>32) & 0x0fffffff); //  0x0fffffff


                //string temp = String.Format("{0:X16}", _uint64);

                
UInt32 decrypt KeeloqStandart.Keeloq_Decrypt((UInt32)_uint640x12************78);
                
UInt32 tempDec decrypt >> 28//
                
tempDec tempDec ^ (((UInt32)(_uint64 >> 32)& 0xf0000000)>>28);
                if (
tempDec!=0)
                {
                    return 
false;
                }
                else
                {
                    
tempDec = (decrypt >> 16) & 0x000000ff;
                    
tempDec tempDec ^ ((UInt32)(_uint64 >> 32) & 0x000000ff);
                    if (
tempDec != 0)
                    {
                        return 
false;
                    }
                
                }

                
ResultCrypt String.Format("{0}>{1}>{2:X8}>{3:X8}" ,GV.ZX_1055 ,GV.CryptKeeloqSimpleLearningSNdecrypt);

                return 
true;
            }

            else

                return 
false;
        } 

Последний раз редактировалось EPA; 28.12.2018 в 00:55.
EPA вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 03:49. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика