информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / gadgets
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
RE: А если попробовать его обойти 26.11.01 22:20  Число просмотров: 3387
Автор: I Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > А никто не пробовал подключать карточку не напрямую а
> через
> > PIC , ну тоесть емулировать только область счетчика
> ????

Гораздо проще и эффективнее обходится одним эмулем без смарт карты, чтобы и кредиты и служебная инфа была в памяти пика. Вот, почитай:

list p=16f84a
#include p16f84a.inc
cblock 0
PIN_CLK
PIN_RES
PIN_IO
endc
cblock 0x0C
W_CMD
CNT
TMP
BYTEF
endc

#define BANK0 bcf STATUS,RP0
#define BANK1 bsf STATUS,RP0
#define IO_1 bsf PORTB,PIN_IO
#define IO_0 bcf PORTB,PIN_IO
#define GIEON bsf INTCON,GIE

org 0
goto Init

org 4
btfsc PORTB,PIN_RES
movlw 2
addwf PCL,1
goto Read
goto WWC
goto Reset
WWC:
btfss W_CMD,0
goto Write
goto WriteC

Init:
movlw 8
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movf EEDATA,1
btfss STATUS,Z
goto Init2
movlw 9
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movf EEDATA,1
btfss STATUS,Z
goto Init2
movlw 0xA
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movf EEDATA,1
btfss STATUS,Z
goto Init2
movlw 0xB
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movf EEDATA,1
btfss STATUS,Z
goto Init2
movlw 0xC
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movf EEDATA,1
btfss STATUS,Z
goto Init2
movlw 0xF
movwf EEDATA
movlw 0xA
movwf EEADR
BANK1
bsf EECON1^0x80,WREN
movlw 0x55
movwf EECON2^0x80
movlw 0xAA
movwf EECON2^0x80
bsf EECON1^0x80,WR
btfsc EECON1^0x80,WR
goto $-1
bcf EECON1^0x80,WREN
BANK0
movlw 0x1F
movwf EEDATA
movlw 0xB
movwf EEADR
BANK1
bsf EECON1^0x80,WREN
movlw 0x55
movwf EECON2^0x80
movlw 0xAA
movwf EECON2^0x80
bsf EECON1^0x80,WR
btfsc EECON1^0x80,WR
goto $-1
bcf EECON1^0x80,WREN
BANK0
movlw 0xF
movwf EEDATA
movlw 0xC
movwf EEADR
BANK1
bsf EECON1^0x80,WREN
movlw 0x55
movwf EECON2^0x80
movlw 0xAA
movwf EECON2^0x80
bsf EECON1^0x80,WR
btfsc EECON1^0x80,WR
goto $-1
bcf EECON1^0x80,WREN
BANK0
Init2:
movlw b'00001111'
movwf BYTEF
clrw
BANK1
bcf TRISB^0x80,PIN_IO
BANK0
bcf INTCON,INTF
bsf INTCON,INTE

Monitor:
GIEON
btfss PORTB,PIN_RES
goto $-1
movlw 1
goto $

Reset:
clrf CNT
IO_1
bcf W_CMD,0
clrw
bcf INTCON,INTF
goto Monitor

Read:
incf CNT,1
rrf CNT,W
movwf TMP
rrf TMP,1
rrf TMP,W
andlw b'00011111'
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movlw b'00000111'
andwf CNT,W
call Filter
andwf EEDATA,1
btfss STATUS,Z
IO_1
btfsc STATUS,Z
IO_0
bcf W_CMD,0
clrw
bcf INTCON,INTF
goto Monitor

Write:
movf CNT,W
andlw b'11000000'
btfsc STATUS,Z
goto Monitor
movf CNT,W
andlw b'11100000'
xorlw b'01000000'
btfss STATUS,Z
goto Monitor
rrf CNT,W
movwf TMP
rrf TMP,1
rrf TMP,W
andlw b'00011111'
movwf TMP
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movlw b'00000111'
andwf CNT,W
call FilterW
andwf EEDATA,1
movf TMP,W
movwf EEADR
BANK1
bsf EECON1^0x80,WREN
movlw 0x55
movwf EECON2^0x80
movlw 0xAA
movwf EECON2^0x80
bsf EECON1^0x80,WR
btfsc EECON1^0x80,WR
goto $-1
bcf EECON1^0x80,WREN
BANK0
bsf W_CMD,0
clrw
bcf INTCON,INTF
goto Monitor

WriteC:
movf CNT,W
andlw b'11000000'
btfsc STATUS,Z
goto Monitor
movf CNT,W
andlw b'11100000'
xorlw b'01000000'
btfss STATUS,Z
goto Monitor
rrf CNT,W
movwf TMP
rrf TMP,1
rrf TMP,W
andlw b'00011111'
movwf TMP
movwf EEADR
BANK1
bsf EECON1^0x80,RD
BANK0
movlw b'00000111'
andwf CNT,W
call Filter
iorwf EEDATA,1
movf TMP,W
movwf EEADR
BANK1
bsf EECON1^0x80,WREN
movlw 0x55
movwf EECON2^0x80
movlw 0xAA
movwf EECON2^0x80
bsf EECON1^0x80,WR
btfsc EECON1^0x80,WR
goto $-1
bcf EECON1^0x80,WREN
BANK0
bcf W_CMD,0
clrw
bcf INTCON,INTF
goto Monitor

Filter:
addwf PCL,1
retlw b'10000000'
retlw b'01000000'
retlw b'00100000'
retlw b'00010000'
retlw b'00001000'
retlw b'00000100'
retlw b'00000010'
retlw b'00000001'

FilterW:
addwf PCL,1
retlw b'01111111'
retlw b'10111111'
retlw b'11011111'
retlw b'11101111'
retlw b'11110111'
retlw b'11111011'
retlw b'11111101'
retlw b'11111110'

org 0x2100
data 0xE9
data 0x22
data 0xEE
data 0x22
data 0x74
data 0x38
data 0xAD
data 0x2C
data 0x00
data 0x00
data 0x0F
data 0x1F
data 0x0F

END
<gadgets> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach