汇编语言对文件简易加密解密

合集下载

数据加密算法探讨与汇编语言实现

数据加密算法探讨与汇编语言实现
21 0 2年
第 1 期
S IN E&T C N OG F MA I CE C E H OL YI OR TON N
O I T论坛 。
科技信息
数据加密算法探讨与汇编语言实现
石 星
f 同济大 学
【 摘
中国 上海
2 09 ) 0 0 2
要】 本文首先对传统加 密方法 , 对称密钥和非对称密钥加密方法进行 了探讨和 比较 , 出各 自的优缺 点。 指 在此基础上提 出并实现 了一
0 引 言
数据保密变换 , 或密码技 术, 是对计算机信息 进行 保护 的最实用 和 最可靠 的方 法。 现阶段计算机硬盘 以及其 他大容 量存储 介质代替了纸 张成 为信息存储 的主要 方式, 了保护 软件研制者 的权益 以及 防止 。为 些 重要信息的泄密, 常常需要对磁 盘文件进行加密 。本文 即通过对 于不 同数据加密 方法 的探 讨和 比较 , 实现一个 切实可行 . 简单实用 的 加密方法 。
展 的需 要 , 随 之 产 生 的 现 代 密 码 技 术 为 创 造 高 效 的 密 码 系 统 提供 了 而 坚实 的基 础。与计算机发展关系最密切 的密码体 制主要有两种 : 是 一
美 国标 准局 公布的数据加密标准 D S 另一个是 公开密钥 的密码 系统 E:
RSA。
评 价密码体 制好坏 的标 准是 : 码的安全 性和保密性要 强 : 密 密 加 和解 密过程简便 : 加密 和解密处理效 率高 : 密钥 的生成 和管理要简 易

汇编语言对文件简易加密解密

汇编语言对文件简易加密解密

课程设计报告

课程微机原理课程设计

题目简易文件加密解密

系别物理与电子工程学院

年级08级专业电子科学与技术

班级三学号0502083(02 14 23 24) 学生姓名崔雪飞陈祥刘刚李从辉

指导教师居伟骏职称讲师

设计时间2011-4-18 ~ 2011-4-22

目录

第一章绪论 (3)

第二章分析与设计 (4)

2.1 题目 (4)

2.2 要求 (4)

2.3 方案设计与论证 (4)

2.3.1 整体设计思路 (4)

2.3.2 方案选择 (4)

2.4结构框图等设计步骤 (5)

第三章实验程序及分析 (7)

3.1 宏定义 (7)

3.2 加密模块 (10)

3.3 解密模块 (10)

3.4 加密和解密算法子程序 (11)

第四章实验结果及问题处理 (13)

4.1 实验结果 (13)

4.2出现的问题以及解决的方案 (14)

4.2.1 文件写操作问题 (14)

4.2.2 读入缓冲区的大小问题 (15)

4.2.3不同文件类型加解密问题 (15)

4.2.4 文件结束标志 (16)

第五章总结与体会 (17)

参考文献 (19)

附录 (20)

第一章绪论

随着计算机硬件的发展,微机系统的功能越来越强,而且计算机的程序设计语言也经过了一个发展的过程。从最基本的机器语言到汇编语言,并到高级的智能化语言,如visual C++、visual Basic等,不断前进。

汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语合中,用助记符( Memoni )代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

对window可执行程序进行加密反正反汇编

对window可执行程序进行加密反正反汇编

对window可执行程序进行加密反正反汇编

摘要:

1.程序加密的背景和意义

2.Windows 可执行程序的汇编语言

3.反正反汇编的概念和原理

4.加密工具的选择和使用

5.加密效果的验证与分析

6.总结与展望

正文:

随着互联网技术的快速发展,信息安全问题日益凸显,保护软件源代码不被非法获取和篡改成为软件开发者关注的重要问题。程序加密技术作为一种有效的保护手段,可以在一定程度上防止程序被非法破解和篡改。本文将对Windows 可执行程序进行加密,并采用反正反汇编技术进行分析和验证。

