自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (11)
  • 收藏
  • 关注

原创 LeetCode: 1396.设计地铁系统 Python实现(仅利用嵌套的数据结构)

解题思路本方法主要使用了字典嵌套列表以及元组的数据结构注意:字典的key值不能为list类型,原因为 TypeError: unhashable type: ‘list’StoE字典结构如下:{(startStation,endStation):[time_total, times]}time_total: 所有人从相同的始发站到终点站花费的时间总和times: 从相同的始发站到终点站出行的人数总和start字典结构如下:{id:[stationName, t]}额外操作:一个人可以多次乘

2022-04-25 01:03:05 1421

原创 LeetCode-535-Encode_and_Decode_TinyURL

解题思路:利用python字典进行longUrl与shortUrl关系映射。利用random.choices()生成shortUrl code。import random# Python Dictionary# random.choicesclass Codec: def __init__(self): self.l_s = {} self.s_l = {} # self.char_pool = "abcdefghijklmnopqrst

2022-04-23 17:25:26 855

原创 MQTT experiment

On a Linux or OS X machine, install Mosquitto (http://mosquitto.org/).You will need the server (broker) as well as the clients (publisher and subscriber).You do NOT need to compile from sourcesOn Linux use your distribution’s standard package management

2022-03-31 01:22:49 1193

原创 无线通信 - 三、四地址(Addressing Mechanism)

无线通信中时常会涉及到三四地址的概念,在设备与设备间传输,设备与AP间传输,AP与AP间传输分别是哪种机制呢?请看该blog中的具体介绍~

2022-01-27 21:39:35 14251 1

原创 快速傅里叶变换FFT

摘要0.1 FFT:快速傅里叶变换是一种降低离散傅里叶变换计算复杂度的算法。0.2 关键词:FFT(快速傅里叶变换),DFT(离散傅里叶变换)0.3 注意:DFT(离散傅里叶变换)与DTFT(离散时间傅里叶变换)是不一样的,DTFT可以当做是有无限个采样点,而DFT是对采样信号取一部分(windowing)进行变换的。对DFT的一种理解(interpretation):DFT指代将N个时域信号采样点转换为N个频域信号采样点。DFT1.1 DFT计算公式:1.2 DFT的矩阵表示方

2021-12-29 07:28:24 1752

原创 传输层协议TCP简介

引言UDP是一种简单的协议,但是也有着重要的应用,像Client-Server交互等,以及多媒体传输。但是对于大部分的互联网应用,可靠以及有序的传输是必要的。UDP不能提供这种可靠的传输模式,所以另一种协议需要来不足这个空缺,即:TCP。TCP是互联网一种主要的协议。1. Introduction to TCPTCP(Transmission Control Protocol) 是一种可以在不可靠网络上提供可靠的端对端字节流传输的协议。单个网络与互联网是不一样的,因为不同互联的网络可能有不同的拓扑

2021-12-19 02:42:58 1176

原创 传输层协议UDP简介

引言在TCP/IP模型中,位于传输层主要有两种协议:TCP,UDP。这两种协议可以说是在功能上互补的,TCP是面向连接传输协议,UDP是面向无连接协议。UDP主要负责在applications之间传输packets,除此之外没有其他功能,applications可以在UDP基础上构建它们自己的协议。TCP在功能方面可以说做的很全面,增加重传机制来提高可靠性,流控制,拥塞控制等。Introduction to UDP网络协议簇中面向无连接的传输层协议叫做UDP(User Datagram Proto

2021-12-18 21:52:31 1275

原创 Matlab中绘制欧拉公式

原理(Euler’s Formula):exp(jwt) = cos(wt)+jsin(wt)f = 0.5; %定义频率;w = 2*pi*f; %定义角频率;nMax = 400; %定义采样点数;ts = 1/100; %定义采样时间间隔;n = 0:nMax; %采样序列;x = exp(1i*w*n*ts);%复指数函数形式;%plot3(n*ts, real(x), imag(x));t = n*ts; 生成以ts为采样间隔,n为采样点数的时间轴;mov = VideoW

2021-11-05 07:13:34 6893

原创 CSMA(carrier sense multiple access)

为了减少发生collision的可能,提高媒介传输的性能,所以开发了CSMA。在CSMA机制下,用户在尝试使用媒介之前首先要感知媒介是否处于idle状态。“sense before transmit”,“listen before talk”CSMA可以有效降低发生冲突的可能性,但是无法彻底消除。由于传播时延,发生冲突的可能性还是存在。在一个站点发送一个帧的数据后,数据的第一个bit没有到达另一个站点前,另一个站点则会认为媒介是处于idle状态的,此时这个站点则会发送自己的数据,导致产生冲突。Vul.

2021-11-01 17:00:39 543

原创 Media Access Control(媒体访问控制)--ALOHA

Random Access (随机访问)在随机访问或竞争方式下,每个站点都是一样的。站点若想发送数据则需要遵从协议里的一些程序,主要是判断传输介质的状态(idle or busy)。这种访问方式有两个特点:①每个站点没有固定的发送数据的时间 ②没有规定站点发送的顺序正是由于以上的两个特点,两个站点若同时发送数据是会产生collision(冲突),此时发生collision的数据都会被破坏。如何优化呢?看看以下几点:一个站点什么时候可以访问media站点需要怎么做,if the media is

2021-10-31 18:23:11 1231

原创 校园网路由器有线中继(针对802.1X)

目前好多大学校园网都要使用学生账号认证,虽然多个设备可以同时连接上网,但是AP距离宿舍太远,若宿舍内有有线网口,可以考虑有线中继校园网,这样之后自己在宿舍上网就不需要那么麻烦了。准备工作:一款可以刷Openwrt的路由器,具体型号可以在以下网站上查看:Openwrt Router Table若找到的路由器在该列表中,那么打开对应刷机教程wiki页面,例如ASUS RT-AC57U:RT-AC57U刷Openwrt教程针对具体型号的教程可以在以下链接中查找:https://openwrt.or.

2021-10-15 07:30:03 4136 3

原创 IOS15升级教程

准备手机,Mac电脑(备份手机用)。???? 开始备份自己的手机数据。在手机上下载ios15的beta profile(描述文件):描述文件下载地址 https://betaprofiles.com/注意:请在手机上打开进行下载,待下载结束后打开设置便可以看到安装描述文件的选项,安装描述文件后需要重启手机,重启之后最新更新便出现在了软件更新中。...

2021-06-13 18:50:06 3170

原创 算法图解-Python(第八章:贪婪算法)

题目:假设你办了个广播节目,要让全美50个州的听众都收听得到。为此,你需要决定在哪些广播台播出。在每个广播台播出都需要支付费用,因此你力图在尽可能少的广播台播出。现有广播台名单如下。每个广播台都覆盖特定的区域,不同广播台的覆盖区域可能重叠。如何找出覆盖全美50个州的最小广播台集合呢?贪婪算法解题方法如下(Python):# 贪婪算法'''假如你办了个广播节目,要让全美50个州的听众都收听的到。为此,你需要决定在哪些广播台播出。在每个广播台播出都需要支付费用,因此你力图在尽可能少的广播台播出。

2021-06-03 22:08:37 2262 1

原创 LeetCode:21. 合并两个有序链表(递归,Python实现)

题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]利用了递归的思想:首先将两个链表传入,之后开始按照元素顺序进行对比,返回较小值后继续进行递归直到其中的某一个链表为空时结束。# Definition for singly-linked list.class ListNode: def __init__(self, val=0, next=Non

2021-05-31 20:11:35 240

原创 LeetCode:1. 两数之和(哈希表)

题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题解:# 两数之和:求解过程使用哈希表(散列表),即python中的字典。from typing import Listclass Solution: def twoSum(self, nums: List[int], targe

2021-05-24 19:49:03 110

原创 LeetCode:136. 只出现一次的数字(哈希表)

题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。普通解法:# 只出现一次的数字from typing import Listclass Solution: def singleNumber(self, nums: List[int]) -> int: record_dict = {} for i, item in enumerate(nums): if item in

2021-05-24 19:45:08 259

原创 数据结构 单链表 C语言实现

单链表单链表顺序存储线性表分配方式分散存储集中存储时间性能查找O(n) 插入删除O(1)查找O(1) 插入删除O(n)空间性能无需分配空间,元素可以无限扩充分配空间,元素个数有限c语言代码实现(单链表)//// main.c// 线性表链式存储结构//// Created by Kinble Wu on 2020/3/2./...

2020-03-05 12:57:13 854

原创 线性表 顺序结构 C语言实现

本文是关于线性表的介绍以及c代码实现(全文仅供参考)线性表:定义:有相同属性的数据元素的一个有限序列结构类型:顺序、链式(单链表,双链表)、索引、散列顺序存储结构:把线性表中所有元素按照逻辑顺序依次存储到计算机存储器的指定位置开始的一块连续的存储空间线性表顺序存储结构,存储时元素与下标间的关系:a1a2a3a4…an…a(Maxsize)01...

2020-03-02 18:23:37 434

原创 网络对抗原理LDAP相关实验

网络对抗原理(实验三)用openldap搭建LDAP服务器,尝试对学生信息进行增删改查,信息包括但不限于学生id、密码、邮箱、手机号、部门等。首先搭建ldap服务器 sudo apt update sudo apt install slapd ldap-utils #安装配置软件 sudo dpkg-reconfigure slapd #对slapd进行再配置配...

2019-07-02 10:46:13 832 1

原创 基于MIRACL大数库的国密SM2实现

SM2的实现原理文档:http://www.oscca.gov.cn/sca/xxgk/2010-12/17/1002386/files/b791a9f908bb4803875ab6aeeb7b4e03.pdf 源码链接:https://download.csdn.net/download/baron_wu/10910557 实现效果:...

2019-01-11 12:53:52 2376

转载 编译原理:FIRST集与FOLLOW集

编译原理:FIRST集与FOLLOW集一、First集合定义:First集合是对产生式右部的字符串而言的,求取的是非终结符VT(或终结符、空字符、文法符号串)的开始符号集合,集合中包含的是由左部非终结符VT推导得到的终结符VN或空字符ε。以α表示一个文法的字符串,FIRST( α )表示由α推导出的串的首个终结符或空字符组成的集合。规则求文法符号X的FIRST( X ) ,直到没...

2018-12-13 20:06:28 10791 3

原创 PDF convert(多个pdf合并的脚本)

PDF convert(多个pdf合并的脚本):运新环境:已安装python及PyPDF2包Tips:pip install PyPDF2 安装PyPDF2包的命令新创建一个文件夹,在任何位置均可。 在创建的文件夹内创建py脚本,eg:PDFconvert.py 编写代码import PyPDF2import osdirectory = input("请输入文件路径:...

2018-11-27 21:42:59 2225

原创 中国剩余定理(孙子定理)的算法实现(基于miracl大数运算库)

中国剩余定理(孙子定理)的算法实现:一、实现目标:根据中国剩余定理,设正整数两两互素,那么对于任意k个整数,同余方程组: 必有解,模的解数为1。方程组元素的传入是通过文本文件读入的,顺序是,,每个数字之间是通过换行来分割的,数字大小最大设值为500位。判断正整数是否两两互素;是,则通过中国剩余定理算出同余方程组的解;否则跳出,输出“不能直接利用中国剩余定理”。 二、...

2018-11-20 19:25:35 3893 1

原创 多表代换加密解密(python实现)

多表代换加密解密(python实现): 多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。其算法可简述为:设密钥为k,明文为m,加密为c,则有加密变换ek(m)=c1c2…cn,其中,ci=mi+ki mod q。其中Vigenere密码和Beaufort密码均是多表密码的实例。1.密钥生成(1)随机...

2018-11-17 16:53:43 6999

原创 使用IDA Pro调试Android原生程序(远程运行)

使用IDA Pro调试Android原生程序:首先将之前生成的文件hello以及IDA_Pro中的android_server上传到虚拟机中。生成的hello所在路径为:android_server所在路径为:找到后把他们放到一个新创建的名为tmp文件夹:之后便在终端输入如下命令进行上传:adb push hello /data/local/tmpadb ...

2018-11-16 10:02:10 1903

原创 编译生成原生程序(基于Androidstudio环境下的操作)

编译生成原生程序:首先打开Androidstudio创建一个工程,具体操作如下:  到这里便创建好了工程。  接着在工程的根目录下创建一个jni的文件夹。之后在jni里创建一个hello.c和一个Android.mk文件。之后在sublime或者notepad++里编辑这两个文件。红框内为你自己命名的c文件的名字。...

2018-11-12 19:57:55 1360 1

原创 not executable :32-bit ELF file的解决方案(Androidstudio环境下图解)

not executable :32-bit ELF file的解决方案首先来一张报错情形:因为我们在Android.mk中使用的是arm的ABI(arm为处理器的一种,还有x86等)所以我们要安装对应ABI为arm的虚拟机才可以执行。解决:具体操作如下:   到此时  我们安装好了ABI为arm的虚拟机。验证:虚拟机安装好后进行...

2018-11-12 19:35:22 16457 1

原创 python中矩阵的基本运算学习记录

 矩阵运算:NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))import numpy as npfrom numpy.linalg import *  // 矩阵运算行列式:a=np.mat([[...

