搜档网
当前位置:搜档网 › JPEG编码器实验报告代码分析

JPEG编码器实验报告代码分析

JPEG编码器实验报告代码分析
JPEG编码器实验报告代码分析

实验报告

1.实验目的

通过阅读JPEG编码器代码,了解编码原理、编码过程和代码实现。

2.实验要求

(1)详细阅读JPEG编码器代码,结合编码原理,了解整个代码实现的过程(2)输入bmp文件,在VC6.0下跑通代码,查看编码器的压缩倍数

(3)对有些模块进行单步跟踪调试,详细了解其过程

3.实验原理

JPEG编码的基本过程如下

(1)像素阵列分块(分为8*8小块)

(2)进行DCT离散余弦变换

(3)进行Z字形扫描,将二维阵列变为一维数列

(4)进行量化

(5)熵编码(Huffman编码)

(6)封装为JPG文件

本次试验所用bmp转jpg编码器的编码步骤

(1)读取bmp文件信息,创建并打开jpg文件

(2)8*8分块及色彩空间变换(RGB转YCbCr)

(3)快速离散余弦变换FDCT

(4)量化

(5)Z字形扫描

(6)使用差分脉冲编码调制对直流系数DC进行编码

(7)使用游程长度编码对交流系数AC编码

(8)霍夫曼熵编码

4.代码分析

整个代码过程可分为三个部分

(1)文件操作

(2)对编码所用信息表进行初始化(int_all)

(3)主编码器进行编码(main_encoder)

主函数分析

int main(int argc, char *argv[])

{

char BMP_filename[64];

char JPG_filename[64];

WORD width_original,height_original; //the original image dimensions, // before we made them divisible by 8

BYTE len_filename;

bitstring fillbits; //filling bitstring for the bit alignment of the EOI(end of image) marker if (argc>1) {

strcpy(BMP_filename,argv[1]);

if (argc>2)

strcpy(JPG_filename,argv[2]);

else {

// replace ".bmp" with ".jpg"

strcpy(JPG_filename, BMP_filename);

len_filename=strlen(BMP_filename);

strcpy(JPG_filename+(len_filename-3),"jpg");//从后三位开始拷贝jpg.

}

}

else

exitmessage("Syntax: enc fis.bmp [fis.jpg]");

//BMP_filename="";

load_bitmap(BMP_filename, &width_original, &height_original);//加载bmp文件信息 fp_jpeg_stream = fopen(JPG_filename,"wb");//创建jpg文件流

init_all();//初始化函数,初始化量化、霍夫曼及亮度色差转换表等,为编码做准备

SOF0info.width = width_original;

SOF0info.height = height_original;//写入图像的宽和高

writeword(0xFFD8); // SOI,写入图像开始标志

write_A PP0info();

// write_comment("Cris made this JPEG with his own encoder"); write_DQTinfo();//写入量化表

write_SOF0info();//写入帧开始

write_DHTinfo();//写入霍夫曼表

write_SOSinfo();//写入扫描开始信息

// init global variables

bytenew = 0; // current byte

bytepos = 7; // bit position in this byte

main_encoder();//主编码函数

// Do the bit alignment of the EOI marker

if (bytepos >= 0)

{

fillbits.length = bytepos + 1;

fillbits.value = (1<<(bytepos+1)) - 1;

writebits(fillbits);

} writeword(0xFFD9); // EOI 写入图像结束标志

free(RGB_buffer);

free(category_alloc);

free(bitcode_alloc);

fclose(fp_jpeg_stream);

} init_all()函数分析

void init_all()

{

set_DQTinfo();//设置量化表信息,进行Z 字形重排

set_DHTinfo();//设置霍夫曼表信息

init_Huffman_tables();//初始化霍夫曼表

set_numbers_category_and_bitcode();//设置数值类别及编码值

precalculate_YCbCr_tables();//计算RGB 转YCbCr 表

prepare_quant_tables();//准备量化表

}

main_encoder()函数分析

void main_encoder() //

