Python 软件注册信息生成器
软件注册信息生成器
最近一个项目由于需要防止在多台电脑上使用,也为了防止用户无限期使用,于是简单做了一个注册器。由于用户电脑不能联网,因此就不能做联网验证,所以其实用户也很容易破解。
开源地址: 点击这里
使用说明
使用前请使用pip install pycryptodome命令按照软件包
使用DecryptModule.py模块进行解密运算,该模块运行在用户的计算机中。
使用EncryptModule.py 进行加密运算,该模块仅需运行在LICENSE管理员的计算机中。
LICENSE签发过程
首先生成加密解密用的密钥对,命令如下:
123python3 ./EncryptModule.py -k LICENSE#将得到 LICENSE-Decrypt.key 和 LICENSE-Encrypy.key 两个文件,分别用于解密和加密
第二步根据用户机器的唯一识别码,过期时间,和加密密钥产生LICENSE文件,命令如下:
1234567891011python ./EncryptModule.py -g Input Private Key File Name:LICEN ...
安装黑苹果并启用secure boot
在ASUS ROG枪神3上安装黑苹果并启用secure boot
最近瞎折腾黑苹果,其实装黑苹果现在倒是挺简单,去 gayhub github上找EFI,再去找个系统镜像,并做个启动盘,改下EFI就差不多行了。如果实在有搞不定的硬件,现在有各种渠道找人来远程做一下也挺方便。但是我发现有关secure boot的资料太少了,而且这些方法我用着都或多或少有问题,没法完全成功,因此在这里记录一下我安装的步骤,也算是提供一种不同的解决方案吧。
安装黑苹果安装过程网上资料很多,这里简单记录一些注意事项和安装工具。
注意Windows如果开启了bitlocker请一定要找到还原密钥再进行操作,不然会导致bitlocker被锁住!!!
注意安装前需要在bios中关闭secure boot
Mac硬盘刻录工具transmac,下载地址:https://www.acutesystems.com/scrtm.htm 有15天试用期,不需要破解,反正就用一下,下次要用重新安装一下就好,本人极度鄙视破解软件等盗窃知识产权的行为!
黑果小兵的博客,https://blog.daliansky.net ...
使用VSCode开发Cortex-M系列芯片
使用VSCode开发Cortex-M系列芯片
最近实在是受不了那些基于eclipse的IDE来开发arm了,界面太丑,而且自动补全功能不好用,于是准备使用vscode加上一系列的开源工具链来开发。其实也可以使用VisualGDB+Visual Studio来开发,但是我觉得还是太重了。
使用的工具
Visual Studio Code
Cmake
GNU Arm Embedded Toolchain
OpenOCD
Cmake tool(VSC的插件)
Cortex-Debug(VSC的插件)
硬件介绍这里我使用的是NXP的FRDM-KL02Z开发板,这个开发板使用板载的OpenSDA调试器来调试,自带的OpenSDA支持三种调试接口,分别是PEMicro,CMSIS-DAP,JLink。此外,它还支持将bin文件直接拖拽进虚拟出来的储存设备的方式来下载程序。使用不同的调试接口需要给OpenSDA刷入不同的固件,关于固件的详细信息可以参考NXP的网站。
我在这里使用的是CMSIS-DAP的接口,主要是因为PEMicro和Jlink的GDBServer不好找(不开源,不想用盗版等原因 ...
Docker for Windows 使用初探
一直以来都听说docker功能十分强大,最近闲来无事终于稍微研究了一下,确实是一个强大的工具。昨晚利用docker部署了一个webdav服务器,几分钟就弄好了,如果使用传统方法我可能甚至会搞一晚上,还容易把系统搞的一地鸡毛。利用docker可以做到开箱即用,非常方便。
docker架构Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
容器与镜像的关系类似于面向对象编程中的对象与类。
docker
面向对象
容器
对象
镜像
类
以下是docker for Windows的大致结构图,对用户来说 ...
基于Swerling目标模型的雷达信号检测
雷达散射截面积(RCS)是表征雷达散射雷达信号强弱的物理量,随着雷达入射角的改变而起伏变化,起伏的RCS导致雷达检测概率、链路损耗均发生改变,为了准确地表述RCS的起伏特性,人们建立了RCS分布的统计模型,最为典型的是非起伏模型和Swerling起伏模型。
设计任务和要求产生不同类型的目标模型数据,按照虚警概率要求,对不同信噪比时的检测性能进行仿真,并分析仿真结果,给出结论。设雷达为平方律检波,检波后进行10个脉冲的非相参积累然后进行信号检测。要求产生Swerling0~IV型目标信号,设噪声为高斯白噪声,要求对信噪比SNR在[-10dB:1dB:10dB]变化范围内分别进行至少$ {10}^5 $次蒙特卡洛仿真,虚警概率为$ {10}^{-6} $。根据仿真结果画出检测性能曲线(横坐标为SNR,信噪比按照1dB为步长而变化,纵坐标为检测概率Pd)。
5类Swerling模型
Swerling0型:非起伏目标,雷达截面积$ \sigma $ 是个固定值。
SwerlingI型:目标回波幅度在一次扫描内恒定,在扫描与扫描间独立,称为慢起伏目标。回波服从瑞利分布。
Swerling ...
FPGA函数发生器设计
FPGA函数发生器设计
随着现在工业和科技的不断提高,传统的三极管等分离元件式模拟信号发生器频率稳定性低、可靠性差的特点,已经不可能满足实际应用的需要,所以就必须制作频率稳定性、精确度更高的信号发生器解决这些问题。传统的信号发生器技术对科学的发展带来了很多,而且随着集成电路技术和数字信号处理的发展,直接数字频率合成技术(DDS)已开始被广泛的用于信号发生器的发生和制作当中。
基于现场可编程门阵列器件的高速、高可靠性和现场可编程等优点,本技术已开始广泛应用于数字集成电路设计、数字信号处理、通信等不同的科技领域。利用直接数字频率合成技术FPGA设计的函数信号发生器具有以下优点:
输出相位噪声低;
频率切换速度快;
可以产生任意波形;
全数字化实现,便于集成,体积小,重量轻;
灵活的接口和控制方式;
比专用芯片功耗也低
工程源码转到github
工作原理DDS(direct digital synthesizer)是在一组存储器单元中按照信号波形数据点的 输出次序存储了将要输出波形的数据,在控制电路的协调控制下,以一定的速率,周而 复始地将波形数据依次发送给 D/A 转换器转换成相 ...
简易图像拼接原理初探
简易图像拼接原理初探
今天突然高产,一天写了两篇博客,可能是博客修好之后有些激动吧。废话不多说,进入正题图像拼接。
首先放一张效果图:
这张图是两张图拼接而成,看看能找到拼接缝吗
图像拼接整体思路整个图像拼接过程首先读入图像后使用fast检测算法识别图像中的特征点,然后计算特征点的向量获取到一个128位长的向量,随后通过对所有向量的逐个匹配计算出匹配的特征点并挑选出距离最短的前N个点作为最佳匹配点,以上识别过程就结束。接下来进行拼接过程,通过计算最佳匹配点可以获取到仿射变换矩阵,利用仿射变换矩阵可以计算出仿射变换后图像的顶点以及图像本身。之后将仿射变换后的图像和另一张待拼接的图像拼接起来即可,拼接后的拼接缝处理利用重叠区域加权平均的思想来处理。以下是整个图像拼接的流程图:
FAST算法提取特征点FAST的提出者Rosten等将FAST角点定义为:若某像素与其周围邻域内足够多的像素点相差较大,则该像素可能是角点。核心思想如下:该算法的基本原理是使用圆周长为16个像素点来判定其圆心像素P是否为角点。在圆周上按顺时针方向从1到16的顺序对圆周像素点进行编号。如果在圆周上有N个连续的像 ...
简易语音辨识原理初探
简易语音辨识原理初探
很久没有写博客了,最近博客还因为各种原因故障了,反正现在修好了,不管了凑合用吧。最近学习了语音识别相关的一些知识,就在这里简单记录以下学习过程吧。
流程简介识别任何一个东西流程基本都是先获取这个东西的特征,之后再根据它的特征来判断这个东西的类别,语音识别也不例外。整个识别过程首先进行语音信号的采集,采集到语音信号之后获取信号的mfcc(Mel频率倒谱系数)参数,也就是语音信号的特征。随后采集到特征之后与和预先存入的语音模板进行匹配,也就是根据特征判断类别,匹配过程使用dtw(动态时间归整)算法。整个方案流程图如下:
其实核心就两部分
mfcc参数提取
dtw模板匹配
mfcc参数提取我们现在知道了语音识别的第一步是获取到语音信号的特征,好在科学家们已经为我们找到一种很好描述语音特征的方法,于是就引出了mfcc这样一种可以描述不同语言特征的东西。mfcc(Mel Frequency Cepstral Coefficents) 翻译过来就是 梅尔频率倒谱系数。那么这是个啥,根据名字我想把它拆分成两部分,即梅尔频率和倒谱系数。
倒谱系数是什么倒谱是什么这个概念 ...
利用相关函数进行元素识别的一个实验性观点
利用相关函数进行元素识别的一个实验性观点
随着NXP智能车竞赛的发展,赛道元素种类越来越多(比如圆环)。在以往的比赛中我们一般采用特征识别的方法来检测这些赛道元素,这种方法缺点很明显,需要为不同的特征设计不同的识别方法。本文主要探讨利用相关函数的特性构建一个通用的识别方法。
流程简介本方法的大概流程:
确定识别模板序列x
待检测的序列y
对x和y序列做傅里叶变换得到X和Y序列
对X序列就共轭序列得到X’序列
X’序列和Y序列逐项相乘获得频域相关序列R
对R序列进行傅里叶反变换得到时域相关序列r
检测r序列的值,若r大于设定的阈值即可认为识别成功
从相关系数到互相关函数相关系数的意义好了我们从头的来理解这个方法,本方法的出发点是概率论中的协方差Cov和相关系数$\rho$. 首先回顾一下自相关的意义,我个人的表述是一个数列y能由另一个数列x线性表示(y=ax+b)的程度,如果如果相关系数等于1那么y当中的每一个值都能由对应的x值来线性表示。对于协方差和相关系数的理解可以参考知乎上的这个回答https://www.zhihu.com/question/20852004?sort=cr ...
废旧小主机改造路由器
废旧小主机改造路由器,廉价的家用NAS解决方案
好久没有写博客了,看了看上一篇还是去年9月份的事情。大三了学习压力好大,没什么时间研究技术方面的东西了。下学期还要开始考研,哎更没时间,估计博客又要好久不能更新了。
最近喜欢上了逛闲鱼捡垃圾,捡到了一台110元的废旧小主机。电子垃圾真便宜,还真是三千预算进图吧,学校对面开网吧啊。一直想给之前用的路由器加些功能,可无奈毕竟是路由器算力跟不上,硬件供电也不行,还把我硬盘给搞坏了。把这次捡的这小主机改造成路由器岂不是美滋滋。改造,开干!关于改造过程,因为篇幅有限,这篇博客只谈软件改造部分,关于硬件部分其实也没什么好说的,就是着重处理了一下散热,然后因为需要wifi就买了一块7260AC无线网卡插上,另外弄了两根6dB天线装上。主机配置如下:
Intel Atom n270处理器(32位)1GB DDR2L 内存32GB 固态Intel 7260AC双频无线网卡4个USB2.0接口一个百兆以太网口另有SATA接口,IDE接口,串口,mini-PCIe,USB扩展排针等等一系列接口,看中这个主板也是因为接口比较丰富。
装系统关于系统,我最终选择了 ...