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

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

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

Ответ
 
Опции темы
Старый 10.06.2012, 19:45   #11
russo
гость
 
Аватар для russo
 
Регистрация: 19.08.2009
Адрес: KZ
Сообщений: 154
Поблагодарил: 17
Поблагодарили 39 раз в 32 сообщениях
russo стоит на развилке
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
Вопрос такой: Кто как собирает биты во время приема пакета. По ходу дела создать масив битов не получается - приходится для экономии памяти паковать биты в байты.
У меня это так получилось сделать:
TB = 0;
if (TMR1L > 0x80) // проверяем что пришло 0 или 1
{TB = 1 << ib;}
CBUFF[ix] = CBUFF[ix] | TB;
ib++;
bitscount++;
if (ib >= 8) // проверяем заполнение текущего байта если уже заплнен то переходим к следущему
{
ix++;
ib = 0;
}

Прием не совсем понятен, почему бы не сделать это в цикле

Где анализ сигнала на кейлог, старлайн или другое?
Где анализ преамбулы и хедера для определения длительности пакетов?

например как я принимаю и записываю данные с пина через пром времени, но к твоей задаче это не подходит, это я для наглядности.
PHP код:
if (INTCON.INT0IF)
  {                                                          
//прерывание по фронту сигнала
    
for(k=0k<1350k++)                          //это буфер из 1350 байт, в твоем случае надо 8 байт или 9 байт
             
{
             for (
b=0b<8b++)
                 {
                 if (
PORTB.F0
                    {
                    
byte_b |= 1<<b;
                    
PORTA.F0 1;                     //включить писчалку, для слухового восприятия прихода сигнала
                    
}
                 else
                      {
                      
byte_b &= (~(1<<b));
                      
PORTA.F0 0;                   //выключить писчалку
                      
}
                 
Delay_us(4);
                 }
                 
BUF[K] = byte_b;
             }
    
INTCON.INT0IF 0;                             //сброс флага прерывания
    
INTCON.INT0IE 0;                             //запрещаем прерывание по приходу сигнала
    
flag 1;                                             //сигнал отработан
    
oldstate 1;                                      //сигнал отработан
  



---------- Post added at 20:45 ---------- Previous post was at 20:31 ----------

Цитата:
Сообщение от Uncle Посмотреть сообщение
Подскажите что это за система = может кто узнает.

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

Последний раз редактировалось russo; 10.06.2012 в 20:14.
russo вне форума   Ответить с цитированием
Старый 11.06.2012, 03:01   #12
Uncle
случайно влез
 
Аватар для Uncle
 
Регистрация: 22.05.2012
Сообщений: 14
Поблагодарил: 12
Поблагодарили 0 раз в 0 сообщениях
Uncle стоит на развилке
По умолчанию

Паузу по ходу переписал примерно так:
void delay(void)
{
while(!TRMT) continue;
}

Передача тоже зашуршала на 19200
Вот моя иницилизация:
//TRX
SPBRG = 12;
TXSTA = 0;
BRGH = 1;
RCSTA = 0;
SYNC = 0;
SPEN = 1;
TXEN = 1;
главное не попутать местами TXSTA и BRGH.
у меня было на оборот - поэтому неудавалось переключить на быстрый режим передачи.

---------- Post added at 00:28 ---------- Previous post was at 00:08 ----------

Прием пакетов выглядит так:
void interrupt isr(void)
{
if (INTF)
{
INTF = 0;
INTE = 0;
if (FRONTF == 1) //фронт ипульса
{
TMR1 = 0;
TMR2ON = 0;
if (TMR2 < 0x20) // эту лажу пришлось добавить чтобы отделить
if(TMR2 > 0x10) // пакеты между собой в одной посылке - время 0x1F значения таймера
{
ib = 0;
ix++;
}
TMR1ON = 1;
FRONTF = 0;
INTEDG = 0;
PORTA = 0x08;
} else //спад импульса
{
TMR1ON = 0;
TMR2 = 0;
TMR2ON = 1;
FRONTF = 1;
INTEDG = 1;
PORTA = 0x00;
TB = 0;
if (TMR1L > 0x80) //если по длительности 1 то нам сюда
{
TB = 1 << ib;
CBUFF[ix] = CBUFF[ix] | TB;
}
ib++;
bitscount++;
if (ib >= 8)
{
ix++;
ib = 0;
}
if (ix >= bufmax)
{
TMR2IF = 1;
PORTA = 0x08;
}
}
INTE = 1;
} else
if(TMR1IF) // сюда мы попадем если по ходу проиппали спад импульса
{ // можно начинать все с начало
TMR1IF = 0;
TMR1ON = 0;
INTE = 0;
ix = 0;
ib = 0;
bitscount = 0;
PORTA = 0x08;
FRONTF = 1;
INTEDG = 1;
INTE = 1;
} else

if(TMR2IF) // тут по ходу конец посылки
{
TMR2IF = 0;
TMR1ON = 0;
TMR2ON = 0;
TMR2 = 0;
INTE = 0;
FRONTF = 1;
if (ib == 0){ix--;}else{ib = 0;}

SENDBUFFER();
ix = 0;

bitscount = 0;
INTEDG = 1;
INTE = 1;
}
}

---------- Post added at 00:33 ---------- Previous post was at 00:28 ----------

Цитата:
Сообщение от russo Посмотреть сообщение
Прием не совсем понятен, почему бы не сделать это в цикле

Где анализ сигнала на кейлог, старлайн или другое?
Где анализ преамбулы и хедера для определения длительности пакетов?

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

---------- Post added at 00:46 ---------- Previous post was at 00:33 ----------

Вот для наглядности несколько пакетов перекрутил в двоичный формат и востановил последовательность битов в том порядке как был прием.
Вот исходные посылки по два пакета в каждой строке - последний байт количество бит:

48 0A 44 02 50 00 48 0A 44 02 50 00 56
48 0A 24 02 84 00 48 0A 24 02 84 00 56
48 0A 24 02 88 00 48 0A 24 02 88 00 56
48 0A 24 02 1C 00 48 0A 24 02 1C 00 54
48 0A 54 01 2A 00 48 0A 54 01 2A 00 52
48 0A 14 04 10 01 48 0A 14 04 10 01 56
48 0A 14 04 74 00 48 0A 14 04 74 00 52
48 0A 0C 04 44 00 48 0A 0C 04 44 00 56
48 0A 2C 02 32 00 48 0A 2C 02 32 00 52
48 0A 1C 02 04 00 48 0A 1C 02 04 00 56
48 0A 3C 01 05 00 48 0A 3C 01 05 00 52
48 0A 1C 02 46 00 48 0A 1C 02 46 00 52
48 0A 1C 02 4C 00 48 0A 1C 02 4C 00 52
48 0A 0C 02 94 00 48 0A 0C 02 94 00 54
48 0A 4C 01 84 00 48 0A 4C 01 84 00 54
48 0A 2C 01 0C 00 48 0A 2C 01 0C 00 54
48 0A 2C 01 06 00 48 0A 2C 01 06 00 54
48 0A 0C 02 80 00 48 0A 0C 02 80 00 58

Дублирующую посылку откинул - вот что получилось:

00010010 01010000 00100010 01000000 00001010 000
00010010 01010000 00100100 01000000 00100001 000
00010010 01010000 00100100 01000000 00010001 000
00010010 01010000 00100100 01000000 00111000 00
00010010 01010000 00101010 10000000 01010100 0
00010010 01010000 00101000 00100000 00001000 100
00010010 01010000 00101000 00100000 00101110 0
00010010 01010000 00110000 00100000 00100010 000
00010010 01010000 00110100 01000000 01001100 0
00010010 01010000 00111000 01000000 00100000 000
00010010 01010000 00111100 10000000 10100000 0
00010010 01010000 00111000 01000000 01100010 0
00010010 01010000 00111000 01000000 00110010 0
00010010 01010000 00110000 01000000 00101001 00
00010010 01010000 00110010 10000000 00100001 00
00010010 01010000 00110100 10000000 00110000 00
00010010 01010000 00110100 10000000 01100000 00
00010010 01010000 00110000 01000000 00000001 0000

---------- Post added at 00:50 ---------- Previous post was at 00:46 ----------

Явно можно выделить три первых нуля - можно использовать для расчета времени.
Потом 16 - бит похожих на фикс - затем идет непонятный бит - после которого идет бит кнопки.
Пять последних пакетов с одной кнопкой и четыре перед ними с другой кнопкой.

---------- Post added at 01:01 ---------- Previous post was at 00:50 ----------

Меня самого очень смущает разная длина пакетов - но в одной посылке пакеты одинаковые по длине - ваще непонятка.
Вот для примера три пакета:
48 0A 22 02 60 00 48 0A 22 02 60 00 48 0A 22 02 60 00 81
Общее количество битов 0x81 = 129/3 = выходит по 43 бита на пакет.
В следущей посылке явно выдно четыре пакета по 42 бита:
48 0A 52 01 84 00 48 0A 52 01 84 00 48 0A 52 01 84 00 48 0A 52 01 84 00 A8
0xA8 = 168/4 = 42 бита на пакет.
Лажа какаято ...

Последний раз редактировалось Uncle; 11.06.2012 в 03:24.
Uncle вне форума   Ответить с цитированием
Старый 11.06.2012, 12:00   #13
russo
гость
 
Аватар для russo
 
Регистрация: 19.08.2009
Адрес: KZ
Сообщений: 154
Поблагодарил: 17
Поблагодарили 39 раз в 32 сообщениях
russo стоит на развилке
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
никакого анализа еще нету - принимает все что приходит
Про анализ пакетов по подробней пожалуйста если можно.
Все временый промежутки прописаны руками - собираюсь переписать на авто детект.
В начале каждого пакета валит три нуля - вот по им и можно расчитать длительность.

Не понятно это формат кейлог, старлайн , или чтото еще?
Сначало надо определять формат пакетов, там же закодированы длительности.
Надо осцилограмму снять. Я с пом PowerGraph осцилограммы снимаю на комп, потом анализировать можно, подсоединять ко входу звуковой карты. На форуме есть описание, поищи.
http://phreaker.us/forum/showthread....ght=powergraph
http://phreaker.us/forum/showthread....ght=powergraph формат старлайн
http://phreaker.us/forum/showthread....E7%E0%F2%EE%F0

Анализатор пакетов на меге http://phreaker.us/forum/showthread....E7%E0%F2%EE%F0

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

Последний раз редактировалось russo; 11.06.2012 в 12:40.
russo вне форума   Ответить с цитированием
Старый 11.06.2012, 12:26   #14
Uncle
случайно влез
 
Аватар для Uncle
 
Регистрация: 22.05.2012
Сообщений: 14
Поблагодарил: 12
Поблагодарили 0 раз в 0 сообщениях
Uncle стоит на развилке
По умолчанию

Цитата:
Сообщение от russo Посмотреть сообщение
Не понятно это формат кейлог, старлайн , или чтото еще?
Сначало надо определять формат пакетов, там же закодированы длительности.
Надо осцилограмму снять. Я с пом PowerGraph осцилограммы снимаю на комп, потом анализировать можно, подсоединять ко входу звуковой карты. На форуме есть описание, поищи.

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

Восьминожка это по ходу PIC12
Осцилограма после тюнера есть на первой странице(брелок щас подключен на прямую - соответственно сигнал инверсный) - через PowerGraph только вечером смогу снять осцилограму.
Заодно и посчитаем сколько там битов реально валит в каждой посылке.
Uncle вне форума   Ответить с цитированием
Старый 11.06.2012, 12:50   #15
russo
гость
 
Аватар для russo
 
Регистрация: 19.08.2009
Адрес: KZ
Сообщений: 154
Поблагодарил: 17
Поблагодарили 39 раз в 32 сообщениях
russo стоит на развилке
По умолчанию

Uncle, изначально начал не совсем правильно делать, зачем в железо лесть, это не наш метод, сначала надо на компьютере смоделировать, это проще и быстрее в реализации, тамже можно регистры контроллера анализировать на каждом шаге программы, отладку делать. В общем без Протеуса не обойтись. Вот проэктик, там имитатор сигналов кейлг, стар, саме, и еще чтото, тамже твой будущий граб, перерисуешь для себя, и анализатор.
Работай в протеусе, сразу видно какой сигнал прилетает (с ом вирт. осцилографа) и как контроллер его определяет (смотрим регистры).
Только прошивки там для граба нет, надо добавлять.
Вложения
Тип файла: rar grab.rar (46.0 Кб, 46 просмотров)
russo вне форума   Ответить с цитированием
Старый 11.06.2012, 15:23   #16
Uncle
случайно влез
 
Аватар для Uncle
 
Регистрация: 22.05.2012
Сообщений: 14
Поблагодарил: 12
Поблагодарили 0 раз в 0 сообщениях
Uncle стоит на развилке
По умолчанию

russo, Брат - посмотри плиз мою функцию приема пакетов свежим взглядом - думаю сразу найдешь откуда лишаковые биты лезут.
Uncle вне форума   Ответить с цитированием
Старый 11.06.2012, 21:23   #17
russo
гость
 
Аватар для russo
 
Регистрация: 19.08.2009
Адрес: KZ
Сообщений: 154
Поблагодарил: 17
Поблагодарили 39 раз в 32 сообщениях
russo стоит на развилке
По умолчанию

Цитата:
Сообщение от Uncle Посмотреть сообщение
if (TMR2 < 0x20) // эту лажу пришлось добавить чтобы отделить
if(TMR2 > 0x10) // пакеты между собой в одной посылке - время 0x1F значения таймера

А здесь ничего не забыл добавить?

Вообще выложи весь код папкой проэкта, как таймеры инициализированы, и все остальное.
russo вне форума   Ответить с цитированием
Старый 11.06.2012, 22:52   #18
Uncle
случайно влез
 
Аватар для Uncle
 
Регистрация: 22.05.2012
Сообщений: 14
Поблагодарил: 12
Поблагодарили 0 раз в 0 сообщениях
Uncle стоит на развилке
По умолчанию

Reciver1.rar
Вот брат - выкладываю весь проект как есть.
Сильно не ругай - я еще нуб в пограмировании.
Uncle вне форума   Ответить с цитированием
Старый 12.06.2012, 00:38   #19
Uncle
случайно влез
 
Аватар для Uncle
 
Регистрация: 22.05.2012
Сообщений: 14
Поблагодарил: 12
Поблагодарили 0 раз в 0 сообщениях
Uncle стоит на развилке
По умолчанию

Цитата:
Сообщение от russo Посмотреть сообщение
Лучше брел от сигналки взять.

Походу это брелок и есть от сигналки - производитель компания [Ссылки могут видеть только зарегистрированные пользователи. ]
Ну не последняя модель - такая пару тройку лет назад выпущеная.

---------- Post added at 21:58 ---------- Previous post was at 20:55 ----------

Вот по ходу снял поверграфом пару пакетов:
А вот он первый:

А вот второй:


---------- Post added at 22:38 ---------- Previous post was at 21:58 ----------

поигравшись с поверграфом - прихожу к выводу что там внатуре меняется количество битов в посылках. И еще - мой гавнограббер считает биты по ходу правельно.
Uncle вне форума   Ответить с цитированием
Старый 12.06.2012, 01:24   #20
russo
гость
 
Аватар для russo
 
Регистрация: 19.08.2009
Адрес: KZ
Сообщений: 154
Поблагодарил: 17
Поблагодарили 39 раз в 32 сообщениях
russo стоит на развилке
По умолчанию

Через конденсатор подключился к звуковой карте?

Подключись без кондера напрямую, осцилограмма будет более реальная.

Интересно, почему преамбулы нет? Что за кодировка?

Можно сохраненный файл в поверграфе приложить.
russo вне форума   Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код граббер (си авр) Raf00082 Новички 6 04.03.2011 19:01
оборудование для начало. альберто Новички 0 15.12.2010 11:32
начало установки rfv Иммобилайзеры. 1 27.10.2010 17:04
начало установки rfv Иммобилайзеры. 0 27.10.2010 14:15
Кибершпионы взломали защиту самого дорогого проекта Пентагона aka_k4 Новости 0 22.04.2009 09:09


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


Перевод: zCarot