{

SWORD DCY = 0, DCCb = 0, DCCr = 0; //DC 系数用来作差分编码,实际编码为两个8*8小块DC 系数之差

WORD xpos, ypos;

for (ypos=0; ypos

{

for (xpos=0; xpos

{

load_data_units_from_RGB_buffer(xpos, ypos); //载入数据

//即读取一个8*8数据块并进行RGB 到YCbCr 转化 process_DU(YDU, fdtbl_Y , &DCY , YDC_HT, YAC_HT);//亮度Y 编码

process_DU(CbDU, fdtbl_Cb, &DCCb, CbDC_HT, CbAC_HT); //色差Cb 编码 process_DU(CrDU, fdtbl_Cb, &DCCr, CbDC_HT, CbAC_HT);//色差Cr 编码 //参数依次为:待编码单元,量化表,DC 系数,直流霍夫曼表,交流霍夫曼表 // process_DU 为主要编码函数,进行了DCT 变换,Z 字形重排,对DC 系数差分脉冲调制AC 系数变长游程编码后,再进行霍夫曼编码

}

}

}

5. 实验结果

1 Bmp原图1024*683,大小2.00M

2 在量化表信息里设置scalefactor = 50(参考值)

1024*683,大小143KB,压缩率14.32倍,图像质量无明显下降

3 在量化表信息里设置scalefactor =500,

1024*683,大小59.9KB,压缩率34.19倍,图像质量有明显下降

译码器、编码器及其应用实验报告

实验四 译码器、编码器及其应用 实验人员: 班号: 学号: 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出Y 0????~Y 7????接数字实验箱LED 管,地址Y 2Y 1Y 0输入接实验箱开关,使能端接固定电平(Y YY 或GND )。电路图如Figure 1所示: Figure 1 E Y 1YY 2Y ?????????? YY 2Y ??????????≠100时,任意拨动开关,观察LED 显示状态,记录观察结果。 E Y 1YY 2Y ?????????? YY 2Y ??????????=100时,按二进制顺序拨动开关,观察LED 显示状态,并与功能表对照,记录观察结果。 用Multisim 进行仿真,电路如Figure 2所示。将结果与上面实验结果对照。

Figure 2 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: Y =Y ???Y ???+Y ???Y ???+YYY 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: Y =Y ???Y ???+Y ???Y ???+YYY =Y ???Y ???Y ???+Y ???Y ???Y +A Y ???Y ???+YYY =Y 0+Y 1+Y 4+Y 7=Y 0????Y 1????Y 4????Y 7????????????????????? 按Figure 3所示的电路连接。并用Multisim 进行仿真,将结果对比。 Figure 3

网络攻防实验报告

实验报告模板

【实验目的】(简要描述实验目的) 采用免杀、混淆等技术的恶意代码有可能突破安全软件的防护而运行在目标主机中。即使用户感受到系统出现异常,但是仅仅通过杀毒软件等也无法检测与根除恶意代码,此时需要用户凭借其它系统工具和对操作系统的了解对恶意代码手工查杀。本实验假设在已经确定木马进程的前提下,要求学生借助进程检测和注册表检测等系统工具,终止木马进程运行,消除木马程序造成的影响,从而实现手工查杀恶意代码的过程。 【实验结果及分析】(需要有结果截图) 一、恶意代码手工查杀实验 1、虚拟机快照 为防止虚拟机破坏后无法恢复,应先将干净的虚拟机进行快照设置。点击菜单“虚拟机”“快照”“拍摄快照”,创建一个干净的虚拟机快照。 2.创建被感染的系统环境 由于恶意代码采用了免杀技术,因此能够成功绕过防病毒等安全软件检测,等用户感到系统异常时,通常恶意代码已经在主机系统内加载运行。为了尽量模拟一个逼真的用户环境,我们在搭建好的虚拟机中运行木马宿主程序 “radar0.exe”。运行完后,可以看见,“radar0.exe”自动删除。

3.木马进程的定位 用户对系统的熟悉程度决定了发现系统异常继而查找恶意代码的早晚。在本例中,明显可以感受到系统运行速度变慢,打开任务管理器,可以观察到有一个“陌生”的进程(非系统进程或安装软件进程)“wdfmgr.exe”占用CPU比率很高。 为了确定该进程为木马进程,可以通过查找该进程的静态属性如创建时间、

开发公司、大小等,以及通过对该进程强制终止是否重启等现象综合判断。在本例中,“Wdfmgr.exe”为木马radar.exe运行后新派生的木马进程。 4.记录程序行为 打开工具“ProcMon.exe”,为其新增过滤规则“Process Name”“is”“wdfmgr.exe”,然后开始监控。点击“Add”将过滤规则加入,可以看到ProcMon开始监控“wdfmgr.exe”进程的行为。需要注意的是,有时为了保证观察到的行为完备性,会先启动ProcMon工具,然后再启动被监控进程。 为了分别观察该进程对文件系统和注册表的操作,点击菜单 “Tools”“File Summary”,观察对文件系统的修改。

数控机床编码器的选型及各类编码的特点及调试

一:增量旋转编码器选型有哪些注意:1.械安装尺寸,包括定位止口,轴径,安装孔位;电缆出线方式;安装空间体积;工作环境防护等级是否满足要求。 2.分辨率,即编码器工作时每圈输出的脉冲数,是否满足设计使用精度要求。 3.电气接口,编码器输出方式常见有推拉输出(F型HTL格式),电压输出(E),集电极开路(C,常见C为NPN型管输出,C2为PNP型管输出),长线驱动器输出。其输出方式应和其控制系统的接口电路相匹配。 二如何使用增量编码器?1,增量型旋转编码器有分辨率的差异,使用每圈产生的脉冲数来计量,数目从6到5400或更高,脉冲数越多,分辨率越高;这是选型的重要依据之一。 2,增量型编码器通常有三路信号输出(差分有六路信号):A,B和Z,一般采用TTL电平,A脉冲在前,B脉冲在后,A,B脉冲相差90度,每圈发出一个Z脉冲,可作为参考机械零位。一般利用A超前B 或B超前A进行判向,我公司增量型编码器定义为轴端看编码器顺时针旋转为正转,A超前B为90°,反之逆时针旋转为反转B超前A为90°。也有不相同的,要看产品说明。 3,使用PLC采集数据,可选用高速计数模块;使用工控机采集数据,可选用高速计数板卡;使用单片机采集数据,建议选用带光电耦合器的输入端口。 4,建议B脉冲做顺向(前向)脉冲,A脉冲做逆向(后向)脉冲,Z原点零位脉冲。 5,在电子装置中设立计数栈 三:从接近开关、光电开关到旋转编码器:工业控制中的定位,接近开关、光电开关的应用已经相当成熟了,而且很好用。可是,随着工控的不断发展,又有了新的要求,这样,选用旋转编码器的应用优点就突出了: 信息化:除了定位,控制室还可知道其具体位置; 柔性化:定位可以在控制室柔性调整; 现场安装的方便和安全、长寿:拳头大小的一个旋转编码器,可以测量从几个μ到几十、几百米的距离,n个工位,只要解决一个旋转编码器的安全安装问题,可以避免诸多接近开关、光电开关在现场机械安装麻烦,容易被撞坏和遭高温、水气困扰等问题。由于是光电码盘,无机械损耗,只要安装位置准确,其使用寿命往往很长。 多功能化:除了定位,还可以远传当前位置,换算运动速度,对于变频器,步进电机等的应用尤为重要。 经济化:对于多个控制工位,只需一个旋转编码器的成本,以及更主要的安装、维护、损耗成本降低,使用寿命增长,其经济化逐渐突显出来。 四:电源供应及编码器和PLC连接:一般编码器的工作电源有三种:5Vdc、5-13Vdc或11-26Vdc。如果

3 译码器和编码器的仿真实验报告

实验三译码器与编码器的设计与仿真 一、实验内容 1.参照芯片74LS138的电路结构,用VHDL语言设计3-8译码器; 2.参照芯片74LS148的电路结构,用VHDL语言设计8-3优先编码器。二、电路功能介绍 1.74148:8-3优先编码器(8 to 3 Priority Encoder) 用途:将各种输入信号转换成一组二进制代码,使得计算机可以识别这一信号的作用。键盘里就有大家天天打交道的编码器,当你敲击按键时,被敲击的按键被键盘里的编码器编码成计算机能够识别的ASCII码。译码器与编码器的功能正好相反。 2.74138:3-8译码器(3 to 8 Demultiplexer),也叫3-8解码器 用途:用一组二进制代码来产生各种独立的输出信号,这种输出信号可以用来执行不同的工作。显示器中的像素点受到译码器的输出控制。 逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号之间的逻辑关系,既省事又直观。如下图所示。 一、编码器 1.VHDL实现 library IEEE; use IEEE.std_logic_1164.all; entity pencoder is port ( i7,i6,i5,i4,i3,i2,i1,i0:in STD_LOGIC; a2,a1,a0,idle:out STD_LOGIC); 解 码 信 号 输 出 端低 电 平 有 效 代 码 输入 端 使能输入端

end pencoder; architecture pencoder_arch of pencoder is signal h:STD_LOGIC_VECTOR(7 downto 0); begin h(7)<=i7; h(6)<=i6 and not i7; h(5)<=i5 and not i6 and not i7; h(4)<=i4 and not i5 and not i6 and not i7; h(3)<=i3 and not i4 and not i5 and not i6 and not i7; h(2)<=i2 and not i3 and not i4 and not i5 and not i6 and not i7; h(1)<=i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7; h(0)<=i0 and not i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7; idle<=not i0 and not i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7; a0<=h(1) or h(3) or h(5) or h(7); a1<=h(2) or h(3) or h(6) or h(7); a2<=h(4) or h(5) or h(6) or h(7); 2.波形图:

绝对值编码器 选型

@Q发表于:2013/10/14 16:50:08 标签(TAG):编码器绝对值编码器选型 (绝对值编码器问答集节选) 本人正在编写一部《绝对值编码器问答集》的小册子,以下是部分节选。——根据实际使用要求判断是否需要选用绝对值编码器,根据已有的设备信号接口选择选什么样的编码器 1,使用绝对值编码器一定会比用增量式编码器贵吗? 没有!从编码器器件成本上说增量编码器内部器件少,成本价格确实低,但是从编码器的如何使用并产生效果的角度说,绝对值编码器如果选型得当,其使用的效果带来的综合成本,会低于选用增量值编码器,为使用者大大节省成本。2,什么情况下要选绝对值编码器? a.停电移动、惯性滑动的数据安全可靠性问题,对于一些需要高度、长度测量的安全性设备、较大型设备、起重类工程类设备,安全性是很重要的因素,为确保编码器数据的稳定可靠性,必须选用全行程绝对值编码器。这类应用如果发生编码器数据错误可能引起的损失远远超过了编码器成本本身。例如水闸、工程机械、起重机、电梯、门机等等的高度、长度测量。 b.信号抗干扰问题,有时所化的人工成本远远大于一个编码器成本,增量信号较易受到各种干扰,数据采集不稳定,对于各种现场不可预知的干扰会花很多精力去排查,并要设法避开干扰,此情况下应考虑更换绝对值编码器。例如各种自动化工程项目,对于现场的变频器、开关电源、接地状况不明的情抗下,无从判断干扰情况,选用绝对值编码器可以确保应对各种工况条件。 c.后续设备节省资源,增量编码器需要高速计数不停的计数,耗费CPU资源,有时多个编码器连接没有更多的高速计数口,此时选用绝对值编码器的串行输出(如RS485)或总线型输出,其实是节省了后续设备的资源而节省费用。例如需要多个编码器比较的同步纠偏、多个编码器联动操作的流水线、加工机械等。 d.环境较恶劣的选择,增量编码器绝大部分是光学式的,易受水气灰尘及振动影响而损坏,选用磁电式绝对值编码器(单圈或真多圈)的可以避免这种损坏,而大大提高产品使用的寿命,而得到综合效果更佳,使用成本更低。例如户外使用的港口矿山机械、工厂的快速开门机等。 e.节省综合成本,在一些不便于停机修正、更换、维修,或停机修正、更换、维修成本很高的场合下,用绝对值编码器,因其数据的可靠性、产品的耐用性,可以大大减少售后服务人工成本,产品可长时间的使用效果,直接的是产品使用的综合成本大大的节省了。例如一些高速运转的流水线、较远地区的管网系统(电动执行器)。 。。。。。 3.按绝对值编码器输出信号接口有哪些信号输出可选? 选择使用绝对值编码器,首先要根据自身所有的后续接受设备(例如PLC)有什么样的信号接口,根据已有的信号接口选择编码器:

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

网络防御实验报告

网络防御实验报告 学院计算机学院 专业网络工程 班级1班 姓名刘小芳 学号41009040127 - 2013年12月30日

一.实验题目 网络防御实验 二.实验环境 PC 机一台; 操作系统:win7 物理地址:EO-E9-A5-81-A5-1D IP地址:192.168.1.102 三.实验目的 掌握有关网络防御的基本原理和方法; 四.常见网络防御方法 10.1物理层 10.2网络层 路由交换策略 VLAN划分 防火墙、隔离网闸 入侵检测 抗拒绝服务 传输加密 10.3系统层 漏洞扫描 系统安全加固 10.4应用层 防病毒 安全功能增强 10.5管理层 独立的管理队伍 统一的管理策略 五、实验方法概述 前面设计了网络攻击实验,现在在前面的基础上完成网络攻击的防御,主要模仿现在常用的网络防御手段,如防火墙等。 六.概述: 1.恶意代码及黑客攻击手段的三大特点: 传播速度惊人:“大型推土机”技术(Mass rooter),是新一代规模性恶意代码具备的显著功能。 这些恶意代码不仅能实现自我复制,还能自动攻击内外网上的其它主机,并以受害者为攻击源继续攻击其它网络和主机。 以这些代码设计的多线程和繁殖速度,一个新蠕虫在一夜之间就可以传播到互联网的各个角落。

2.受害面惊人:许多国家的能源、交通、金融、化工、军事、科技和政府部门等关键领域的信息化程度逐年提高,这些领域的用户单位的计算机网络,直接或间接地与Internet有所联系。 各种病毒、蠕虫等恶意代码,和各种黑客攻击,通过Internet为主线,对全球各行业的计算机网络用户都造成了严重的影响。 3穿透深度:蠕虫和黑客越来越不满足于攻击在线的网站,各种致力于突破各种边界防线的攻击方式层出不穷。 一个新的攻击手段,第一批受害对象是那些24小时在线的网站主机和各种网络的边界主机; 第二批受害对象是与Internet联网的,经常收发邮件的个人用户; 第三批受害对象是OA网或其它二线内网的工作站; 终极的受害对象可能会波及到生产网络和关键资产主机。 4.网络攻击的动机 偷取国家机密 商业竞争行为 内部员工对单位的不满 对企业核心机密的企望 网络接入帐号、信用卡号等金钱利益的诱惑 利用攻击网络站点而出名 对网络安全技术的挑战 对网络的好奇心 5.攻击的过程 预攻击攻击后攻击

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

实验1-木马病毒攻防

南昌航空大学实验报告 二〇一三年十一月八日 课程名称:信息安全实验名称:实验1木马攻击与防范 班级:xxx 姓名:xxx 同组人: 指导教师评定:签名: 一、实验目的 通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。 二、实验原理 木马的全称为特洛伊木马,源自古希腊神话。木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施DOS攻击甚至完全控制计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。 1.木马的特性 木马程序为了实现其特殊功能,一般应该具有以下性质: (1)伪装性(2)隐藏性(3)破坏性(4)窃密性 2.木马的入侵途径 木马入侵的主要途径是通过一定的欺骗方法,如更改图标、把木马文件与普通文件合并,欺骗被攻击者下载并执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。木马也可以通过Script、ActiveX及ASP、CGI交互脚本的方式入侵,攻击者可以利用浏览器的漏洞诱导上网者单击网页,这样浏览器就会自动执行脚本,实现木马的下载和安装。木马还可以利用系统的一些漏洞入侵,获得控制权限,然后在被攻击的服务器上安装并运行木马。3.木马的种类 (1)按照木马的发展历程,可以分为4个阶段:第1代木马是伪装型病毒;第2代木马是网络传播型木马;第3代木马在连接方式上有了改进,利用了端口反弹技术,例如灰鸽子木马;第4代木马在进程隐藏方面做了较大改动,让木马服务器端运行时没有进程,网络操作插入到系统进程或者应用进程中完成,例如广外男生木马。 (2)按照功能分类,木马又可以分为:破坏型木马;密码发送型木马;服务型木马;DOS 攻击型木马;代理型木马;远程控制型木马。 4.木马的工作原理 下面简单介绍一下木马的传统连接技术、反弹端口技术和线程插入技术。 (1)木马的传统连接技术;C/S木马原理如图1-1所示。第1代和第2代木马都采用的是C/S连接方式,这都属于客户端主动连接方式。服务器端的远程主机开放监听端目等待外部的连接,当入侵者需要与远程主机连接时,便主动发出连接请求,从而建立连接。 (2)木马的反弹端口技术;随着防火墙技术的发展,它可以有效拦截采用传统连接方式。但防火墙对内部发起的连接请求则认为是正常连接,第3代和第4代“反弹式”木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,如图1-2和图1-3所示。

编码器的选型及技术解答

编码器的选型及技术解答 一、问:增量旋转编码器选型有哪些注意事项? 应注意三方面的参数: 1.机械安装尺寸,包括定位止口,轴径,安装孔位;电缆出线方式;安装空间体积;工作环境防护等级是否满足要求。 2.分辨率,即编码器工作时每圈输出的脉冲数,是否满足设计使用精度要求。 3.电气接口,编码器输出方式常见有推拉输出(F型HTL格式),电压输出(E),集电极开路(C,常见C为NPN型管输出,C2为PNP型管输出),长线驱动器输出。其输出方式应和其控制系统的接口电路相匹配。 二、问:请教如何使用增量编码器? 1,增量型旋转编码器有分辨率的差异,使用每圈产生的脉冲数来计量,数目从6到5400或更高,脉冲数越多,分辨率越高;这是选型的重要依据之一。 2,增量型编码器通常有三路信号输出(差分有六路信号):A,B和Z,一般采用TTL电平,A脉冲在前,B 脉冲在后,A,B脉冲相差90度,每圈发出一个Z脉冲,可作为参考机械零位。一般利用A超前B或B超前A进行判向,增量型编码器定义为轴端看编码器顺时针旋转为正转,A超前B为90°,反之逆时针旋转为反转B超前A为90°。也有不相同的,要看产品说明。 3,使用PLC采集数据,可选用高速计数模块;使用工控机采集数据,可选用高速计数板卡;使用单片机采集数据,建议选用带光电耦合器的输入端口。 4,建议B脉冲做顺向(前向)脉冲,A脉冲做逆向(后向)脉冲,Z原点零位脉冲。 5,在电子装臵中设立计数栈。 增量型编码器与绝对型编码器的区分:编码器如以信号原理来分,有增量型编码器,绝对型编码器。 增量型编码器(旋转型)工作原理:由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。编码器码盘的材料有玻璃、金属、塑料;玻璃码盘是在玻璃上沉积很薄的刻线,其热稳定性好,精度高。金属码盘直接以通和不通刻线,不易碎,但由于金属有一定的厚度,精度就有限制,其热稳定性就要比玻璃的差一个数量级。塑料码盘是经济型的,其成本低,但精度、热稳定性、寿命均要差一些。 分辨率:编码器以每旋转360度提供多少的通或暗刻线称为分辨率,也称解析分度、或直接称多少线,一般在每转分度5~10000线。 信号输出:信号输出有正弦波(电流或电压),方波(TTL、HTL),集电极开路(PNP、NPN),推拉式多种形式,其中TTL为长线差分驱动(对称A,A-;B,B-;Z,Z-),HTL也称推拉式、推挽式输出,编码器的信号接收设备接口应与编码器对应。 信号连接:编码器的脉冲信号一般连接计数器、PLC、计算机,PLC和计算机连接的模块有低速模块与高速模块之分,开关频率有低有高。如单相联接,用于单方向计数,单方向测速。A.B两相联接,用于正反向计数、判断正反向和测速。A、B、Z三相联接,用于带参考位修正的位臵测量。A、A-,B、B-,Z、Z-连接,

译码器和编码器实验

实验三译码器和编码器 一实验目的 1.掌握译码器、编码器的工作原理和特点。 2.熟悉常用译码器、编码器的逻辑功能和它们的典型应用。 二、实验原理和电路 按照逻辑功能的不同特点,常把数字电路分两大类:一类叫做组合逻辑电路,另一类称为时序逻辑电路。组合逻辑电路在任何时刻其输出的稳态值,仅决定于该时刻各个输入信号取值组合的电路。在这种电路中,输入信号作用以前电路所处的状态对输出信号无影响。通常,组合逻辑电路由门电路组成。 组合逻辑电路的分析方法:根据逻辑图进行二步工作: a.根据逻辑图,逐级写出函数表达式。 b.进行化简:用公式法、图形法或真值表进行化简、归纳。 组合逻辑电路的设计方法:就是从给定逻辑要求出发,求出逻辑图。一般分四步进行。 a.分析要求;将问题分析清楚,理清哪些是输入变量,哪些是输出函数。 b.列真值表。 c.进行化简:变量比较少时,用图形法。变量多时,可用公式化简。 d.画逻辑图:按函数要求画逻辑图。 进行前四步工作,设计已基本完成,但还需选择元件——集成电路,进行实验论证。 值得注意的是,这些步骤并不是固定不变的程序,实际设计时,应根据具体情况和问题难易程度进行取舍。 1.译码器 译码器是组合电路的一部分,所谓译码,就是把代码的特定含义“翻译”出来的过程,而实现译码操作的电路称为译码器。译码器分成三类: a.二进制译码器:如中规模2—4线译码器74LS139。,3—8线译码器74LS138等。 b.二—十进制译码器:实现各种代码之间的转换,如BCD码—十进制译码器74LS145等。 c.显示译码器:用来驱动各种数字显示器,如共阴数码管译码驱动74LS48,(74LS248),共阳数码管译码驱动74LS47(74LS247)等。 2.编码器 编码器也是组合电路的一部分。编码器就是实现编码操作的电路,编码实际上是译码相反的过程。按照被编码信号的不同特点和要求,编码器也分成三类: a.二进制编码器:如用门电路构成的4—2线,8—3线编码器等。 b.二—十进制编码器:将十进制的0~9编成BCD码,如:10线十进制—4线BCD码编码器74LS147等。 c.优先编码器:如8—3线优先编码器74LS148等。 三、实验内容及步骤 1.译码器实验 (1)将二进制2-4线译码器74LS139,及二进制3-8译码器74LS138分别插入实验系统IC 空插座中。 按图1.3.1接线,输入G、A、B信号(开关开为“1”、关为“0”),观察LED输出Yo、Y1、Y2、Y3的状态(亮为“1”,灭为“0”),并将结果填入表1.3.1中。

实验二M精编B程序设计含实验报告

实验二M精编B程序设 计含实验报告 The following text is amended on 12 November 2020.

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 21 421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y

计算机病毒实验报告

计算机病毒实验报告 ——windows病毒实验 姓名:张艳秋 学号:081300607 班级:信安0802 指导老师:韦俊银 实验日期:2011.5.27

实验内容 1.PE文件感染实验(选) 2.暴风一号病毒 3.VBS病毒产生 4.宏病毒实验(选)

PE文件感染实验 实验目的 了解pe病毒的感染过程 实验环境 硬件设备 PC机一台(建议虚拟机) 软件工具 Office Word 2007 实验步骤 一:参照病毒感染PE文件的7个步骤,记录病毒是如何感染文件(文字和截屏形式) 病毒感染文件过程(以感染文件ebookcode.exe为例): 重定位,获得所有API地址: …… 通过软件Stud_PE可查看可执行文件ebookcode.exe的结构可查看文件内容: 1.判断目标文件开始的两个字节是否为“MZ”:

2.判断PE文件标记“PE”: 3.判断感染标记,如果已被感染过则跳出继续执行宿主程序,否则继续: 4.读取IMAGE_FILE_HEADER的NumberOfSections域,获得Data Directory (数据目录)的个数,(每个数据目录信息占8个字节): 5.得到节表起始位置。(数据目录的偏移地址+数据目录占用的字节数=节表起始位置):

6.得到节表的末尾偏移(紧接其后用于写入一个新的病毒节信息)节表起始位置+节的个数*(每个节表占用的字节数28H)=节表的末尾偏移 7.开始写入节表,感染文件: 二:在掌握Stud_PE工具的基础上,比较文件感染前后有哪些变化。 感染前:

感染后: 由上两图可以看出,感染前后有4处发生了变化: 1:PE文件头中入口点: 感染病毒后ebookedit.exe程序的入口点变成了病毒文件的入口点 2:PointerToRawData域值,即该文件的偏移量发生了变化; 3:imag的大小发生了变化; 4:sections的数量发生了变化。 由.exe文件感染前后变化可知,PE病毒感染过程即在文件中添加一个新节,

绝对值编码器说明

绝对值型的特点 对应旋转角度以格雷码形式并行输出绝对位置值,而且无需计数器。在通电状态下常时输出旋转角度,因为不用计数,可以在有电气噪声、振动的环境下使用。 而且在掉电和上电时都能正确读出旋转角度,不必回归原点,提高系统的速度。 格雷二进制码是为了弥补二进制码的缺陷而产生的代码。 在二进制码中当从某一个数到下一个数变化时,可能同时有2个以上的数据位发生变化,由于对各位读取的时序上的差异,可能造成读出错误。 为了解决此问题,设计一种代码,使其在从任一数到下一数变化时,只有一个数据位变化,以避免读取错误,这样的代码即格雷二进制码。输出码的转换 使用格雷码时,按以下方式进行二进制,BCD码转换。

输出脉冲数/转 旋转编码器的轴转一圈所输出的脉冲数。对于光学式旋转编码器,通常与旋转编码器内部的光栅的槽相同。(也可在电气上使用输出脉冲数增加到槽数的2倍、4倍。) 增量型 在转动时,可连续输出与旋转角度对应的脉冲数。静止状态不输出。因此,只要对脉部进行计数,就可知旋转的位置。 增量型旋转编码器可任选基准位置。根据在一圈内只输出一次的Z 相信号,可调整基准位置。 绝对值型 与旋转的有无没有关系,可并行输出与旋转角度对应的角度信号,可确认绝对位置。 分辩率 分辩率表示旋转编码器的主轴旋转一周,读出位置数据的最大等分数,绝对值型不以脉冲形式输出,而以代码形式表示当前主轴位置(角度),与增量型不同,相当于增量型的“输出脉冲/转”。 光栅 光学式旋转编码器,其光栅有金属和玻璃两种。如是金属制的开有通光孔(槽)。如是玻璃制的,是在玻璃表面涂了一层遮光膜,在此上面没有透明线条(槽)。槽数少的场合,可在金属圆盘上用冲压加工或腐蚀法开槽,在耐冲击型编码器上使用了金属的光栅。

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

防火墙实验报告 2

计算机安全实验报告 实验题目:天网防火墙windows安全设置专业/班级:计科一班 学号:110511407 姓名:李冲 指导教师:张小庆

一天网防火墙技术 1 实验题目简述 个人防火墙是防止电脑中的信息被外部侵袭的一项技术,在系统中监控、阻止任何未经授权允许的数据进入或发出到互联网及其他网络系统。个人防火墙产品如著名Symantec公司的诺顿、Network Ice公司的BlackIce Defender、McAfee公司的思科及Zone Lab的free ZoneAlarm 等,都能帮助用户的系统进行监控及管理,防止特洛伊木马、spy-ware 等病毒程序通过网络进入电脑或向外部扩散。 这些软件都能够独立运行于整个系统中或针对个别程序、项目,所以在使用时十分方便及实用。本次试验采用天网个人防火墙SkyNet FireWall进行个人防火墙简单的配置应用。 2.实验目标和意义 实验的目标是在于熟悉个人防火墙的配置与应用,以便更加保证个人电脑的网络安全,避免恶意用户以及程序的入侵。防治安全威胁对个人计算机产生的破坏。 3.实验原理和实验设备 3.1 实验原理 随着计算机技术的迅速发展,在计算机上处理的业务也由基于单机的数学运算、文件处理,基于简单连接的内部网络的内部业务处理、办公自动化等发展到基于复杂的内部网、企业外部网、全球互联网的企业级计算机处理系统和世界范围内的信息共享和业务处理。在系统处理能力提高的同时,系统的连接能力也在不断的提高。但在连接能力信息、流通能力提高的同时,

基于网络连接的安全问题也日益突出,因此计算机安全问题,应该像每家每户的防火防盗问题一样,做到防范于未然。防火墙则是一个安全策略的检查站。所有进出的信息都必须通过防火墙,防火墙便成为安全问题的检查点,使可疑的访问被拒绝于门外。 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。 例如,防火墙可以限制 TCP、UDP协议及TCP协议允许访问端口范围,当不符合条件时,程序将询问用户或禁止操作,这样可以防止恶意程序或木马向外发送、泄露主机信息。并且可以通过配置防火墙IP规则,监视和拦截恶意信息。与此通知,还可以利用IP规则封杀指定 TCP/UDP端口,有效地防御入侵,如139漏洞、震荡波等。 3.1 实验设备 Window 7 天网个人防火墙2010版 4.实验步骤 4.1 实验步骤 第一步:局域网地址设置,防火墙将会以这个地址来区分局域网或者是INTERNET的IP来源。设置如图3-1.

绝对值SSI编码器

工业级SSI信号GEX58011K1R4096/4096-S(出轴型/盲孔型) 可靠的和专利的 ●具有安全锁(Sa fety-Lock TM)式设计的坚固轴承结构, 可以提供更高的抗振动性和防安装误差性 ●IP68防护等级和宽广的工作温度范围-40℃ (85) ●专利化机械齿轮技术,具有永久断电记忆功能 性能优化 ●高精度,位置数据的数据刷新率≤4us ●通过RS422实现高分辨率反馈 ●控制周期短。时钟频率最快可达1MHz ●国际标准SSI信号格式 机械参数电气参数 最大转速6000转/分工作电压10-30Vdc (5Vdc可定制) 主轴负载轴向40N,径向100N 消耗电流< 50mA (24Vdc)空载 抗冲击1000m/s2(6ms),等于100g 输出信号25位SSI同步串行信号(格雷码和纯二进制可选) 抗振动200m/s2(10-2000Hz),等于20g 线性分辨率1/4096FS和1/8192FS 允许轴向窜动±1.5mm 最大工作圈数4096圈(256圈/64圈可选) 允许径向跳动±0.2mm 重复定位精度小于2Bit 外形结构60mm外径,实心轴,盲孔轴工作温度-40℃~85℃ 连接形式8芯屏蔽电缆或航空插头储存温度-40℃~85℃ SSI协议说明: SSI为同步串联信号,实际的两对RS422,一对时钟触发,一对数据发送。 如右图所示,编码器的绝对位置值由接收设备的时钟信号触发,从格雷码高位(MSB)开始,输出与时钟信号同步的串行信号。时钟信号从接收设备发出,以编码器的总位数输出N个中断的脉冲,当不传送信号时,时钟和数据位均是高位,在时钟信号的第一个下降沿,当前值开始贮存,从时钟信号上升沿开始,数据信号开始传送,一个时钟脉冲同步一位数据。 其中:t3为恢复信号,等待下次传送;N=13;16;25;28。根据编码器总位数。 T=4—11us; t1=1—5.5us; t2≤1us; t3=11—15.5us (Clock-及Date-省略未画)。 实际使用中,为保证信号的稳定与较远的传输距离,推荐参数如下: T=8us(125KHz); t1=4us; t2′(实际读数延迟时间)=3~4us; t3=15us。 具有专利化机械齿轮计圈式多圈编码器,不含电池, 具有永久断电记忆功能。100%抗磁场干扰性,欧标 安装尺寸,盲孔孔径可选8-15mm孔。

相关主题