现在位置: 首页 > 软件防盗版
第一部分:汇编语言 《汇编语言》 《IBM-PC汇编语言程序设计》 《保护方式下的80x86及其编程》 《Intel汇编语言程序设计》 《琢石成器-Windows环境下32位汇编语言程序设计》 《Intel Architecture Software Developer's Manual 》 第二部分:PE文件 《windowsPE权威指南》 《pecoff微软官方文档》 《ELF 文档格式》 第三部分:加密解密 《加密与解密》第三版 《加密与解密:SoftICE使用手册》 《软件加密技术内幕》 《软件加密...
阅读全文
2013-08-10 06:00 工业·编程 ⁄ 共 695字 暂无评论
根据领导的要求,最近在研究软件保护技术。 软件保护实际上是多年来都很难解决的一个问题,目前情况下,大多数软件都在发布之后很快出现破解版。这个问题实际上没有终极解决方案,只能说使用某种方法在技术上抵御破解,增加破解的难度和需要的时间。根本原因是,我们开发是用高级语言,而破解者使用的是汇编语言。我们开发主要是业务逻辑,而破解者是在CPU的角度在思考。不过你什么样的软件,最终都要编译为CPU可以理解的指令,...
阅读全文
软件产品卖出去以后,如何防止客户在多台电脑上重复安装呢?最偷懒的方法就是使用别人的硬件加密狗解决,但是这样的话一来随着销售量的积累会增加成本,二来很多客户不想在电脑上插如此多的加密狗(因为其他的软件可能也需要用加密狗,会导致USB接口紧张)。 那我们还可以通过软加密的方式,即唯一序列号的形式,来代替硬件加密狗。 基本思路如下: 1. 在前期给客户安装的都是试用版本。试用形式分为三种:A. 时间限制;B. 次...
阅读全文
2013-01-29 22:32 工业·编程 ⁄ 共 4197字 暂无评论
一、    修改注册表文件,清除软件使用次数限制。 打开软件,首先跳出来一个注册的框,其中用户名可以随便填写。左下角红色的字显示还可以试用的次数。点击试用以后,可以进入软件。但是试用总共有100次。我们要做的是消除次数限制,无限试用。 原理分析:一般来说,试用次数被记录在注册表中,不管使用了多少次,我们如果能找到这个注册表文件,把已经使用的次数改为0,又可以重头计算,那样不就是无...
阅读全文
在很多情况下,你可能都需要得到微机的硬件信息。比如:你想给你的软件加锁,不让别人随便访问。 最有效的办法是获取CPU的序列号,然后让你的软件只能运行在有这样的CPU序列号的机器上。众所周知,CPU序列号是唯一的!因此,这样就可以为你的软件加锁了。 另外一个需要硬盘信息的例子是:硬盘有几个分区,每个分区各有多少剩余空间。当你正在做一个多媒体应用程序的时候,你可能也需要获得有关声卡、显卡的硬件信息。 首先,你...
阅读全文
2012-11-07 21:25 工业·编程 ⁄ 共 4322字 暂无评论
    盗版行为日益猖獗,严重影响到软件开发者和开发商的知识产权及利益,反盗版技术的重要性也越来越引起人们的重视。在反盗版技术中,起最大作用的当属反调试技术。然而传统的反调试技术都存在一个弱点:他们都在程序真正开始执行之后才采取反调试手段。实际上在反调试代码被执行前,调试器有大量的时间来影响程序的执行,甚至可以在程序入口处插入断点命令来调试程序。对于使用C/C++语言编译的程序来说,问题通...
阅读全文
    在技术论坛里,经常有人提及软件防伪、反汇编技术。在提倡运用知识产权法的同时,有一个很重要的因素在于,加强软件自身的设计安全,远比事后采用法律等手段进行约束要有效得多。因为,现今的技术盗窃已远远不同于以往那种文件复制的方式那么简单,很多公司通常采用剥皮战术,即通过追踪他人程序代码的方式,了解程序运行逻辑,然后改换界面上市推销“自己”产品,以节省大量研发经费,为程序设计者带来巨大的...
阅读全文
2012-11-05 21:12 工业·编程 ⁄ 共 6912字 暂无评论
在进行软件的破解、解密以及计算机病毒分析工作中,一个首要的问题是对软件及病毒进行分析。这些软件都是机器代码程序,对于它们分析必须使用静态或动态调试工具,分析跟踪其汇编代码。 从软件使用说明和操作中分析软件 欲破解软件,首先应该先使用该软件,了解一下功能是否有限制,最好阅读一下软件的说明或手册,特别是自己所关心的关键部分的使用说明,这样也许能够找点线索。 静态反汇编 所谓静态分析即从反汇编出来的程序...
阅读全文
2012-11-04 21:07 工业·编程 ⁄ 共 7274字 评论 1 条
本文中,我们将向读者介绍恶意软件用以阻碍对其进行逆向工程的各种反调试技术,以帮助读者很好的理解这些技术,从而能够更有效地对恶意软件进行动态检测和分析。 一、反调试技术 反调试技术是一种常见的反检测技术,因为恶意软件总是企图监视自己的代码以检测是否自己正在被调试。为做到这一点,恶意软件可以检查自己代码是否被设置了断点,或者直接通过系统调用来检测调试器。 1.断点 为了检测其代码是否被设置...
阅读全文
1   序列号保护     数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧。但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了。 看看在网络上大行其道的序列号加密的工作原理。当用户从网络上下载某个shareware——共享软件后,一般都有使用时间上的限制,当过了共享软件的 试用期后...
阅读全文