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

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

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

Результаты опроса: Ну как проект?
Я собрал проект, подправил и у меня все работает!!! УРА кодграббер на халяву!!! 214 40.23%
Я собрал проект и пака не смог его перевести в боевой режим. Но пытаюсь =) 97 18.23%
Я поверить не могу, что схему кодграббера можно вот так просто скачать бесплатно. 221 41.54%
Голосовавшие: 532. Вы ещё не голосовали в этом опросе

Закрытая тема
 
Опции темы
Старый 13.03.2010, 20:00   #1351
AVL
гость
 
Аватар для AVL
 
Регистрация: 16.10.2006
Адрес: UA
Сообщений: 139
Поблагодарил: 10
Поблагодарили 7 раз в 7 сообщениях
AVL стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
Да! В PIC16, обращение к PORT, подразумевалось при вводе и выводе данных, а в PIC18, PORT-это ввод, а LAT- это вывод. Это связанно с новой архитектурой и идеологией контроллера. Я думаю на начальном этапе программирования, подробности этой фишки, не должны обременять юзера.

Вот посидел я чуток и набросал коментарии.
Честно говоря, я слишком мало понял, что б задать даже КОНКРЕТНЫЙ вопос по этому участку программы.
Не могли-бы Вы добавить пару коментариев "от поризводителя", возможно, тогда у меня появится УМНЫЙ вопрос, ибо, повторюсь, пока-что "тёмный лес" у меня.
Спасибо!

;************************************************* *******************************************

knopkaS


btfss PORTB,2 ; если нажата кнопка "вправо" то идём в следующую строку
goto programma2 ;к programma2 (начальное меню)
btfss PORTB,4 ; если нажата кнопка "влево" то идём в следующую строку
goto programma2 ;к programma2 (начальное меню)
; иначе идём к
call skan ;ПРОЦЕДУРА СКАНИРОВАНИЯ ЭФИРА

btfsc PORTB,0 ; если нажата кнопка "ОГОНЬ"
bra knopkaS
;*********************************!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!
call wiwidim_pac ;НАДПИСЬ ОТПРАВЛЯЕМ ПАКЕТ. условный переход на подпрограмму индикации
call wiwidim_pacs1 ;НАДПИСЬ СТРЕЛКА
call wiwidim_pacs0 ;НАДПИСЬ СТРЕЛКА. вернулись обратно, после вывода сообщений на экран

movlw d'5' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'5'
movwf bank2 ; переслали d'5' с W в bank2
paket1 ; метка paket1
movlw d'6' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'6'
movwf bank0 ; переслали d'6' с W в bank0
wibros_pr ; метка wibros_pr
bsf LATC,6 ; передатчик в единицу ставим
movlw d'225' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'225'
movwf bank1 ; переслали d'225' с W в bank1
nop ; ничего не делаем
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; скачем на 4-ре строки вверх

bcf LATC,6 ; передатчик ставим в ноль
movlw d'225' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'225'
movwf bank1 ; переслали d'225' с W в bank1
nop ; ничего не делаем
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; скачем на 4-ре строки вверх

decfsz bank0,f ; Декримент bank0, если результат =0, то идём в след строку, если не 0, то через строку
bra wibros_pr ; Переход на wibros_pr
;************************************************* *******************************************
movlw d'64' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'64'
movwf bank0 ; переслали d'64' с W в bank0
wibros ; метка wibros
btfss registr1,7 ; если registr1,7 =0, то идём в следующую строку
bcf STATUS,C ; обнуляем бит С регистра STATUS
btfsc registr1,7 ; если ,ит 7 регистра registr1 =0, то попускаем следующую строку
bsf STATUS,C ; устанавливаем в 1 бит С регистра STATUS

rlcf registr18 ; Сдвигаем на бит влево
rlcf registr17 ; Сдвигаем на бит влево
rlcf registr16 ; Сдвигаем на бит влево
rlcf registr5 ; Сдвигаем на бит влево
rlcf registr4 ; Сдвигаем на бит влево
rlcf registr3 ; Сдвигаем на бит влево
rlcf registr2 ; Сдвигаем на бит влево
rlcf registr1 ; Сдвигаем на бит влево

btfsc STATUS,C ; если бит С регистра STATUS =0, то попускаем следующую строку
bra LOG_1 ; переходим к метке LOG_1
;************************************************* *******************************************
bsf LATC,6 ; ставим 1 на пине передатчика
movlw d'120' ; заносим d'120' в промежуточный регистр W
movwf bank1 ; с промежут W заносим d'120'в bank1
nop ; порожняк
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх

bcf LATC,6 ; передатчик ставим в ноль
movlw d'120' ; заносим d'120 в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх

bra LOG_2 ; переходим к метке LOG_2
;************************************************* *******************************************
LOG_1 ; метка
bsf LATC,6 ; передатчик в единицу ставим
movlw d'60' ; заносим d'60'в
movwf bank1 ; в bank1
nop
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх

bcf LATC,6 ; передатчик ставим в ноль
movlw d'60' ; заносим d'60'в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх
LOG_2 ; метка LOG_2
decfsz bank0,f ; Декримент bank0, если результат =0, то идём в след строку, если не 0, то через строку
bra wibros ; переход на метку wibros

decfsz bank2,f ; Декримент bank2, если результат =0, то идём в след строку, если не 0, то через строку
bra paket1 ; переход на метку paket1
;************************************************* *******************************************
call wiwidim_pacs3 ; переход на подпрограмму
call wiwidim_pacs2 ;НАДПИСЬ СТРЕЛКА
call wiwidim_pacs0 ; переход на подпрограмму

movlw d'5' ; заносим d'5' в
movwf bank2 ; в bank2
paket2 ; метка paket2
movlw d'6' ; заносим d'6' в
movwf bank0 ; в bank0
wibros_pr2 ; метка wibros_pr2
bsf LATC,6 ; передатчик в единицу ставим
movlw d'225' ; заносим d'225' в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх

bcf LATC,6 ; передатчик ставим в ноль
movlw d'225' ; заносим d'225' в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; подымаемся на 4-ре строки вверх

decfsz bank0,f ; Декримент bank0, если результат =0, то идём в след строку, если не 0, то через строку
bra wibros_pr2 ; переход на wibros_pr2
;************************************************* *******************************************
movlw d'64' ; заносим d'64' в
movwf bank0 ; в bank0
wibros2 ; метка wibros2
btfss registr11,6 ; если registr11,6 = 0, то идём в следующую строку
bcf STATUS,C ; ставим в ноль STATUS,C
btfsc registr11,6 ; если бит 6 регистра registr11 =0, то пропускаем следующую строку
bsf STATUS,C ; STATUS,C в единицу ставим

rlcf registr13 ; Сдвигаем на бит влево
rlcf registr14 ; Сдвигаем на бит влево
rlcf registr15 ; Сдвигаем на бит влево
rlcf registr17 ; Сдвигаем на бит влево
rlcf registr14 ; Сдвигаем на бит влево
rlcf registr13 ; Сдвигаем на бит влево
rlcf registr12 ; Сдвигаем на бит влево
rlcf registr11 ; Сдвигаем на бит влево

btfsc STATUS,C ; если бит C регистра STATUS =0, то пропускаем следующую строку
bra LOG_1_2 ; переход к подпрограмме LOG_1_2
;************************************************* *******************************************
bsf LATC,6 ; передатчик в единицу ставим
movlw d'120' ; заносим d'120'в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; декримент bank1,f
bra $-4 ; переход на 4-ре строки вверх

bcf LATC,6 ; передатчик ставим в ноль
movlw d'120' ; заносим d'120'в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; декримент bank1,f
bra $-4 ; переход на 4-ре строки вверх

bra LOG_2_2 ; переход к подпрограмме LOG_2_2
;************************************************* *******************************************
LOG_1_2 ; подпрограмма LOG_2_2
bsf LATC,6 ; передатчик в единицу ставим
movlw d'60' ; заносим d'60'в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; декримент bank1,f
bra $-4 ; переход вверх на 4 строки

bcf LATC,6 ; передатчик ставим в ноль
movlw d'60' ; заносим d'60'в
movwf bank1 ; в bank1
nop ; порожняк
decfsz bank1,f ; декримент bank1,f
bra $-4 ; переход вверх на 4 строки
LOG_2_2 ; метка LOG_2_2
decfsz bank0,f ; декримент bank0,f
bra wibros2 ; переход к подпрограмме wibros2

decfsz bank2,f ; декримент bank2,f
bra paket2 ; переход к подпрограмме paket2
;************************************************* *******************************************

call STROKA_5 ; переход к подпрограмме STROKA_5
call belim ; переход к подпрограмме belim
call wiwidim_pacs3 ; переход к подпрограмме wiwidim_pacs3

bra knopkaS ; переход к подпрограмме knopkaS

