汇编语言番外(第十章第三题显示数字)
首先我们知道要显示12666,我们拿到这个整形数字了,要把他转换成字符串”12666”然而字符串的存储方式是ascii码,分别为31h,32h,36h,36h,36h一个字要显示,需要两个字节的属性,所以一共是10个字节。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475assume cs:codedata segment db 10 dup (0)data endscode segment start:mov ax,12666//存储起来 mov bx,data mov ds,bx mov si,0//用于遍历字符 call dtoc mov dh,8 mov dl,3 mov cl,2 call show_str//找到显示起始点给他显示出来 ...
DES算法的C语言从头实现
DES算法的C语言详解我们后期再补充DES算法的逻辑,我先把C语言代码放上面,后期打算做个视频讲解一下从逻辑到代码,因为我们要实现在HLS部署,所以代码要非常原始,包括数组的设定和操作,所以总共600多行。
加密部分首先定义一下我们程序中需要存储数据的数组,并解释他们的含义。
123456789101112FILE* out;文件指针int left[17][32], right[17][32];//一共16轮置换每一轮存储一下,第一轮0是初始,不动,第一次置换结果索引为1int IPtext[64];//初始置换的结果int EXPtext[48];int XORtext[48];int X[8][6];//S盒中48选32bit,这48bit被分成8*6=48int X2[32];int R[32];int key56bit[56];int key48bit[17][48];int CIPHER[64];int encrypted[64];
先来讲解C语言代码的含义。
首先要从文件之中读取明文!
1234567891011121314151617181920void convert ...
简单移位密码的HLS实现
c语言算法1234567891011121314151617181920212223242526272829303132#include<stdio.h>#include<string>#include<ctype.h>void encrypt(char *plaintext, int shift){ int length = strlen(plaintext); for(int i = 0; i < length; i++) { char current = plaintext[i]; if(isalpha(current)) { char base = islower(current) ? 'a' : 'A'; plaintext[i] = (current - base + shift) % 26 + base; } else exit(-1); }}int main(){ char plaintext[10 ...
vitis hls使用基本介绍
我们之前在外国教材上已经实现了最简单的加法器电路,并且用HLS进行了仿真。今天我们来记一下笔记并且实现一个新的电路也就是led灯。
创建项目
如图所示,输入项目名称后,这里可以添加现有的c语言文件。默认没有的话直接next,下面的testbench同理。
下面要确定我们的解决方案名称,解决方案在一个项目中可以有很多个,用来帮我们对比哪种更好。
默认不用动即可。时钟频率默认也就是10ns。
成功创建工程之后,打开左边的include可以看到安装好的一些头文件和库。
我们要生成的模块算法,要放到源文件source里面。testbench我们已经熟悉了,他是激励文件。
电路原理电路原理图如下:
然后开始创建源文件
编写项目文件
在左边的source点击新源文件,可以在我们的项目目录中再创建一个src文件夹保存所有源文件,创建两个源文件,第一个是c语言实现算法,后缀为cpp文件,另一个是头文件,定义数据类型等,后缀.h。
然后编写c语言代码。
头文件代码如下:
123456789#ifndef _SHIFT_LED_H#define _SHIFT_LED_H#define MAX_CNT ...
组合逻辑38译码器实现与相关语法基础
3-8译码器的结构
真值表如下:
显然就是用三个二进制表示8个要选择的电平。
译码器的代码编写我们译码器的的代码和解释如下:
1234567891011121314151617181920212223module decoder_3_8(a, b, c, out); input a; input b; input c; output reg[7:0] out; //或者always@(a, b, c) //以always块描述的信号赋值,被赋值对象肯定定义为reg类型。 //reg [7:0] out;//此时看到下面红线报错消失了。或者在output后面直接加上reg always@(*) case({a, b, c}) 3'b000: out[7:0] = 8'b00000001; 3'b001: out = 8'b00000010; 3'b010: out = 8'b00 ...
neo4j拓扑图使用方法
这一讲我们记录如何导入自己的文件。首先在左上角导入本地csv文件,当然可以导入多个。
Nodes and properties然后我们点击左上角第二个添加nodes,就可以添加节点,首先添加一个Order。
点击Order,会出现右侧的栏,我们在文件中选择order.csv即可。
然后我们点击右侧的map from file添加我们想要的性质,
这里我们选择了三个,然后确认即可。
然后我们可以点击这个编辑就可以修改性质的名称,比如从orderID改成id,并且将数据类型改为string。
Relationships and IDs就是上边的过程,节点需要ID来定义和其他节点的关系,如果在数据文件中多次引用节点,ID 还可确保导入不会多次创建节点。
我们也可以用右边的加号自己添加性质,然后映射到数据中的一列。
现在我们再来创建一个Product节点,导入对应文件products.csv
这里我们添加两种性质,一种是productID另一个是productName。同样地我们将productID改成ID,都完成之后我们可以看到两个节点上的对勾,也就是完成了。
Create rel ...
cisco路由器配置基础
对于cisco路由器,和其他路由器不同,有自己的配置语法,我们在cisco packet tracert模拟器上进行网络模拟配置。
首先是采用console线,从laptop的RJ232接口连接到router或者switch的console接口,然后我们打开laptop终端,显示出来的就是router的控制台!
默认情况下没有设置高级权限用户密码,所以只需要
1enable
就可以进入#模式,也就是类似root模式,然后再进入配置模式
1conf t或者configure terminal
然后进行基本的计算机网络实验。如果退出配置模式,直接
1exit
首先最常规的操作就是禁用domain-lookup,这是用来防止交换机或者路由器将我们输入的一些不正确命令当成域名去解析查询。
123enableconf t#首先进入配置模式了ip no domain-lookup
然后比如可以修改设备名称
1hostname R1
UTS network security lab 6
Task 5 ICMP Blind Connection-Reset and Source-Quench Attacks
ICMP盲连接重置攻击:
ICMP(Internet Control Message Protocol)是用于在IP网络上传递错误消息和操作状态信息的协议。
ICMP盲连接重置攻击是一种利用ICMP协议的攻击方式,攻击者发送虚假的ICMP响应消息,以欺骗目标主机或路由器,使其终止现有的网络连接。
攻击者通常发送虚假的ICMP “目的不可达” 或 “端口不可达”消息,以让目标系统相信之前建立的连接已经终止。这可以导致连接中断,损害网络服务的可用性。
这种攻击可能会对网络性能和可用性产生负面影响,尤其是对于那些对连接可靠性要求很高的应用程序。
ICMP源封锁攻击:
ICMP源封锁攻击是一种用于拒绝服务(DoS)攻击的技术,攻击者发送大量虚假的ICMP “源封锁” 消息到目标系统。
源封锁消息通常包含错误的源IP地址,这些地址并不真实存在于网络中。目标系统会尝试响应这些虚假消息,但由于源IP地址无效,响应消息无法传递到攻击者。这导致目标系统浪费大量的处理能力和网络带宽 ...
数字图像处理
第二章 数字图像基础2.4 图像取样和量化1.取样和量化基本概念取样是空间离散化,量化是幅值离散化。
量化是将f(x, y)的连续分布的值划分为若干个字空间,在同一字空间内的不同灰度值都用这个空间内某一个确定值代替,形成一个有限可列数值序列。
显然,量化误差就是有限个离散值近似表示无限多个连续值产生的误差,也叫量化失真。
2. 数字图像的表示
我们可以用双函数来表示像素,其中两个参数就是像素的坐标。
f(x, y) = \begin{bmatrix}
f(0, 0) & f(0, 1) & \cdots & f(0, N-1)\\
f(1, 0) & f(1, 1) & \cdots & f(1, N-1)\\
\cdots & \cdots & \cdots & \cdots\\
f(M-1, 0) & \cdots & \cdots & f(M-1, N-1)
\end{bmatrix}其中,M, N必须是整数,有时候将灰度的取值范围称为图像的动态范围,将占灰度级的全部有效段的图像叫做高动态范围图像。
存储数字图像的比特数为$b = M \tim ...
UTS network security lab 5
Task 1 SYN flooding attack修改系统设置,
12sysctl -q net.ipv4.tcp_max_syn_backlog#systemctl start ssh
查看某一个网卡的ip用ifconfig + 网卡名。
查看端口运行进程
1lsof -i:11111
Task 2 arp spoofing attack用netwag工具执行命令
1netwox 80 --eth "attacker mac" --ip "target ip"
ICMP redirect attack
ICMP简介:
ICMP是Internet Control Message Protocol的缩写,是用于在IP网络上发送控制消息的协议。ICMP消息通常用于处理网络故障和错误,例如ping命令使用的回显请求和回显响应消息。
ICMP Redirect消息:
ICMP Redirect消息是一种ICMP消息类型,通常由路由器发送给主机,用于告知主机更有效的路由选择。正常情况下,主机会根据路由表来选择发送数据包的下一跳路由器。
攻击步骤: ...



