目前,加密软件主要是在DOS上开发的。加密软件的主要技术方法都是类似的.我们这里讨论DOS上的软件加密技术。一般的用户都知道“加密 软件”这个概念,但知道”加密软件具体是如何工作“的人相当少。我们首先升绍一下加密软件的工作方式.

加密软件有如下三种方式:

外壳式:加密软件把一段加密代码附加到执行程序上并把程序入口指向附加代码中。当被加密的程序装入内存后,附加代码首先执行,检查是 否有跟踪程序存在,如果没有再检盘查密钥是否正确,如果正确,则转入原来的程序中。

这种方式的优点是不需要修改源代码,使用简单。然而,其缺点也很明显:一旦附加代码被击破,就会被解得干干净净。

内含式:加密代码以OBJ文件形式存在。应用程序调用这些加密代码,最后与要加密的程序编译连接到一起。

这种方式需要修改源代码,比较可靠。但是代码复杂性不如外壳式,不容易对二进制代码做复杂变形,容易被跟踪。违种方式主要用于使用软 件加密狗和加密卡的加密程序。

结合式:把上述两种方法结合起来。用OBJ去检查外壳的可靠性,内外结合。

由此可见采用结合式加密方式为个人及企业用户提供高强度的加密服务最为常见。而软件加密技术主要由密钥技术、反跟踪技术和代码插入技术构成 ,缺一不可。

加密技术:加密软件的三种方式相关推荐

  1. Linux中软件自启动三种方式

    一.介绍 Linux环境中软件自启动的三种方式,测试环境为Centos7.三种方式为: 1.systemd服务 2.使用 /etc/rc.d/rc.local 3.使用crontab定时计划中的@re ...

  2. Ubuntu 安装软件的三种方式

    Ubuntu下常用的三种软件安装方式: apt-get   deb软件包  源代码安装 1 apt-get 设置好更新源后使用,自动处理依赖关系,无法制定安装路径 安装:sudo apt-get in ...

  3. Linux软件安装三种方式

    目录 一.源代码编译安装 二.rpm安装 三.yum 一.源代码编译安装 优点: 获得最新的软件版本,及时修复bug: 根据用户需要,自由选择模块安装,灵活定制软件功能: 可以将文件放在同一目录下,便 ...

  4. ubuntu下安装软件的三种方式

    方法一:使用apt-get安装(centos中是yum) 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会 ...

  5. 【小项目关键技术】硬件通信三种方式、串口、IIC、SPI

    文章目录 串口UART: IIC SPI SWD 仿真下载接口 串口UART: 引脚 功能 VCC GND TXD 发送数据输出引脚. RXD 接收数据输入引脚. IIC 引脚定义为:SCL.SDA ...

  6. Mac系统安装软件的三种方式

    应用商店获取 这种方法是最简单的,直接在AppStore搜索软件名称,然后点击获取即可,不过有的软件在AppStore中并搜不到. 第三方网站下载 应用商店的app用户在进行付费购买时,苹果需要从中抽 ...

  7. Linux卸载软件的三种方式

    1.卸载用yum安装的软件:yum remove 软件名 2.卸载用yum安装的软件:rpm -e 软件名 3.卸载用tar安装的软件:make uninstall 软件名   直接删除也可以

  8. 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解

    Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...

  9. 读取Java文件到byte数组的三种方式及Java文件操作大全(包括文件加密,String加密)

    读取Java文件到byte数组的三种方式 package zs;import java.io.BufferedInputStream; import java.io.ByteArrayOutputSt ...

最新文章

  1. MOSS007 服务器的配置
  2. mysql使用shell脚本部署_shell脚本部署mysql主从
  3. 模块隐藏(LDR_MODULE链 与 PE特征)
  4. TypeError: Data must not be unicode
  5. 【Error】Less-loader 版本过高,TypeError: this.getOptions is not a function
  6. 深入理解JVM--类的执行机制
  7. URLDecoder: Incomplete trailing escape (%) pattern
  8. 动手学深度学习pytorch入门
  9. Gradle 2.0 用户指南翻译——第六十三章. 比较构建
  10. MATLAB写入文件的操作
  11. golang中的map
  12. 关于ADS的二次谐波和高次谐波牵引
  13. Mysql 各个版本区别及官网下载
  14. 四则运算(二叉树实现) Java
  15. IOT开发的学习-linux#5 gcc编译生成一个c语言实行文件,用sh调用实行
  16. 2022CoCa: Contrastive Captioners are Image-Text Fountion Models
  17. 求职者该如何理清自身的求职策略?
  18. 蓝桥杯真题及答案JavaB组(第七届~第十一届)
  19. 爬取淘宝python书籍销售情况动态网页
  20. java swing做横排下拉菜单

热门文章

  1. 企业邮箱免费版好用吗?申请收费的企业邮箱要多少钱?
  2. 柯尼卡美能达Konica Minolta bizhub 4020 打印机驱动
  3. 新版按键精灵X版 底层使用代码分享
  4. [jQuery]选择框(select),多选取值(multiple)
  5. java代码安全审计_《网络安全java代码审计实战》
  6. linux定时重启tomcat shell脚本
  7. 西安:2022年十大精细化管理路口
  8. 入侵检测——nbtscan(扫描篇)
  9. 一名资深质量工程师总结的4个工作思路
  10. html导航栏中加超链接,用CSS设置超链接与导航菜单.ppt