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

Вернуться   Изучение уязвимостей электронных систем > Фрикинг > Видеонаблюдение, системы контроля доступа

Видеонаблюдение, системы контроля доступа Системы видеонаблюдения, контроля и управления доступом

Ответ
 
Опции темы
Старый 14.12.2015, 16:57   #1
march cat
случайно влез
 
Аватар для march cat
 
Регистрация: 18.10.2009
Сообщений: 30
Поблагодарил: 1
Поблагодарили 3 раз в 2 сообщениях
march cat стоит на развилке
По умолчанию 1-wire на Pic или эмулятор DS1990

Всем добрый день ! Может на этом форуме кто - то сможет мне помочь . Имеем pic12f629 и 8 вездеходов . Хочу сделать эмулятор . Прислоняя эмулятор к домофону заряжаем танталовый кондер . Отслеживаем Reset , и выкидываем presence . Далее ждем команду 0x33h. и выкидываем ключ . после того как выкинули . повышаем в EEprom счетчик . для того что бы прислонив еще раз эмулятор выкидывал следующий ключ. Как только счетчик достиг последнего ключа , обнуляем его .
Я вот тут нашкодил , выброс работает , а вот 0 не отслеживает .

Код:
;PIC12F629
		ERRORLEVEL -302
		include   "P12F629.INC"
;
		LIST   P=PIC12F629
;
		__CONFIG _CP_OFF & _CPD_OFF & _BODEN_ON & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

;_INTRC_OSC_NOCLKOUT


Nkey1			equ	b'00000000'		; Номер ключа 1 в Eeprom 0x00
Nkey2			equ	b'00000001'		; Номер ключа 2 в Eeprom 0x00
Nkey3			equ	b'00000010'		; Номер ключа 3 в Eeprom 0x00
Nkey4			equ	b'00000011'		; Номер ключа 4 в Eeprom 0x00
Nkey5			equ	b'00000100'		; Номер ключа 5 в Eeprom 0x00
Nkey6			equ	b'00000101'		; Номер ключа 6 в Eeprom 0x00
Nkey7			equ	b'00000110'		; Номер ключа 7 в Eeprom 0x00
Nkey8			equ	b'00000111'		; Номер ключа 8 в Eeprom 0x00
keyrx			equ	b'00110011'		; Команда чтения
keytx			equ	78				; Команда записи
#define			p_tx	GPIO,0		; Key Rx pin
Nkey			equ		0x022
ByteTx 			equ 	0x023
BitCountTx 		equ 	0x024
ByteCountTx 	equ 	0x025
ByteRx			equ 	0x026
BitCountRx 		equ 	0x027
ByteCountRx 	equ 	0x028
Reg_1 			equ 	0x029 



        		 
        		 
;-----------------------------------------------------------------------------------------------------------
;Инициализация портов
				org 0
Init
		bsf 	STATUS,RP0 		; Выбрать банк 0
		movlw	b'00000001' 
		movwf 	TRISIO
		movlw 	b'00000001' 
		movwf 	WPU
		movlw 	b'01101111' 	; устанавливаем OPTION_REG
		movwf 	OPTION_REG
		bcf 	STATUS,RP0 		; Выбрать банк 0

		clrf	GPIO			; Инициализация защелок GPIO

		movlw	b'00000111'		;
		movwf	CMCON			; Каналы GPIO - цифровые входы/выходы

;		movlw 	b'10001100' 	; ИОН
;		movwf 	VRCON

		bcf	INTCON,GIE				; global interrupt off
		bcf	INTCON,PEIE




;		call 	3FFh 			;калибровка РЦ
;		movwf 	OSCCAL

					
;-----------------------------------------------------------------------------------------------------------
Power
		clrwdt	
	;	call    	Delay480ms		; Задержка зарядки конденсатора
	;	call    	Delay480ms		; Задержка зарядки конденсатора
	;	call    	Delay480ms		; Задержка зарядки конденсатора
	;	call    	Delay480ms		; Задержка зарядки конденсатора
	;	call    	Delay480ms		; Задержка зарядки конденсатора