首先,了解Windows 可执行程序的汇编语言是非常重要的。汇编语言是一种低级编程语言,它用助记符代替机器码操作指令,便于人们编写和理解。在Windows 系统中,汇编语言主要针对Intel x86 架构。通过汇编语言,我们可以深入了解程序的执行过程和逻辑。

接下来,我们需要了解反正反汇编的概念和原理。反正反汇编是指将机器码反汇编成汇编语言,再通过汇编语言翻译成机器码的过程。这种技术可以帮助我们更好地理解程序的执行过程,同时也可以用于程序的调试和优化。

在实际操作中,我们需要选择合适的加密工具。目前市场上有许多加密工

具可供选择,如TrueCrypt、VeraCrypt 等。这些工具可以帮助我们对程序进行加密和解密,保护程序源代码不被非法获取。本文将以TrueCrypt 为例,介绍加密工具的使用方法。

首先,使用TrueCrypt 对可执行文件进行加密。运行TrueCrypt,选择“创建加密卷”,将可执行文件放入加密卷中。然后,生成加密密钥,用于解密加密后的程序。最后,将加密后的程序和密钥妥善保管,以防丢失。

用Win32汇编语言对PE格式的EXE文件进行口令加密(下)

用Win32汇编语言对PE格式的EXE文件进行口令加密(下)

用Win32汇编语言对PE格式的EXE文件进行口令加密(下)

szUser32 db 'user32',0

szMessageBox db 'MessageBoxA',0

;定义指向对话框函数的指针变量及常量的定义

_GetModuleHandle _ApiGetModuleHandle ?

_GlobalAlloc _ApiGlobalAlloc ?

_MultiByteToWideChar _ApiMultiByteToWideChar ?

_DialogBoxIndirectParam _ApiDialogBoxIndirectParam ?

_GlobalFree _ApiGlobalFree ?

_EndDialog _ApiEndDialog ?

_GetDlgItemText _ApiGetDlgItemText ?

_SetWindowText _ApiSetWindowText ?

_SendDlgItemMessage _ApiSendDlgItemMessage ?

szGetModuleHandle db 'GetModuleHandleA',0

szGlobalAlloc db 'GlobalAlloc',0

szMultiByteToWideChar db 'MultiByteToWideChar',0 szDialogBoxIndirectParam db 'DialogBoxIndirectParamA',0 szGlobalFree db 'GlobalFree',0

szEndDialog db 'EndDialog',0

汇编语言对文件加密解密

汇编语言对文件加密解密

