Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Для начинающих > Новички

Новички Раздел для новичков. Что такое кодграббер, ретранслятор, подмена кода.

Ответ
 
Опции темы
Старый 29.06.2011, 00:56   #221
svesve
Заблокирован
 
Регистрация: 03.06.2011
Сообщений: 115
Поблагодарил: 20
Поблагодарили 9 раз в 9 сообщениях
svesve стоит на развилке
По умолчанию

Цитата:
Сообщение от Integro Посмотреть сообщение
В этих брелках довольна сильно уплывают временные интервалы, но как показывает практика погрешность не превышает 30%, видимо ваши временные интервалы немного больше, чего уже достаточно чтобы спутать лог0 с лог1.

Попробуйте заменить строки:
#define CM_MAX_TE (450/TIMER_DIV)
#define CM_MIN_TE (200/TIMER_DIV)
на строки
#define CM_MAX_TE (415/TIMER_DIV)
#define CM_MIN_TE (220/TIMER_DIV)

Да интервалы верные, суть в вопроса в том, как правильно интерпретировать и использовать полученные данные.

к примеру
заведем массив в зависимости от длительности импульса каждый элемент массива будет либо 0 либо 1
всего 12 элементов массива.

Вопрос:

как из этих 12 эелементов мы получим 2-ичное число вида 10101100001 ??? либо HEX
svesve вне форума   Ответить с цитированием
Старый 29.06.2011, 01:05   #222
CodePerfect
начинающий фрикер
 
Аватар для CodePerfect
 
Регистрация: 10.05.2009
Сообщений: 594
Поблагодарил: 76
Поблагодарили 204 раз в 116 сообщениях
CodePerfect стоит на развилке
По умолчанию

По аналогии с приемом Keeloq из проекта Олега. Когда используется команда сдвига через бит переноса RLCF. Посмотри в исходнике из темы про "кодграббер рабочий на 99%". Единственная разница, у CAME 12 бит, это полтора регистра, т.е. после приема 12 -го бита нужно сделать 4 дополнительных "пустых" сдвига.


Солдатами не рождаются, солдатами умирают.
CodePerfect вне форума   Ответить с цитированием
Старый 29.06.2011, 01:21   #223
svesve
Заблокирован
 
Регистрация: 03.06.2011
Сообщений: 115
Поблагодарил: 20
Поблагодарили 9 раз в 9 сообщениях
svesve стоит на развилке
По умолчанию

Цитата:
Сообщение от CodePerfect Посмотреть сообщение
По аналогии с приемом Keeloq из проекта Олега. Когда используется команда сдвига через бит переноса RLCF. Посмотри в исходнике из темы про "кодграббер рабочий на 99%". Единственная разница, у CAME 12 бит, это полтора регистра, т.е. после приема 12 -го бита нужно сделать 4 дополнительных "пустых" сдвига.

спасибо, только вот будет сложно понять АСМ....
svesve вне форума   Ответить с цитированием
Старый 29.06.2011, 01:42   #224
Integro
редкий гость
 
Регистрация: 06.06.2007
Сообщений: 79
Поблагодарил: 5
Поблагодарили 22 раз в 18 сообщениях
Integro стоит на развилке
По умолчанию

Цитата:
Сообщение от svesve Посмотреть сообщение
к примеру
заведем массив в зависимости от длительности импульса каждый элемент массива будет либо 0 либо 1
всего 12 элементов массива.

Вопрос:

как из этих 12 эелементов мы получим 2-ичное число вида 10101100001 ??? либо HEX

Если я правильно понял вопрос...
Начнем с начала, в следующих строках происходит сравнивание временных интервалов, текущего и предыдущего, в переменной b результат сравнения 0 или 1.

if(p0_prev_len<=CM_MAX_TE && p0_prev_len>=CM_MIN_TE &&
p0_len<=CM_MAX_TE*2 && p0_len>=CM_MIN_TE*2) b=0;
else
if(p0_prev_len<=CM_MAX_TE*2 && p0_prev_len>=CM_MIN_TE*2 &&
p0_len<=CM_MAX_TE && p0_len>=CM_MIN_TE) b=1;
else
{
came.state=0;
break;
}