;-----------------------------------------------------------------------------------------------------------
		bsf 	STATUS,RP0 		; Выбрать банк 1
		movlw  	b'01000000'		;40h
		movwf   EEADR			; Адрес считываемого регистра	
		bsf     EECON1,RD 		; Чтение
		movf    EEDATA,W		; W=EEDATA
		movwf	Nkey			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey1,F			; 
		btfsc 	STATUS,Z		; 
		goto	ENkey1			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey2,F			; 
		btfsc 	STATUS,Z		;
		goto	ENkey2			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey3,F			; 
		btfsc 	STATUS,Z		;
		goto	ENkey3			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey4,F			;
		btfsc 	STATUS,Z		; 
		goto	ENkey4			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey5,F			;
		btfsc 	STATUS,Z		; 
		goto	ENkey5			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey6,F			;
		btfsc 	STATUS,Z		; 
		goto	ENkey6			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey7,F			;
		btfsc 	STATUS,Z		; 
		goto	ENkey7			;

		movf	Nkey,W			;
		bcf		STATUS,Z		;
		xorwf	Nkey8,F			; 
		btfsc 	STATUS,Z		;
		goto	ENkey8			;
;-----------------------------------------------------------------------------------------------------------
ENkey1
		movlw  	b'00000000'		;00h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey2
		movlw  	b'00001000'		;08h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey3
		movlw  	b'00010000'		;10h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey4
		movlw  	b'00011000'		;18h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey5
		movlw  	b'00100000'		;20h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey6
		movlw  	b'00011000'		;28h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey7
		movlw  	b'00110000'		;30
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
ENkey8
		movlw  	b'00111000'		;38h
		movwf   EEADR			; Адрес считываемого регистра
		goto	Start			;
;-----------------------------------------------------------------------------------------------------------
; Reset + Presence
Start
		clrwdt
		btfsc	GPIO,0			; Ждем 0
		goto	Start			;
		call	Delay480ms		;
		
		movlw	b'00000000' 	; GP0 output
		movwf 	TRISIO			;
		bcf 	p_tx			;
		call	Delay240ms		;
;		bsf		p_tx			;
		movlw	b'00000001' 	; GP0 input
		movwf 	TRISIO			;
;-----------------------------------------------------------------------------------------------------------
; Ждем команду 33h
Comand
		clrwdt					;
		clrf    ByteRx			; 
		movlw   8				; load bit counter with 8 bits 
		movwf  	BitCountRx		; 

R1_next
		bcf     STATUS,C		; clear Status C reg
		rrf     ByteRx,F		; one bit shift RxReg
		
		btfsc	p_tx			;
		goto	$-1
		call	Delay10ms		;

		btfsc   p_tx			; check Rx pin
		bsf     ByteRx,7		; Rx pins is Hight? Yes, set bit on the RxReg 
		call	Delay15ms		;
		call	Delay15ms		;
		call	Delay15ms		;		
		decfsz  BitCountRx,F	; all 8 bit Rx?
		goto    R1_next			; No, jump to next 

		movf	keyrx,w			;
		bcf		STATUS,Z		;
		xorwf	ByteRx,W		;
		btfsc 	STATUS,Z		; 
		goto	Power			;
		
;-----------------------------------------------------------------------------------------------------------
;Чтение из Eeprom

ReadE

		bsf 	STATUS,RP0 		; Выбрать банк 1	
		bsf    	EECON1,RD 		; Чтение
		movf   	EEDATA,W		; W=EEDATA
		movwf	ByteTx			;
		movlw   8				; 
		movwf   BitCountTx		; Счетчик битов
		incfsz	EEADR, F		; Увеличиваем адрес байта на 1