;************************************主程序中用到的所有宏定义*********************************************************fopen macro filename,type,handle ;打开文件的宏(文件名,属性,文件代号)mov al,typemov ah,3dHlea dx,filenameint 21Hmov handle,axendmpianyi macro handle ;改变文件读写指针(文件代号)mov ah,42hmov bx,handlemov dx,-1mov cx,-1mov al,1int 21hendmfwrite macro handle,buffer,size ;写文件的宏(文件代号,缓冲区偏移地址,要写的字节个数)mov ah,40Hmov bx,handlemov cx,sizelea dx,bufferint 21Hendm fread macro handle,buffer,size ;读文件的宏(文件代号,缓冲区偏移地址,要读的字节个数)mov ah,3fHmov bx,handlemov cx,sizelea dx,bufferint 21Hendm fclose macro handle ;关闭文件的宏(文件代号)mov ah,3eHmov bx,handleint 21Hendmpause macro ;暂停的宏mov ah,07Hint 21Hendmquit macro ;返回DOS的宏mov ax,4c00Hint 21Hendmprint macro msg ;提示信息的串输出宏mov dx,offset msgmov ah,09Hint 21Hendmgets macro msg ;文件名的串输入宏lea dx,msgmov ah,0AHint 21Hendm;***************************************主程序开始**************************************************;----------------------------------------数据段--------------------------------------------------data segmentbuffer db ? ;为文件内容数据准备的缓冲区finptr db 20,? ;输入文件名缓冲区前两个字节 fname_in db 20 dup(?),? ;为文件名准备的缓冲区handle_in dw ? ;输入文件代号error1 db "open file error!",0dH,0aH,'$' ;出错提示信息quit_msg db "press any key to continue...$"in_msg1 db "input the source file name:",0DH,0AH,'$' ;输入提示信息succmsg1 db "encry successfully!",0DH,0AH,'$'succmsg2 db "decry successfully!",0DH,0AH,'$'op_msg1 db 0DH,0AH ;提示信息db "*******------ encry and decry ----*************",0DH,0AHdb "*| 1-encry,2-decry,other-quit *|",0DH,0AHdb "*| 050208303 14 23 24 *|",0DH,0AHdb "*| Please Choice *|",0DH,0AHdb"*Your choice :",'$'lines db 0DH,0AH,'$'oprand db ? ;用户选择data ends;-----------------------------------------代码段--------------------------------------------------------code segmentassume cs:code,ds:data,es:datamain proc farstart:mov ax,datamov ds,axmov es,axstart_loop:print op_msg1 ;选择加解密提示信

汇编语言对文件简易加密解密

汇编语言对文件简易加密解密

汇编语言对文件简易加密解密1000字

汇编语言是一种低级语言,能够对计算机指令进行直接控制。在文件加密解密方面,汇编语言有着独特的优势。本文将介绍如何使用汇编语言进行文件简易加密解密。

一、文件加密

文件加密的原理是将明文文件转化为密文文件,使得未授权的读者无法获取文件内容。下面介绍一种使用汇编语言进行文件加密的方法。

1. 获取明文文件内容

首先需要读取需要加密的明文文件的内容。汇编语言中可以使用系统调用来获取文件内容,具体步骤如下:

1.1 打开文件

首先需要使用系统调用打开文件并获取文件句柄。

```

mov eax, 5 ; 系统调用号,代表打开文件

mov ebx, filename ; 文件名

mov ecx, 0 ; 访问模式,代表只读模式

int 0x80 ; 调用系统调用

mov fd, eax ; 将返回的文件句柄存入fd变量中

```

其中filename为需要加密的文件名,fd为文件句柄。

1.2 读取文件内容

打开文件之后,需要读取文件的内容。可以使用系统调用read来实现。

```

mov eax, 3 ; 系统调用号,代表读取文件内容

mov ebx, fd ; 文件句柄

mov ecx, buffer ; 缓冲区

mov edx, BUFFER_SIZE ; 读取的字节数

int 0x80 ; 调用系统调用

mov n, eax ; 将读取的字节数存入n变量中

```

其中buffer为存储读取内容的缓冲区,BUFFER_SIZE为缓冲区大小,n为读取的字节数。

2. 加密文件内容

读取文件内容之后,需要将明文文件内容进行加密。常见的加密算

DES算法在数据加解密管理系统中的应用

DES算法在数据加解密管理系统中的应用

C L M 6T AL 8 4 ‘ 将生成的密文 N8 I _ 存入缓冲文件 Bu t fl x l A L R A ,C L RT I L CE D C A LW IE - I
输入 : I R 输 出: 1 4字节转 8 I P N8 6 字节


C L 4 8 L A M 6T
Li 一 =Ri 1
流程 说 明:1 节等 于 8位 , 用每 轮处 理 8 字 采 位进 行 8轮循 环来 产生 6 节 。假设 N8第 1 4字 字
节为 1 则表示 为 0 0 0 0 , 0 0 0 1 必须把 位 转换 为字节 ,
接着 进行 下面 的变 换 。取 N8第 1 节 ( 位 ) 字 8 将 其 进行 带 进位 循 环 右移 至 C F标 志 位 ,再 将 N6 4