Далее... Вы наверное знаете что переменные имеют разрядность кратную 8 (8,16)бит , так как переменную на 12 бит создать мы не можем будем использовать массив(came.data[] 2ух элементный ) переменных по 8бит, также нам необходимо завести счетчик принятых бит(came.dat_bit) дальше все просто, существует такая операция сдвига влево"<<", сейчас поясню на примерах:
(1<<5)=0b10000
(3<<1)=0b110
(3<<2)=0b1100
(3<<3)=0b11000
также есть такая операция как модуль "%", в народе остаток от деления.
этих операций достаточно чтобы последовательно записывать данные в массив что и делается в вашем примере:

if(b) came.data[came.dat_bit/8]|=(1<<(came.dat_bit%8));
Integro вне форума   Ответить с цитированием
Старый 29.06.2011, 10:28   #225
svesve
Заблокирован
 
Регистрация: 03.06.2011
Сообщений: 115
Поблагодарил: 20
Поблагодарили 9 раз в 9 сообщениях
svesve стоит на развилке
По умолчанию

Цитата:
Сообщение от Integro Посмотреть сообщение
Если я правильно понял вопрос...
Начнем с начала, в следующих строках происходит сравнивание временных интервалов, текущего и предыдущего, в переменной b результат сравнения 0 или 1.

if(p0_prev_len<=CM_MAX_TE && p0_prev_len>=CM_MIN_TE &&
p0_len<=CM_MAX_TE*2 && p0_len>=CM_MIN_TE*2) b=0;
else
if(p0_prev_len<=CM_MAX_TE*2 && p0_prev_len>=CM_MIN_TE*2 &&
p0_len<=CM_MAX_TE && p0_len>=CM_MIN_TE) b=1;
else
{
came.state=0;
break;
}


Далее... Вы наверное знаете что переменные имеют разрядность кратную 8 (8,16)бит , так как переменную на 12 бит создать мы не можем будем использовать массив(came.data[] 2ух элементный ) переменных по 8бит, также нам необходимо завести счетчик принятых бит(came.dat_bit) дальше все просто, существует такая операция сдвига влево"<<", сейчас поясню на примерах:
(1<<5)=0b10000
(3<<1)=0b110
(3<<2)=0b1100
(3<<3)=0b11000
также есть такая операция как модуль "%", в народе остаток от деления.
этих операций достаточно чтобы последовательно записывать данные в массив что и делается в вашем примере:

if(b) came.data[came.dat_bit/8]|=(1<<(came.dat_bit%8));

Integro спасибо большое за разъяснение.

Как я понял came.data[] 2-х элементный массив по 8 бит, грубо говоря как переменная размерностью в 16 бит(плохая аналогия но все же)?
т.к. САМЕ имеет формат кода = 12 бит, то для этого мы и завели массив?
сдвиг в лево это понятный процесс

(1<<5)=0b10000 - сдвиг единицы на 5 знаков влево
сответственно (3<<3)=0b11000 сдвиг 3-ки(11) на 3 знака влево.

по поводу счетчика, т.е. если счетчик становиться >8 то запись идет уже в [1] элемент массива?? а <8 в [0] ??

непонятно немного про остаток (1<<(came.dat_bit%8))

З.Ы. спасибо что помогаете.
svesve вне форума   Ответить с цитированием
Старый 29.06.2011, 10:52   #226
Integro
редкий гость
 
Регистрация: 06.06.2007
Сообщений: 79
Поблагодарил: 5
Поблагодарили 22 раз в 18 сообщениях
Integro стоит на развилке
По умолчанию

Цитата:
Сообщение от svesve Посмотреть сообщение
т.е. если счетчик становиться >8 то запись идет уже в [1] элемент массива?? а <8 в [0] ??

ДА, вот смотри тут мы указываем на элемент массива сame.data[came.dat_bit/8]
/-в данном случае операция деления на цело
То есть пока came.dat_bit меньше 8 ее результат нуль, то есть заносим данные в 0-ую ячейку массива, потом, при 8 и дальше результат деления становится равным 1, что дает нам возможность записать остальные 4бита в следующую 8-ми битную ячейку массива.

