IC卡破解和复制
IC卡破解和复制实验前言对IC卡感兴趣就研究了点,用于搞点好玩意,比如水卡破解什么的,这玩意自己搞来玩玩就行了。
工具
ACR122
用于读取和破解IC信息的,IC本身是有一定加密的。
IC可复制白卡
和名字一样,复制卡的载体
实验步骤读取IC卡
卡片放上去,然后运行一下M1卡服务程序就行,对应的程序我会放到后面的
它会生成下面的文件
这个文件可以转换为TXT文件来方便我们读取
打开文件分析对应的IC信息,这个IC是学校的水卡里面有49.80元
经过分析第八扇区和第九扇区是对应的金额,我们学校的水卡有点特殊,分为大钱包和小钱包,实验出来第八扇区是大钱包,第九扇区是小钱包,并且具有校验码,我还没有分析出来校验码的规律是什么,最近事情较多,后面再来搞了。
复制IC卡由于没有分析成功校验码,于是我们直接找一张其他白卡写入这个数据,也能实现再生一张卡
用IC克隆工具来克隆,先初始化,然后连接,最后导入对应的dunp文件,点击复制卡就行了
我们就能得到一张新的49.8的水卡了
GZCTF搭建过程
GZ::CTF搭建过程前言该文章是为了后面方便自己复现GZCTF环境的搭建做的一篇笔记。
GZ::CTF
GFW(长城防火墙)的工作原理和封锁技术
GFW(长城防火墙)的工作原理和封锁技术GFW是Great Fire Wall的缩写,即“长城防火墙”。这个工程由若干个部分组成,实现不同功能。长城防火墙主要指TG监控和过滤互联网内容的软硬件系统,由服务器和路由器等设备,加上相关的应用程序所构成。
首先,需要强调的是,由于中国网络审查广泛,中国国内含有“不合适”内容的的网站,会受到政府直接的行政干预,被要求自我审查、自我监管,乃至关闭,所以GFW的主要作用在于分析和过滤中国境内外网络的资讯互相访问。
GFW对网络内容的过滤和分析是双向的,GFW不仅针对国内读者访问中国境外的网站进行干扰,也干扰国外读者访问主机在中国大陆的网站。
先来科普下 GFW 是怎么挡住我们的: []关键字过滤 []IP 封锁 []DNS 污染、劫持 []特定端口封锁 [*]加密连接的干扰
我们一条条来看:
[*]关键字过滤
大家都知道,比如 Http 协议数据包头部是明文的,所以 GFW 一旦发现连接有敏感词,马上就会伪装成连接两方,向真正的对方发送 RST 数据包,真正的双方一看,出现异常了,那把连接关闭吧。所以,有时候你会发现有的页面正在打开,然后过了 ...
Windos 的CMD命令
Windos 的CMD命令常用基本命令1,列出所有任务及进程号,杀进程
tasklist
tasklist /? 获取使用帮助
taskkill
taskkill /? 获取使用帮助
2,cd 切换目录
cd /? //获取使用帮助
cd \ //跳转到硬盘的根目录
cd C:\WINDOWS //跳转到当前硬盘的其他文件
d: //跳转到其他硬盘
cd /d e:\software //跳转到其他硬盘的其他文件夹
注意此处必须加/d参数。否则无法跳转。
cd.. //跳转到上一层目录
3,netstat 查看网络连接状态
显示协议统计信息和当前 TCP/IP 网络连接。该命令可以查看当前机器建立的所有网络链接状态,以及对应哪个进程。
netstat -help 获取命令行使用帮助信息
netstat -ano //查看网络连接、状态以及对应的进程id
4,find
find /?获取使用帮助
netstat -ano|find ".8" ...
Python迭代器与成器
Python迭代器与成器迭代器核生成器算是Python一大特色,其核心是基于迭代器协议来的。
而平时我们经常使用的for in循环体,本质就是迭代器协议的一大应用。
同时Python内置的集合类型(字符,列表,元组,字典)都已经实现了迭代器协议,所以才能使用for in 语句进行迭代遍历。for in 循环体在遇到 StopIteration异常时,便终止迭代和遍历。
再说下可迭代,迭代器,生成器三个概念的联系和区别。
可迭代概念范围最大,生成器和迭代器肯定都可迭代,但可迭代不一定都是迭代器和生成器,比如上面说到的内置集合类数据类型,可以认为,在Python中,只要有集合特性的,都可以迭代。
迭代器,迭代器的特点是,均可以使用for in 和next逐一遍历。
生成器,生成器一定是迭代器,也一定可迭代。
至于Python中为何要引入迭代器和生成器,除了节省内存空间外,也可以显著提高代码运行速度。
迭代器迭代是python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往 ...
python推导式
python推导式python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。
python支持各种数据结构的推导式:
列表推导式
字典推导式
集合推导式
元组推导式
列表推导式过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
1234>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']>>> new_names = [name.upper()for name in names if len(name)>3]>>> print(new_names)['ALICE', 'JERRY', 'WENDY', 'SMITH']
计算 30 以内可以被 3 整除的整数
123>>> multiples = [i ...
python导入本地库文件
python导入本地库文件问题背景在导入一个开源的gitbub项目的师傅,报错发现没有对应的目录,于是去网上找到对应的解决办法,现在做个总结
python包路径搜索机制在解决问题前,我们先来了解一下问题的原因,可以用
来查询当前已安装的包
1pip list package_name
在python解释器里使用sys.path
12import sysprint(sys.path)
sys.path其实就是你的python解释器真正搜索包路径的顺序
python的sys.path解释
sys.path 的第一个路径是脚本的执行目录,如果启动的是交互式python解释器(也就是直接在命令行启动python;或者脚本是从标准输入获取的,则这第一个路径是一个空字符串’’)
第三方库
1/usr/lib/python3/site-packages:/home/user/.local/lib/python3/site-packages
PYTHONPATH环境变量
大部分老手都知道将自己的一些模块路径打入系统环境变量中,让python解释器能够找到
1export PYTHONP ...
python3集合
python3集合集合是一个无序的不重复元素序列。
可以使用大括号{}或者set()函数创建集合,注意:创建一个空的集合必须使用set函数而不是{},因为{}是创建一个空字典。
集合的基本操作添加元素add()函数可以将元素添加到集合中,如果元素已存在,则不进行任何操作
1234>>> thisset = set(("Google", "Runoob", "Taobao"))>>> thisset.add("Facebook")>>> print(thisset){'Taobao', 'Facebook', 'Google', 'Runoob'}
还有一个方法update(),也可以添加元素,且参数可以是列表,元组,字典等。
12345678>>> thisset = set(("Google", "Run ...
Python3错误和异常
Python3错误和异常异常处理try/except异常捕捉可以使用try/except语句
try 语句按照如下方式工作;
首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
如果没有异常发生,忽略 except 子句,try 子句执行后结束。
如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
12except (RuntimeError, TypeError, NameError): pass
最后一个except子句可以忽 ...
python3运算符
python3运算符python语言支持以下类型的运算符:
算术运算符
比较运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
算术运算符和比较运算符,赋值运算符,位运算符基本上和C语言都是一样的,这里就不载赘述了。
Python逻辑运算符
运算符
逻辑表达式
描述
实例
and
x and y
布尔“与”,如果x为False,x and y 返回x的值,否则返回y的值。
a and b
or
x or y
布尔“或”,如果x为true,它返回x的值,否则它返回y的值。
a or b
not
not x
布尔“非”,如果x为True,返回False。如果Flase,它返回True
not a
Python成员运算符除了以上的一些运算符,python还支持成员运算符。
运算符
描述
实例
in
如果在指定的序列中找到值返回True,否则返回False。
x在y的序列中,返回true。
not in
如果在指定的序列中没有找到值返回True,否则返回Fasle。
x不在y的序列中,返回true。
Python身份运算符身份运算 ...