l B:密文表夹( 1 N 目标)
接收密文
SHLAH. 1
— +l
ADD AH, AL
图 2 D S数据加密管理系统总控流程 图 E
第 4期
王彦 :DE S算法在数据加解密管理系统 中的应用
4 5
4 算法在数据解密管理系统的应用
D S的加 密算法 具有 可逆 性 ,解 密 和加密 类 E 似 ,可共 用 一个算 法 ,所不 同的是子 密钥 顺序 使
I 1M0 A , x] P : V L 【 B

用Win32汇编语言对PE格式的EXE文件进行口令加密

用Win32汇编语言对PE格式的EXE文件进行口令加密

E文件 头


p E 志 P 0 EO” I MAG F百度文库E HEADER E L
. . ..
l G _P1N MA E O 1 O A _E H ADE 3 R2
I AG E 1 N HE D R M E S C1O A E
_

种 方法 。第 一 种 方 法 是 将 附 加 代 码 插 入 在 目标 文 件 的 代 码 节 或 其 他 节 ( 数 据 节 ) 的空 隙 中 ,一 般 文 件 中 节对 齐 在 文 件 中的 如 最 大 长 度 是 5 2 (0 H) ,如 ML汇 编 器 生 成 的 文 件 默 认 文 1B 2 0
非法用户。
文采用第一种和第三种方法 ,目的是提 高加密 的成功率。
要对 P E文 件 进 行 口令 加 密 ,首 先 要 对 P 文件 的 结 构 有 E 所 了解 ,下 图 就 是 P E文 件 的 基 本 结 构 ,从 这 个 P E文 件 的结 构 中,可以看到 P E文 件 是 由 D S头 、P O E文 件 头 、节表 和节
段 ,并 把加 密代 码 附 在 目标 文 件 上 ;模 块 3的功 能 是 重 定 位 ,
建一个新节表使其指向加密代码节 ,而新添加 的节表须位 于原
P E文件 节 表 的末 尾 ,这 就 要求 文件 头 中 的空 隙 要 ≥4 B ( 为 0 因 节 表 结 构 的长 度 为 2 H) ,满 足 这 个 条件 才 能 建 立 一 个 新 的节 8

利用汇编语言实现DES加密算法

利用汇编语言实现DES加密算法

2 汇 编 语 言 的 实 现
用 汇 编 语 言 买 珊 DES算 法 有 它 的 优 势 也有 它 的
难 点 优 势 是 5 汇 编 的 位 操 作 可 以方便 地 实 现置 换 l 功 能 但 用 汇 编 语 言 实 现 算 法 的 迭 代 运 算 及 循 环 功
T I( . P m)
逆 置换 正 好是初 始 置换 的逆 运算 c
Sa d r tn ad)即数 据 加 密算法 , 是 I M 公 司于 17 年 B 97 研 究 成 功 并 公 开 发 表 的 随 着 我 国 三 金 工程 尤 其 是 叠 卡 工程 的 启动 , D S算 法在 P E OS、AT 、磁 卡 及 M 智 能 卡 (c 卡 ) 被 广 泛 应 用 , 以比 来 实 现 关 键 数 据 I 中 的 保 密 如信 用卡 持 卡 人 的 P N 的 加 密 传输 、I 卡 I c 与P OS间的 双 向认 证 、 金 融 交 易 中 的 密 码 键 盘 等 , 均用 到 DE S算 法 。 由于 密 码 键 盘 不 可 能使 用 高级 语 言 ,所 以 用 汇 编 语 言 实现 DES就 非 常 实 用
维普资讯 http://www.cqvip.com
技 术 纵 横
和用汇编语言实现 D 加密算法 E S
■ 吉林 大学 周 斌
DES 算 法 是 一 种 数 据 加 密 算 法 自从 l977 年 会 布 以 来 , 一 直 是 国 际 上 的 商 用 保 密通 信 和 计 … 算 机 通 信 的 最 常 用 的 加 密 标 准 DES 算 法 的 实 现 一 般 用 高 级 语 言 加 密算 法 D S 汇鳊 语 言 E

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集