;************************************************* *******************************************


Всегда!
AVL вне форума  
Старый 13.03.2010, 20:44   #1352
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,194 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Кое-что из ошибок:
================================================== ==================
movlw d'225' ; ЗАПИСЬ В РЕГИСТР w ЗНАЧЕНИЕ d'225'
movwf bank1 ; переслали d'225' с W в bank1
nop ; ничего не делаем
decfsz bank1,f ; Декримент bank1, если результат =0, то идём в след строку, если не 0, то через строку
bra $-4 ; скачем на 4-ре строки вверх ---------неверно!!!
================================================== ==================
$-2 – это скачем на одну строчку вверх, $-4- это скачем на две строчки вверх. В PIC16, было бы так goto $-4 - скачем на 4-ре строки вверх, а в PIC18 на две строчки, это опять же связанно с новой архитектурой контроллера. Даже если вдуматься в процедуру, то бросок на 4 строчки стал бы мертвым циклом здесь! В общем только в этом ошибка. Давай разберемся подробней с этим куском кода:

movlw d'225'
movwf bank1
nop
decfsz bank1,f
bra $-4

Это цикл ожидания, смысл его зациклить процессор на нужное мне время, но так как в регистр можно поместить константу не более 255, пришлось еще добавить одну пустую команду nop, таким образом, я увеличил время ожидания на один командный цикл, который выполняться так же 255 раз. Эту процедуру можно увеличить еще:

movlw d'225'
movwf bank1
nop
nop
nop
nop
decfsz bank1,f
bra $-10
Таким образом, цикл ожидания будет еще дольше, его можно представить в другом виде:

------movlw d'225'
------movwf bank1
metka
------nop
------nop
------nop
------nop
------decfsz bank1,f
------bra metka

Метка более наглядно показывает ветвление программы. Что бы увеличить цикл время ожидания на большее время, то не целесообразно добавлять nop-ы, процедуру нужно сделать немного другой, а это цикл в цикле.



------movlw d'225'
------movwf bank1
metka
------movlw d'225'
------movwf bank0
------decfsz bank0,f
------bra $-2

------decfsz bank1,f
------bra metka
Таким образом, цикл ожидания будет выполнятся 255 раз, вместо одного.


уехал в клуб
oleg вне форума  
Старый 13.03.2010, 20:54   #1353
AVL
гость
 
Аватар для AVL
 
Регистрация: 16.10.2006
Адрес: UA
Сообщений: 139
Поблагодарил: 10
Поблагодарили 7 раз в 7 сообщениях
AVL стоит на развилке
По умолчанию

Спасибо, типа, понял про задержку.
Особенно меня bra $-4 вводило в заблуждение, ибо я видел замкнутый цикл и совсем садился на жопу в рассуждениях.
Вопрос: заачем Вам зацикливать в этом куске кода процессор? Какое это имеет отношениеи к выбросу кода в эфир? Тем более. что нам надо быть быстрее, чем сигналка, а тут мы проц тормозим принудительно и теряем время, получается...


Всегда!
AVL вне форума  
Старый 13.03.2010, 20:57   #1354
bumer525
начинающий фрикер
 
Аватар для bumer525
 
Регистрация: 31.12.2008
Сообщений: 648
Поблагодарил: 55
Поблагодарили 236 раз в 93 сообщениях
bumer525 скоро станет знаменитым(-ой)
По умолчанию

интересно что:
bra $-4 перейти на 2 строчки вверх.
bra $4 перейти на 2 строчки вниз.
На 2 строчки потаму что програмный счётчик в этом камне работает по чётным числам

Последний раз редактировалось bumer525; 13.03.2010 в 21:42.
bumer525 вне форума  
Старый 13.03.2010, 21:01   #1355
AVL
гость
 
Аватар для AVL
 
Регистрация: 16.10.2006
Адрес: UA
Сообщений: 139
Поблагодарил: 10
Поблагодарили 7 раз в 7 сообщениях
AVL стоит на развилке
По умолчанию

Цитата:
Сообщение от bumer525 Посмотреть сообщение
интересно что:
bra s-4 перейти на 2 строчки вверх.
bra s4 перейти на 2 строчки вниз.
s-это значок с верт.чёртачками, с телефона пишу

наверное - да.
Для 16 пика было б однозначно ДА.
Знак "-" указывает на то, что надо текущую позицию уменьшить на два, а просто $4 на увеличить на 2.


Всегда!
AVL вне форума  
Старый 13.03.2010, 21:03   #1356
bumer525
начинающий фрикер
 
Аватар для bumer525
 
Регистрация: 31.12.2008
Сообщений: 648
Поблагодарил: 55
Поблагодарили 236 раз в 93 сообщениях
bumer525 скоро станет знаменитым(-ой)
По умолчанию

быстрее не нужно, важно чтоб вовремя
bumer525 вне форума  
Старый 13.03.2010, 21:06   #1357
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,194 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от AVL Посмотреть сообщение
Спасибо, типа, понял про задержку.
Особенно меня bra $-4 вводило в заблуждение, ибо я видел замкнутый цикл и совсем садился на жопу в рассуждениях.
Вопрос: заачем Вам зацикливать в этом куске кода процессор? Какое это имеет отношениеи к выбросу кода в эфир? Тем более. что нам надо быть быстрее, чем сигналка, а тут мы проц тормозим принудительно и теряем время, получается...


Вот предположим, что мы выставили на PORTB логическую единицу и через 400 микросекунд, нам нужно выставить там логический ноль! Что бы процессор отсчитал это время, нужно его либо зациклить на это время, либо по таймеру войти в прерывание и отработать более сложную процедуру, в которой нужно определить приоритет прерывания, запретить его, где не нужно прерывать программу и т.д... Но накой хрен это делать, если другой задачи у процессора не стоит, то есть мы выставили на порту единицу, потом попросту висим и не чего не делаем, потом ставим ноль на порту. Если нам понадобится параллельно выполнять задачу еще, то мы не будем тупо виснуть в цикле ожидания, а сделаем какой ни будь расчет для НАСА, что бы занять ресурсы процессора.


уехал в клуб
oleg вне форума  
Старый 13.03.2010, 21:06   #1358
AVL
гость
 
Аватар для AVL
 
Регистрация: 16.10.2006
Адрес: UA
Сообщений: 139
Поблагодарил: 10
Поблагодарили 7 раз в 7 сообщениях
AVL стоит на развилке
По умолчанию

Цитата:
Сообщение от bumer525 Посмотреть сообщение
быстрее не нужно, важно чтоб вовремя

Тогда ясно.
Ещё б комментариев "от производителя" услышать... Как именно биты передаются в порт, ОТКУДА они поступают в порт, с какой переменной?
Я вот в Протеусе набросал схемку с тремя процессорами.
Один код генерит и посылает второму (тот граббер), а второй награбленное посылает третьему. Третий принимает награбленное и выводит на экран. Вот хочу разобраться где в программе второго проца похабится код принятый с первого проца
Вложения
Тип файла: zip 2.zip (19.9 Кб, 138 просмотров)


Всегда!
AVL вне форума  
Старый 13.03.2010, 21:19   #1359
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,194 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

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


уехал в клуб
oleg вне форума  
Старый 13.03.2010, 21:26   #1360
AVL
гость
 
Аватар для AVL
 
Регистрация: 16.10.2006
Адрес: UA
Сообщений: 139
Поблагодарил: 10
Поблагодарили 7 раз в 7 сообщениях
AVL стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
Что бы понять, где похабится код, нужно понять, что мы приняли и где это в программе находится, после этого найти код с выбросом и сопоставить все)

1.Что-бы тупо у Вас не спрашивать "как переделать пограмму" я ж и спрашиваю ГДЕ он посылается, а потом уже попробую понять откуда он перед этим взялся.
2. Это ж тема про ЛСД, вроде, была. Вот у меня на схеме и есть два ЛСД 3310.
3. Точно. Заасемблился я . Тема не про ТО. Извиняюсь


Всегда!
AVL вне форума  
Закрытая тема

Метки
авто сканер, взлом, граб, граббер 3310, кодграббер, кодграбер, открыть сигналку, сканер, сканер сигнализаций, скачать бесплатно, собрать, схема, схема кодграббера


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодграббер, анализатор, глушка, схема и реальная прошивка, рабочая на 99%! - Часть 1 adm Новички 236 04.12.2016 17:35
Умная глушка на 433.92, схема и прошивка. oleg Новички 116 25.11.2014 23:02
кодграббер (подмена однокнопка)+LCD 3310 рабочая на 99% polimer_05 Новички 27 20.01.2011 20:18
Коммуникатор- анализатор, кодграббер! alexiop Новички 20 17.12.2010 18:15
Простая схема кодграббера! (100% рабочая) NorD_1985 Новички 9 22.01.2009 08:31


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


Перевод: zCarot