Про остаток(модуль), начну с примера:
(1%8)=1
(5%8)=5
(8%8)=0
(9%8)=1
(10%5)=2
тут все видно... очень удобно выделять номер бита для каждой новой ячейки массива.
Integro вне форума   Ответить с цитированием
Старый 29.06.2011, 11:21   #227
svesve
Заблокирован
 
Регистрация: 03.06.2011
Сообщений: 115
Поблагодарил: 20
Поблагодарили 9 раз в 9 сообщениях
svesve стоит на развилке
По умолчанию

Цитата:
Сообщение от Integro Посмотреть сообщение
ДА, вот смотри тут мы указываем на элемент массива сame.data[came.dat_bit/8]
/-в данном случае операция деления на цело
То есть пока came.dat_bit меньше 8 ее результат нуль, то есть заносим данные в 0-ую ячейку массива, потом, при 8 и дальше результат деления становится равным 1, что дает нам возможность записать остальные 4бита в следующую 8-ми битную ячейку массива.

Про остаток(модуль), начну с примера:
(1%8)=1
(5%8)=5
(8%8)=0
(9%8)=1
(10%5)=2
тут все видно... очень удобно выделять номер бита для каждой новой ячейки массива.

(10%5)=2, а не (10%5)=0 ли???

соттветственно получим следующее

пример:
came.data[0]=0b01011000 - первые 8 бит
came.data[1]=0b00001001 - остальные 4

я верно мыслю??

все теперь came.data хранит в 2-х элементах распознование нашего сигнала.

Как теперь интерпретировать эти данные чтобы получить все 12 бит кода???
svesve вне форума   Ответить с цитированием
Старый 29.06.2011, 11:29   #228
tahion
начинающий фрикер
 
Регистрация: 15.06.2009
Сообщений: 624
Поблагодарил: 14
Поблагодарили 540 раз в 127 сообщениях
tahion скоро станет знаменитым(-ой)
По умолчанию

svesve, как записывал в массив так и доставай, затем в зависимости от значения бита выдавай на передачу 0 или 1, все в цикле. ну и про стартовый бит не забываем, и про guard time тоже.
tahion вне форума   Ответить с цитированием
Старый 29.06.2011, 11:54   #229
svesve
Заблокирован
 
Регистрация: 03.06.2011
Сообщений: 115
Поблагодарил: 20
Поблагодарили 9 раз в 9 сообщениях
svesve стоит на развилке
По умолчанию

Цитата:
Сообщение от tahion Посмотреть сообщение
svesve, как записывал в массив так и доставай, затем в зависимости от значения бита выдавай на передачу 0 или 1, все в цикле. ну и про стартовый бит не забываем, и про guard time тоже.

я понял, поставлю вопрос немного по другому:
имея массив из 2-х элементов, как нам в итоге из него получить полное число в 10-ти(16-ти) -ричном виде???

З.Ы. нам же не только надо выкинуть последовательность в эфир, но еще хотелось бы и сохранить в память еепром
svesve вне форума   Ответить с цитированием
Старый 29.06.2011, 12:02   #230
tahion
начинающий фрикер
 
Регистрация: 15.06.2009
Сообщений: 624
Поблагодарил: 14
Поблагодарили 540 раз в 127 сообщениях
tahion скоро станет знаменитым(-ой)
По умолчанию

svesve, came.data[0] по твоему не число? ) сохраняй came.data[0] и came.data[1] в EEPROM
tahion вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Универсальный пульт шлагбаума кодграббер fogri Новички 0 03.08.2015 20:41
Можно ли скопировать keyfob (remote от шлагбаума) Alegarh24 Новички 1 05.07.2013 10:03
[Вопрос] Брелок Alligator M800 + китайский ключ-брелок Muchacho Охранные системы 2 12.02.2012 15:55
БРЕЛОК APS САНЕК Новички 70 31.10.2011 19:57
брелок шлагбаума CAME n.c.u.x Новички 21 17.11.2009 18:06


Текущее время: 12:29. Часовой пояс GMT +4.


Перевод: zCarot