1. 汇编语言编写的计算器程序,这个程序可以接受用户输入的两个数字,然后执行加减乘除等运算,并将结果输出到屏幕上。

2. 文件复制程序,这个程序可以使用汇编语言编写,实现将一个文件的内容复制到另一个文件中的功能。

3. 简单的操作系统内核,使用汇编语言编写一个简单的操作系统内核,可以包括基本的文件管理和进程调度功能。

4. 汇编语言写的游戏,例如经典的贪吃蛇游戏或者俄罗斯方块游戏,这些游戏可以使用汇编语言编写。

5. 串口通信程序,使用汇编语言编写一个可以通过串口进行通信的程序,可以实现数据的发送和接收。

6. 硬件驱动程序,编写一个简单的汇编语言程序,可以控制硬件设备,例如控制LED灯的亮灭。

7. 汇编语言编写的加密解密算法,实现一个简单的加密解密算

法,例如凯撒密码或者简单的异或运算。

8. 简单的图形界面程序,使用汇编语言编写一个简单的图形界面程序,可以实现基本的窗口和按钮等功能。

9. 汇编语言编写的网络通信程序,实现一个简单的网络通信程序,可以进行基本的数据传输和接收。

10. 汇编语言编写的嵌入式系统程序,例如可以编写一个控制LED灯的嵌入式系统程序,可以通过按键控制LED的亮灭。

文件加密实验报告

文件加密实验报告

文件加密实验报告

院系:

专业:

班级:

学号:

姓名:

指导教师:

一、需求分析 (3)

二、系统设计 (3)

三、软件开发 (16)

四、软件测试 (16)

五、特点不足 (21)

六、过程和体会 (25)

七、源码和说明 (28)

一、需求分析

1、题目要求

编写一个文件加密程序enc,对于任意的文件进行加密和解密,加密算法何以自选。

程序功能:

1.程序带有3个命令行参数,依次为运行模式、密钥、文件名。

Enc e 密钥文件名

对于文件进行加密

Enc d 密钥文件名

对于文件进行解密

要求加密后的文件进行解密能够完全恢复成原文件。

2、需求分析

重点考察

1.基本的算术运算和逻辑位运算。

2.用汇编实现简单的数据结构。

3.INT21H系统功能调用中有关文件、目录的操作。

4.可执行程序的参数使用。

5.综合解决问题的能力。

二、系统设计

1、概要设计

(1)设计思路

1、要对一个文件进行加密处理首先要将其打开,汇编中可用3DH功能调用按路径打开文件。

2、打开文件之后便是将其调入内存之中,因而用到3FH功能调用,从文件或设备中读入。

3、按写好的加密程序对其进行加密处理。

4、将加密后的内存中的文件重新写入覆盖掉原文件,可用40H功能调用,向文件或设备写入。

5、覆盖掉原文件后再关闭文件,可用3EH功能调用,关闭文件。

6、解密部分与加密部分相仿,先打开文件,读入内存,解密后重新写入覆盖原文件,最后关闭文件

(2)加密原理

利用汇编语言读文件功能调用,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,与内存中的文件内容相加,改变文件内容,再写入覆盖文件,完成加密处理。

汇编文件加密大作业

汇编文件加密大作业

文件加密系统

1、简介

文件加密是一种根据要求在操作系统层对写入储存介质的数据进行加密的技术,而汇编语言作为面向机器的语言是学习程序设计必不可少的基础,在这里我们将这两者结合于是就有了基于汇编语言的文件加密系统.

2、小组成员及具体分工

本小组有姬文军和孟星宇组成,其中姬文军负责代码框架的编写,孟星宇负责功能模块的实现.