;-----------------------------------------------------------------------------------------------------------
bit_next
		bcf     STATUS,C		; 
		rlf     ByteTx,F		;  
		
		bsf		p_tx			;
		movlw	b'00000001' 	; GP0 input
		movwf 	TRISIO			;

		btfsc	p_tx			;
		goto	$-1
		call	Delay10ms		;

		bcf 	p_tx			;
		movlw	b'00000000' 	; GP0 output
		movwf 	TRISIO			;
		call	Delay240ms		;
		
		btfsc   STATUS,C		; Сравнение бита с 1
		call    Log_1			; Выброс 1
		btfss  	STATUS,C		; Сравнение бита с 0
		call    Log_0			; Выброс 0
     		
		decfsz  ByteCountTx,F	; Уменьшаем счетчик битов на 1
		goto    ReadE			; Переходим на чтение следующего байта

		call    Delay480ms		; 
		call    Delay480ms		; 
		call    Delay480ms		; 
		goto	Power			; End

;-----------------------------------------------------------------------------------------------------------
;Передача 1 и 0

Log_1
		bcf     p_tx			; Разделитель 0
		call	Delay10ms
		bsf     p_tx			;
		call    Delay90ms		; Задержка 90мкс
		decfsz  BitCountTx,F	; Уменьшаем счетчик битов на 1
		goto    bit_next		; Переходим на обработку следующего бита
		return					; Возврат из подпрограммы		


Log_0
		bcf     p_tx			;
		call	Delay10ms
		call    Delay60ms		; Задержка 90мкс
		bsf     p_tx			; Разделитель 1		
		decfsz  BitCountTx,F	; Уменьшаем счетчик битов на 1
		goto    bit_next		; Переходим на обработку следующего бита
		return					; Возврат из подпрограммы

;-----------------------------------------------------------------------------------------------------------
;Задержки

Delay240ms

		movlw       .79
		movwf       Reg_1
		decfsz      Reg_1,F
		goto        $-1
		nop
		nop
		return

Delay480ms

		movlw       .159
		movwf       Reg_1
		decfsz      Reg_1,F
		goto        $-1
		nop
		nop
		return

Delay90ms

		movlw       .29
		movwf       Reg_1
		decfsz      Reg_1,F
		goto        $-1
		nop
		nop
		return

Delay60ms

        movlw       .19
        movwf       Reg_1
        decfsz      Reg_1,F
        goto        $-1
        nop
        nop
		return
Delay10ms

        movlw       .3
        movwf       Reg_1
        decfsz      Reg_1,F
        goto        $-1
		return

Delay15ms

        movlw       .4
        movwf       Reg_1
        decfsz      Reg_1,F
        goto        $-1
        nop
        nop
		return
;-----------------------------------------------------------------------------------------------------------
		org 0x2100

		DATA 0x01,0xA3,0xAC,0xA7,0x02,0x00,0x00,0x4A
		DATA 0x01,0xA5,0xCC,0xB6,0x09,0x00,0x00,0x9F
		DATA 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x2F
		DATA 0x01,0xCA,0x1D,0x85,0x09,0x00,0x00,0x2B
		DATA 0x01,0xA6,0xC8,0x9E,0x11,0x00,0x00,0xDA
		DATA 0x01,0x07,0x63,0x0B,0x0E,0x00,0x00,0x87
		DATA 0x00,0x00,0x01,0x68,0x92,0x00,0x00,0x26
		DATA 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00
		DATA 0x00
		end


Я такой какой я есть )))...
march cat вне форума   Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Жучок 1-Wire Narcoloki Всё по теме электронного взлома 3 18.03.2011 23:00
Еще один эмулятор ds1990, очень простой zero_trigger Видеонаблюдение, системы контроля доступа 6 18.01.2011 10:29
А4+эмулятор kver Германия 22 04.06.2008 03:03
DS1990 ридер Pulsar xporch Новички 1 05.01.2008 23:07
Кто знает по сигналке на ключах DS1990 ksid1 Видеонаблюдение, системы контроля доступа 11 06.11.2006 01:25


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


Перевод: zCarot