2018-11-11 15:46:02 498

原创 Hill2加解密(C语言实现)

Hill2加解密(C语言实现)(作者:Baron_wu   禁止转载  )Hill2加密过程:首先需要有加密秘钥——一个二阶可逆矩阵(A)。 int A[2][2] = { {0,0},{0,0} }; printf("please input four number of matrix A(one num one enter):\n"); for (int i = 0; i...

2018-11-10 08:42:06 1849 1

原创 MATLAB 2018b 安装教程(图解)Mac Win Linux下均可安装

MATLAB 2018b 安装教程:首先自己从官网上申请matlab试用版,选择需要的模块后,下载matlab安装包。之后联网下载,下载好之后先不要打开matlab。具体步骤如下:之后就开始下载安装了。待下载安装完之后进行略微修改(配置文件:https://download.csdn.net/download/baron_wu/10833257 ...

2018-11-08 16:44:27 24378 13

原创 win10下YACC和LEX的安装

Win10下yacc和lex的安装(后边有问题烦请大神留言解决一下感激不尽)First download the package of unxutils.zip  URL:http://unxutils.sourceforge.net/UnxUtils.zip Then unzip it to a folder, like me D:\UnxUtilsSet the path ...

2018-11-06 15:19:56 2991 3

原创 仿射密码算法实现(C语言以及Python实现)

仿射变换:加密:解密:其中a, b为密钥, ,且gcd(a, 26)=11.参数选取与密钥生成首先让用户自行输入a,b的值。判断a与N是否互素。(欧几里得算法)利用a与N求得a的模逆aa。(扩展欧几里得算法)由以上的<a,b>为加密秘钥对,<aa,b>为解密秘钥对。printf("please input a and b(divide ...

2018-11-06 10:54:31 4812 1

原创 Hydra暴力破解工具

Hydra暴力破解工具(作者:Baron_wu  禁止转载)Hydra是猜测/破解有效的登录/密码对的工具。Don't use in military or secret service organizations, or for illegal purposes.支持的协议:Asterisk,AFP,Cisco AAA,Cisco auth,Cisco enable,CVS,...

2018-11-02 11:59:04 2561

原创 C语言File文件操作函数学习

C语言File文件操作函数学习(禁止转载)(content from 《C Primer Plus, Fifth Edition》 By Stephen Prata)· Functions:fopen(), getc(), putc(), exit(), fclose()fprintf(), fscanf(), fgets(), fputs()fread(), fwrite()...

2018-11-02 09:36:59 2702

原创 Fermat素性检验算法(基于miracl的大数运算)

Fermat素性检验算法(作者:Baron_wu   禁止转载)一、实验目的        这次的实验是使用Fermat素性检验算法(这是一个概率性算法),来判断从文本文件中输入进去的大整数是不是一个素数。在平时我们接触到的C语言结构中,最大的表示数值是unsigned int型数据,其最大可以表示数据,也就是八个字节的大小,即使是这样,对于我们信息安全实验来说,这样的数据类型长度是远...

2018-11-01 21:12:15 4807 4

原创 使用IDA_Pro分析Android程序

使用IDA_Pro分析Android程序首先安装IDA_Pro之后打开进入空的工作台,将apk应用后缀改为zip,然后解压,将解压后的文件夹内的classes.dex拖入工作台中,之后便开始分析程序。Nez对应39将nez改为eqz 即将39改为38APK程序安装时会调用dexopt进行优化和验证,dex文件中的DexHeader头checksum字段标识了dex文件的合法性...

2018-10-31 13:29:27 808

原创 使用apktool分析Android程序

使用apktool分析Android程序(作者:Baron_wu 禁止转载)Installation for Apktool •Windows: 1. Download Windows wrapper script (Right click, Save Link As apktool.bat) 2. Download apktool-2 (find newest here)...

2018-10-30 20:30:14 964 3

原创 Android注册程序编写(二)主函数部分

Android注册程序编写(二)(作者:Baron_wu 禁止转载)大家关注一下,顺便点个赞呗首先安装插件:butterknife打开file下的setting并选择plugins(在browse):在browserepository中搜索butterknife并安装。在build.gradle里添加相应的依赖: implementation 'com.jakewha...

2018-10-28 16:52:32 657

原创 Android注册程序编写(一)之图解编程

Android注册程序编写(一)(作者:Baron_wu 禁止转载)界面设计首先进入Androidstudio创建一个空的工程:选择要运行的设备:选择一个空的活动:为app命名:之后进入主界面:点击红笔画中的窗口进入界面设计窗口:界面设计窗口如下:选中图中布局删除:之后按下图点击并拖入设计界面:拖入后的效果如图所示:再将线性排布也拖入设计界面:...

2018-10-28 16:21:51 878

原创 Linux安装软件(RPM和DEB)

Linux安装软件(RPM和DEB)(作者:Baron_wu 禁止转载)RPM(Fedora,Redhat等系统)安装软件包:rpm -ihv [package]rpm -Uhv [package] (U是update的意思,一般建议使用这条命令安装)安装以.rpm为后缀的程序,例如:rpm -ihv nmap-6.40-4.e17.x_86_64.rpm删除软件包:rpm...

2018-10-25 22:37:21 7664

西电编译原理大作业 C语言版

简单函数绘图语言的解释器 实现简单函数绘图的语句 循环绘图(FOR-DRAW) 比例设置(SCALE) 角度旋转(ROT) 坐标平移(ORIGIN) 注释 (-- 或 //) 屏幕(窗口)的坐标系 左上角为原点 x方向从左向右增长 y方向从上到下增长(与一般的坐标系方向相反)

2019-01-19

SM2国密算法实现(基于mircal的实现)

利用miracl.lib 大数库实现SM2加解密算法。SM2椭圆曲线加密解密,在博客里有实现的效果

2019-01-11

数据通信与网络课后答案(全)

数据通信与网络 机械工业出版社 吴时霖等译著 原书第四版 包含每章详细的课后答案

2019-01-09

2*1的Alamouti空时码BER性能曲线matlab源码

2*1的Alamouti空时码BER性能曲线matlab源码,内含详细注释,即下即用

2018-12-20

Android反编译测试apk

(1)程序功能 在一个输入框中输入用户名,在另一个输入框中输入16位长度的注册码,然后点击注册按钮,若注册码与输入用户名匹配,则弹出“注册成功”,否则,弹出“注册失败”。 (2)设计 程序比较简单,只有一个Activity。首先根据程序功能创建布局并且添加控件。

2018-11-11

CrystalDiskMark6

CrystalDiskMark是一个测试电脑硬盘检测工具,简单易于操作的界面随时可以测试存储设备,测试存储设备大小和测试数字都可以选择,还可测试可读和可写的速度。

2018-11-03

cygwin安装程序

win10下一款小型的命令行虚拟机,功能强大,可自行选择安装模块,gcc,g++等。

2018-10-30

sublime安装程序

sublime安装包,最新版。win10下一款非常友好的代码编辑器。

2018-10-30

Androidkiller.exe

Androidkiller是一款可以将apk文件经过分析得到smali文件的一款逆向软件,通过这款软件可以分析apk文件。

2018-10-22

miracl.lib文件及头文件

密码学所用到的大数库,miracl.lib等需要的环境。miracl.h mirdef.h等

2018-10-19

Android软件安全与逆向分析

该文件为Android软件安全与逆向分析原版pdf的压缩版,下载后用7z解压即可。

2018-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除