3、需求分析与设计

无论是国外的电话窃听丑闻,还是国内的如家汉庭等大批酒店开房记录泄露以及最近的腾讯群关系数据泄漏都让人们意识到隐私保护的重要性,在学习了本学期的汇编语言设计后我们想到了做一个基于汇编语言的文件加密系统,算是为隐私保护事业做一个小小的贡献吧!

本系统开始要求选择要加密或者解密的文件,然后可以对其进行相应的加密或者解密操作,可以实现对普通文件的加密甚至对图片音频的加密操作.

程序设计的大致框图如下:

开始

显示欢迎词

退出

选择操作

输入文件名

查找错误

提示输入文件名

1为加密2为解密其他退出

NO

打开文件成功?

YES

加密或者解密成功

4、代码及分析

fopen macro filename,type,handle mov al,type

mov ah,3dH

lea dx,filename

int 21H

mov handle,ax

endm

pianyi macro handle mov ah,42h

mov bx,handle

mov dx,-1

mov cx,-1

mov al,1

int 21h

endm

fwrite macro handle,buffer,size mov ah,40H

mov bx,handle

VBA 中的文件加密与解密技巧

VBA 中的文件加密与解密技巧

VBA 中的文件加密与解密技巧

在日常办公中,我们经常需要处理敏感或机密的文件。为了确

保文件的安全性,文件加密和解密是重要的技巧。在 VBA

(Visual Basic for Applications)中,我们可以利用一些加密算法

和函数来加密和解密文件。本文将介绍 VBA 中的文件加密与解密

技巧,帮助您保护文件的安全。

1. 加密文件

在 VBA 中,我们可以使用 AES(Advanced Encryption Standard)算法对文件进行加密。AES 是一种安全且常用的对称加密算法,

能够对数据进行高效的加密和解密。下面是一个示例代码,演示

如何使用 AES 算法对文件进行加密:

```vba

Sub EncryptFile(filePath As String, password As String)

Dim fso As Object

Dim tsIn As Object

Dim tsOut As Object

Dim dataIn() As Byte

Dim dataEncrypted() As Byte

Dim aes As Object

Set fso = CreateObject("Scripting.FileSystemObject")

Set tsIn = fso.OpenTextFile(filePath, 1)

dataIn = tsIn.ReadAll

tsIn.Close

Set aes =

CreateObject("System.Security.Cryptography.AesManaged")

VBA中的文件加密和解密方法详解

VBA中的文件加密和解密方法详解

VBA中的文件加密和解密方法详解

VBA(Visual Basic for Applications)是一种用于自动化任

务和定制化Microsoft Office等软件的编程语言。在VBA中,

我们经常需要处理和保护敏感数据和文件,因此文件加密和解密是一项非常重要的任务。本文将详细介绍VBA中的文件加

密和解密方法,帮助读者保护重要数据。

文件加密是将文件内容通过特定算法进行转换,使其变得

不可读或不可理解,只有经过解密操作才能恢复原始内容。在VBA中,我们可以使用各种加密算法来对文件进行加密。下

面是一些常用的加密算法:

1. 对称加密算法:对称加密算法使用相同的密钥加密和解

密文件。VBA中常用的对称加密算法有DES(Data Encryption Standard)和AES(Advanced Encryption Standard)。这些算法使用密钥对文件内容进行转换,使其变得不可读。对称加密算法的优点是加密解密速度快,但密钥的安全性需要额外关注。

2. 非对称加密算法:非对称加密算法使用一对密钥,公钥

用于加密文件内容,私钥用于解密文件内容。VBA中常用的

非对称加密算法有RSA(Rivest-Shamir-Adleman)。非对称加

密算法的优点是密钥的安全性相对较高,但加密解密过程较为耗时。

3. 混合加密算法:混合加密算法结合了对称加密算法和非对称加密算法的优势。在文件加密过程中,混合加密算法先使用非对称加密算法将对称密钥进行加密,再使用对称加密算法对文件内容进行加密。这样既保证了密钥的安全性,也提高了加密解密的速度。

VBA中常见的文件加密与解密方法与实例

VBA中常见的文件加密与解密方法与实例

VBA中常见的文件加密与解密方法与

实例

文件加密和解密是信息安全领域中必不可少的一部分。VBA(Visual Basic for Applications)是一种编程语言,常用于Microsoft Office软件中,如Excel、Word等。VBA 提供了许多可用于文件加密和解密的方法和函数,以帮助保护敏感信息和数据。本文将介绍VBA中常见的文件加密和解密方法,并提供相应的实例。

一、VBA中的加密方法

1. 使用密码保护文件

Excel和Word都提供了密码保护文件的选项。你可以设置访问密码,使得未输入正确密码的情况下无法打开或编辑文件。下面是一个加密Excel文件的示例:

```vba

