
看了最近的7月番,这个还是特别有趣。
wwwwww
又找回来以前追番的感觉了,然后我就把漫画补完了……
1926
看了最近的7月番,这个还是特别有趣。
wwwwww
又找回来以前追番的感觉了,然后我就把漫画补完了……
1926
M1卡:全称Mifare classic 1K,普通IC卡,0扇区不可修改,其他扇区可以反复擦写。通常我们使用的门禁卡、电梯卡都是M1卡。
M1卡是NXP(恩智浦半导体)公司研发的IC卡,执行标准是ISO/IEC14443 Type A,读写频率是13.56MHz。目前大多数手机厂商使用的NFC芯片都是NXP,另一部分则是BRCM(博通)方案,均执行同一标准,这是手机读写M1卡的技术基础。
UID卡:普通复制卡,可以反复擦写所有扇区,门禁有防火墙则失效。
CUID:升级复制卡,可以反复擦写所有扇区,可以穿透大部分防火墙。
FUID:高级复制卡,0扇区只能写入一次,写入后变为M1卡。
UFUID:超高级复制卡,0扇区只能写入一次,封卡后变为M1卡,不封卡变为UID卡。
16个扇区从0-15,每个扇区有4个快,每个块有16Bytes 数据,全部一共1024Bytes(1K) 数据,
普通门禁卡一般只验证第0扇区第0块第16数据。
固门禁卡复制,需要使用PN532 读取0块数据,再复制0块数即可。
仅对普通的非加密M1卡有效
PN532 指令
#1.寻卡
send:26
recv:04 00
#2.防冲突
send:93 20
recv:B0 6A BC 3B 5D
#3.选卡
send:93 70 B0 6A BC 3B 5D D9 36
recv:08 B6 DD
#4.休眠
send:50 00 57 CD
#5.写0块后门指令1(7bit模式)
send:40
recv:0A
#6.写0块后门指令2
send:43
recv:0A
#7.写块数据
send:A0 00 5F B1
recv:0A
#8.写入16字节的块数据
send:75 C5 48 37 CF 08 04 00 62 63 64 65 66 67 68 69 5C BB
recv:0A
#块0数据注解
75 C5 48 37: 4字节卡号
CF : XOR卡号校验
08 : 卡容量
04 00 : 卡类型
62 63 64 65: 其它
66 67 68 69: 其它
micropython 下建议使用cuid卡;uid卡可能无法修改0扇区0块的id
Chrome/34.0.1847.
务必对该访问UA进行掐死;
if($http_user_agent ~ "34\.0\.1847"){
return 403;
}
匹配到“34.0.1847”就返回403
$remote_addr 匹配访问IP
匹配符号 | 描述 |
---|---|
= | 准确匹配 |
~ | 正则匹配区分发大小写 |
~* | 表示正则匹配,不区分大小写 |
!~ | 表示正则不匹配,区分大小写 |
!~* | 表示正则不匹配,不区分大小写 |
^~ | 不进行正则匹配 uri |
看了引起强烈共鸣,快哭了。
随着时间的成长 渐渐放弃自己的梦想
是时候重拾起自己的梦想
el psy congroo
import camera
camera.init(0,format=2)
camera.init(0,format=camera.GRAYSCALE)
#默认灰度图
camera.init(0,format=3)
camera.init(0,format=camera.JPEG)
#JPG格式
# 相关格式
# JPEG -- 3
# YUV422 -- 1
# GRAYSCALE -- 2
# RGB565 -- 0
camera.framesize(5)
#320X240 设置分辨率
img=camera.capture()
import uos
from machine import SDCard
#FAT 格式的存储卡
uos.mount(SDCard(),'/sd')
uos.listdir()
uos.chdir('/sd')
uos.listdir()
fg=open("a.jpg","w")
fg.write(img)
fg.close()
#thonny 使用直接右击下载文件,直接查看,本地空间,OPENMV下的esp32cam有1MB的可用空间,单纯micropython下有2MB的空间
#闪关灯
#GPIO4 为LED补光灯,若长时间使用会有严重的发热问题
from machine import Pin
flash=Pin(4,Pin.OUT)
flash.on() #打开闪关灯
flash.off() #关闭闪关灯
img参数直接打印为: 分辨率 文件类型 文件大小
在非jpg下 建设使用320×240 的分辨率(默认分辨率)
可用分辨率:
需要250ms (推荐分辨率 可以4FPS)
* camera.framesize(5) 5 :::: {“w”:320, “h”:240, “type”=”grayscale”, “size”:76800} ::: 267 ms
* camera.framesize(6) 6 :::: {“w”:400, “h”:296, “type”=”grayscale”, “size”:118400} ::: 249 ms
需要750ms
* camera.framesize(7) 7 :::: {“w”:480, “h”:320, “type”=”grayscale”, “size”:153600} ::: 770 ms
* camera.framesize(8) 8 :::: {“w”:640, “h”:480, “type”=”grayscale”, “size”:307200} ::: 722 ms
* camera.framesize(9) 9 :::: {“w”:800, “h”:600, “type”=”grayscale”, “size”:480000} ::: 686 ms
需要2000ms(不建议使用)
* camera.framesize(10) 10 :::: {“w”:1024, “h”:768, “type”=”grayscale”, “size”:786432} ::: 2019 ms
* camera.framesize(11) 11 :::: {“w”:1280, “h”:720, “type”=”grayscale”, “size”:921600} ::: 1819 ms
* camera.framesize(12) 12 :::: {“w”:1280, “h”:1024, “type”=”grayscale”, “size”:1310720} ::: 2126 ms
* camera.framesize(13) 13 :::: {“w”:1600, “h”:1200, “type”=”grayscale”, “size”:1920000} ::: 1968 ms
JPG模式下全分辨率可用,但是使用OPENMV建议处理分辨率为320×240 或 400×296
使用img(拍摄完的对象)进行处理
使用help(img)查看其方法
和openmv的stm32设备下,除了拍照方面不同,其他方面都差不多,文档地址:
book.openmv.cc
大家做相应的替换
img.find_qrcodes()
若识别到二维码,就会返回扫描的相关数据。
但是二维码需要使用灰度图片
import time,camera
camera.init(0,format=2)
camera.init(0,format=camera.GRAYSCALE)
while True:
img=camera.capture()
e=img.find_qrcodes()
if e:
print(e)
time.sleep(0.5)