Sub PasswordProtectWorkbook()

Dim strPassword As String

strPassword = InputBox("请输入密码:")

ThisWorkbook.Password = strPassword

End Sub

```

2. 使用加密算法加密文件内容

VBA提供了多种加密算法,如DES、AES等。你可以使用这些算法对文件内容进行加密。下面是一个使用DES算法进行加密的示例:

```vba

Sub EncryptFileContent()

Dim strInputFile As String, strOutputFile As String

Dim objFSO As FileSystemObject

Dim objInputFile As TextStream, objOutputFile As TextStream

20个简单汇编语言程序

20个简单汇编语言程序

20个简单汇编语言程序

(实用版)

目录

1.汇编语言简介

2.20 个简单汇编程序列表

3.程序 1:Hello World

4.程序 2:计算两个数之和

5.程序 3:计算两个数之差

6.程序 4:计算两个数之积

7.程序 5:计算两个数相除

8.程序 6:从键盘输入数据

9.程序 7:输出九九乘法表

10.程序 8:判断一个数是否为素数

11.程序 9:判断一个数是否为回文字符串

12.程序 10:模拟交通信号灯

13.程序 11:计算斐波那契数列

14.程序 12:模拟弹球游戏

15.程序 13:实现简易计算器功能

16.程序 14:实现日历功能

17.程序 15:实现简单文本编辑器功能

18.程序 16:实现文件压缩与解压缩功能

19.程序 17:实现密码加密与解密功能

20.程序 18:实现简单聊天机器人功能

21.程序 19:实现贪吃蛇游戏功能

22.程序 20:实现俄罗斯方块游戏功能

正文

汇编语言是一种低级编程语言,它与计算机硬件的操作紧密相关。汇编语言直接使用计算机处理器的指令集,因此可以实现对硬件的精确控制。这种语言的优势在于它能够产生高效的代码,特别是在处理系统调用和硬件操作时。然而,它的缺点是编写难度较大,需要对计算机硬件和汇编指令有深入的了解。

下面,我们将介绍 20 个简单的汇编程序,这些程序涵盖了日常生活和计算机科学中的一些基本操作。

1.程序 1:Hello World

这个程序非常简单,它将在屏幕上显示“Hello World”。

2.程序 2:计算两个数之和

这个程序将接收两个数字作为输入,并在屏幕上显示它们的和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

课程微机原理课程设计

题目简易文件加密解密

系别物理与电子工程学院

年级08级专业电子科学与技术

班级三学号*******(02 14 23 24) 学生姓名崔雪飞陈祥刘刚李从辉

指导教师居伟骏职称讲师

设计时间2011-4-18 ~ 2011-4-22

目录

第一章绪论 (2)

第二章分析与设计 (3)

2.1 题目 (3)

2.2 要求 (3)

2.3 方案设计与论证 (3)

2.3.1 整体设计思路 (3)

2.3.2 方案选择 (3)

2.4结构框图等设计步骤 (4)

第三章实验程序及分析 (6)

3.1 宏定义 (6)

3.2 加密模块 (9)

3.3 解密模块 (9)

3.4 加密和解密算法子程序 (10)

第四章实验结果及问题处理 (12)

4.1 实验结果 (12)

4.2出现的问题以及解决的方案 (13)

4.2.1 文件写操作问题 (13)

4.2.2 读入缓冲区的大小问题 (14)

4.2.3不同文件类型加解密问题 (14)

4.2.4 文件结束标志 (15)

第五章总结与体会 (16)

参考文献 (18)

附录 (19)

第一章绪论

随着计算机硬件的发展,微机系统的功能越来越强,而且计算机的程序设计语言也经过了一个发展的过程。从最基本的机器语言到汇编语言,并到高级的智能化语言,如visual C++、visual Basic等,不断前进。

汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语合中,用助记符( Memoni )代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

对给定的文件进行加密是当今计算机科学中的一个非常热门话题。在本课程设计中,目的是给给定的文件进行加密和解密,加密方法有:文件里文本的二进制与10101010B作求和,解密则相应的与10101010B相减。课设只是把所学的知识加以应用,不能轻视题目的简单,我们要借此机会,加强汇编语言的学习,并加深自己的知识。

在设计中,程序应用了BIOS中一些系统中断,设计了人性化的界面,这些是自学的汇编知识并加以应用,当然也有很多DOS系统的功能调用。总之,自己结合平时所学和最近的自学,认真的完成课题,并很好的实现了相应的功能。

第二章分析与设计

2.1 题目

简易加密解密程序

2.2 要求

编写一个程序能够对某个文件进行简单加密和解密,加密过程要求将文件中所有数据读出,然后将每个字节的读出数据和10101010B作求和运算,实现加密,需要解密时用相应的求差运算。要求有提示信息。

例如:

enter pathname: c:\1.txt

2.3 方案设计与论证

2.3.1 整体设计思路

1.考虑到要读文件内容,所以要先打开文件;

2.打开文件之后,读出内容,调用加密子程序,进行加密;

3.加密之后,写入文件存档,最后关闭文件。

4.如果要进行解密,先打开文件;

5.读出内容,调用解密子程序,进行解密;

6.写入文件并存档,最后关闭文件。

2.3.2 方案选择

1.对于加密(解密),我们有两种方案:

(1)把文件内容加密(解密)之后替换原来内容为加密(解密)内容;

(2)把文件内容加密(解密)之后存在缓存区,删除原来文件并新建一个和原来名字一样的文件,存入加密(解密)数据。

对于方案(2)在源文件存入缓冲区之后,源文件可以被删除,但是在创建新的文件

的时候,实践的时候无法创建。然后再考虑到,这种方案比较繁琐,错误的几率比较大。方案(1)在同一个文件中进行读写,用加密数据将原来的数据覆盖,数据安全性提高的同时,程序设计不再繁琐,所以我们选择方案(1)。

2.对于怎么读文件数据,我们有三种方案:

(1)利用汇编语言读文件功能调用,将文件数据分512个字节分批读入内存,加密(解密)后返回给文件;

(2)利用汇编语言读文件功能调用,将文件数据每次读一个字节,加密(解密)后返回文件;

(3)利用汇编语言读文件功能调用,将文件数据分读8个字节分批读入内存,加密(解密)后返回文件。

从理论上讲,上述方案都可行,但是在实际操作中,发现方案(1)(2),可能由于cpu 处理的问题,在运行中程序都被打断,达不到预期效果,尤其是方案(1)。最终我们选择方案(2),因为在后期的编写中我们发现方案(2)更加简便,能够避免前面方案出现的问题。

2.4结构框图等设计步骤

如图2.4.1为本程序的汇编思路图,由于程序对文件的操作很多,所以编程过程中用到了很多功能调用。

图 2.4.1 汇编思路流程图

相关文档
最新文档