关于软件注册问题的讨论

To 张阳:

    你好!节日快乐!
    我下载了你写的这个“读主板编号,CPUID”的控件(http://home.online.tj.cn/user/DANDY),

试用了一下,发现几个问题,特向您请教,希望你的这个精品的最终版延迟一些时候:)
    1. 我在98SE D5下编译的这个程序好像不能在2K下运行,有什么办法解决呢?
    2. 我在网吧(机器型号相同)测试了这个程序,所取得的主板号全部一样,这个号码好像不是唯一的(美萍等有些共享软件在这些机子上取得的号子就不同),有何解决办法呢?
    望尽快回复,先谢谢你了!
                                                    lj
To lj

主板的BISO编号肯定是一样的,开机可以看到(做下角那一行编码),估计美萍取得不只是主板的BISO编号可能和硬盘容量、内存大小、内存SPD编号、CPUID做复合运算,只要机器有一点不同生成产生的编号既不同,我们也可学它这样做。要取得唯一编号只有硬盘和网卡(每个网卡有全球唯一的编号,btw使用网卡芯片的硬盘保护卡相同,在网吧可以使用这种技术),稍后我会编一个读网卡、内存SPD编号的VCL。还有WINDOWS每次安装也会根据硬件生成一个编号,但我试过重安系统就变了,实在不行用加密狗吧,彩虹的很好也不贵,不知你做何用。
                                                                张阳
To 张阳:

    我试了一下美萍(自称是读主板)等共享软件,它们在同一批主板上取得的号子完全不同,而且跟其它硬件也无关。像你说的读硬盘编号这个方法我也试过了,但是如果碰到(如三星等)硬盘没有编号的话,且在2K下运行权限不够的话,还是无法读取到啊! 美萍这些软件在这些没有序列号的硬盘上同样读出了唯一序列号(而且肯定这不是CPU ID),这就说明读主板号(不给用户添过多的麻烦)实现一机一码防止软件被复制才是最佳办法。
    不知道还有没有更好的办法解决这个问题呢?
我在网上看到美萍软件上的说明:
    [美萍软件设计时,软件序列号是根据主机板硬件信息计算出来的,每台机器有唯一的软件序列号,所以即使系统重装, 格式化, 换硬盘,软件序列号也不会变。假如您更换了主机板的话,请把原来的序列号发过来,经过核实后,我们将给您免费计算一个新的注册号。]
    它的关键在:“序列号是根据主机板硬件信息计算出来的”。我就是不知它是取的哪个地址的信息:)~~我用程序把主板ROM F0000-FFFFF 的信息取出来然后算出个号码,但是如果重新设置CMOS或是更改其它配置,这个号码就变了,所以它就没有用了(因为:太容易变化的号码做序列号,如果配置稍稍改变,到时不是给自己添麻烦吗?你说是不是?)
    关于你说的取唯一编号只硬盘和网卡。但是经过证实:有很多硬盘没有序列号,或者有时无法取得正确的序列号(可能的原因有很多);如果取网卡的话,局限性又太小,如果碰到没有网卡的客户(如单机用户)那不就又是问题了?而且网卡的编号也是可以改的,这点也已证实~~:(
    再就是如果注册源过多也不安全,万一用户更改了什么配件那原来的注册码又不能用了,这就是个大问题了~主板更换的可能性比较小,采用主板信息做序列号相对来说比较安全可靠,但这里面到底有什么技巧呢?
    所以制作共享软件的机制的确很重要~,我这里有个快写好的软件,本来是想做成免费的,但是后来我又想做成共享形式的(稍微加点密:),主要是想研究一下共享软件到底怎么做的,像你说的用加密狗那又太....况且现在到处有“打狗棒”:)不知道你是否做过共享软件呢?有什么好的想法吗?期待你的回信!

                                                       lj
To lj:

   我认为主机板的信息只有FEC71的BIOS版本号是“不会改变的”(编号前十一位是Bios升级日期还要舍掉),美萍软件设计时肯定还加杂其它信息,想不出还有什么办法用主板唯一标示主机,如果能的话PⅢ序列号也不会闹的沸沸扬扬了,因为主板早就有了。

我猜想美萍光用主板标识的话可能是这样做,它可能在软件头一次安装时随机生成了一个编号,放在CMOS里(就象以前的一种病毒,地址随便,能WR就行),只要CMOS不断电(不太保险)、不换主板就可靠它标识了,不知你研究过DES吗有时“公匙”和“私匙”可以放在一起例如明匙“1234567”奇数位“1357”可做“公匙”偶数位可做“私匙”这个例子可能不恰当,我是想说明“请把原来的序列号发过来”这里就包括那个随机数了,然后……这只是个猜想!
我做共享软件一般是用主板、CPU、硬盘序列号和用户名做混合运算,万一其中哪个没有或取不到就用一固定数代替,到不会影响最终结果,重的机率也很小。
就目前中国共享软件情况来看工作量也不会太大,(但愿今后可以改变,但愿,但愿!)

还有一点算是我的经验吧,千万别使用dll、ocx什么的读硬件序列号,很容易被换掉,尤其是dll,随便一跟,再做个假的,就破解了,我就是这样解过用PB、VB做的系统的(财务、工控方面的),最好写在程序里,而且关键判断不能太明了,最好加点没用的废语句,这样跟也不好跟。

                                                                张阳

To张阳兄:

  “美萍光用主板标识的话可能是这样做,它可能在软件头一次安装时随机生成了一个编号,放在CMOS里”,我分析了一下,这好像不大可能,现在的板子一般都有写保护功能,弄不好杀毒软件还会误报有病毒~~:),CMOS不断电(很不保险,因为我发现有些主板上的电池不耐用,特别是网吧的),美萍是做这个的,估计也发现了,所以它的序列号包含随机数的可能性很小,可能它还是取了其它的信息,再用像你说的DES等算法加密了的。
    对了,咱们聊了这么多,我还不知道你是哪里人呢?你一般什么时候会上网呢?冒昧地问一下:你的QQ号可以告诉我吗?有机会好交流交流。
    在这里我还是要感谢你给了我这么多的启发~也祝你开发出更多更好的控件来!

                                                   lj

To lj:

    上次我的设想肯定不好用,今天我又想出了一个办法可以实现“在同一批主板上取得的号子完全不同,而且跟其它硬件也无关”,那就是例如“美萍”等软件显示的“号子”是由两部分组成,一个是BIOS码(去掉前11位,升级BIOS会改的)另一个是可能是“主机名”(或者一个随机数,但需存储在注册表中,下次还需取出来不能变),靠这两个码做奇数偶数排列组成一个新号码,也可自定义安排如“前三位是主机名,后五位是BIOS码”这样可保证每台机器的号码均不同,因为码中“主机名”或随机数部分是不同的(随机数第一次就定下来,以后就不变了)。我们收到用户名和这个新号码只用其中BIOS码那几位和用户名做运算生成注册码,验证时只验证BIOS码、用户名和注册码,与“主机名”或随机数无关它们只是冗余数据晃人耳目,这样即使系统重装“号子”中“主机名”或随机数变了也没关系,只要注册码正确,验证即可通过。如果怕相同的注册码太多,可以使用HASH算法杂凑多个编码。
我的表达能力有限,不知说清了没有?
我是天津人,“大四”了,从高三开始给人做程序,主要是工控、系统工程方面的也做共享软件,上网时间不定,QQ号是:180551----常联系!
                                                                张阳

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CSND(中国软件开发网)是一个软件开发者社区,为开发者们提供了丰富的技术资源和交流平台。在CSND上发布自己的软件可以让更多的开发者和用户了解和使用你的作品。下面是一个一般的软件发布流程的简要介绍。 1.准备软件发布所需的素材:在发布软件之前,你需要准备好软件的安装文件、运行所需的依赖库、软件截图、详细的功能介绍、使用说明等素材。 2.注册和登录CSND账户:在CSND网站上注册一个账号,并登录进入个人中心。 3.选择发布方式:CSND提供了多种发布方式,可以根据你的需求选择合适的发布方式。比如,你可以选择发布博客文章来介绍软件,也可以发布到软件下载区供用户下载使用。 4.填写软件信息:根据CSND的要求,填写软件的基本信息,包括软件名称、版本号、开发语言、操作系统要求、软件特性等。 5.上传软件文件:将准备好的软件安装文件和相关素材上传到CSND平台。根据平台的要求,进行文件的命名和分类。 6.填写软件介绍:在发布页面上填写软件的详细介绍,包括软件的功能、优势、使用方法等。 7.发布软件:在完成所有信息填写后,点击发布按钮,将软件发布到CSND平台上。 8.宣传和推广:发布软件后,你可以通过社区中的各种推广方式来宣传你的软件,比如将软件分享到其他社交平台,或者在技术论坛中讨论你的软件等。 9.跟踪反馈:一旦软件发布,就需要关注用户的反馈和评论,并及时解答用户的问题和改进软件的不足之处。 以上是软件发布流程的简要介绍,希望对你有所帮助。每个软件发布平台的具体操作略有差异,如果你在发布过程中遇到问题,可以参考CSND网站的相关教程或者咨询平台的相关人员。 ### 回答2: 软件发布是指将开发完成的软件产品进行发行和推广的过程。软件发布流程包括以下几个主要阶段: 1. 需求分析和设计阶段:在这个阶段,团队成员会与客户进行沟通,了解他们的需求,并制定相应的计划。然后,软件开发人员会根据需求分析的结果进行软件设计,并创建原型。 2. 开发和测试阶段:在这个阶段,软件开发人员根据设计规则进行编码和开发。完成开发后,需要进行一系列的测试,包括单元测试、集成测试和系统测试,以确保软件的质量和稳定性。 3. 预发布阶段:在预发布阶段,软件开发人员进行一些内部测试和修复,以确保软件的正常运行。同时,他们也会进行一些性能测试,对软件进行性能和稳定性的验证。 4. 正式发布阶段:在这个阶段,软件将会被发布给外部用户或客户。发布时,需要准备软件的安装包并编写相应的说明文档。同时,还需要进行一些培训,以帮助用户了解软件的使用。 5. 后续维护和更新阶段:当软件正式发布后,通常还会有一些后续的维护和更新工作。根据用户的反馈和需求,开发人员可能需要修复软件中的一些问题,并进行一些功能扩展。 总结来说,软件发布流程包括需求分析和设计、开发和测试、预发布、正式发布以及后续维护和更新。这个流程旨在确保软件的质量和功能完善,并将其发布给用户和客户。 ### 回答3: 软件发布流程是指将开发好的软件产品正式发布给用户使用的过程。以下是常见的软件发布流程: 1. 需求分析:与客户和相关团队一起明确软件的需求和目标。 2. 规划与设计:根据需求分析结果,开始制定详细的软件开发计划,并进行功能和界面设计。 3. 开发与测试:根据设计要求进行软件编码,并进行各种测试,包括单元测试、集成测试和系统测试,以确保软件的质量和稳定性。 4. 版本控制:使用版本控制系统来管理软件的不同版本,以便追踪改动和保证代码的可追溯性。 5. 发布准备:准备软件发布所需的各类文档、用户手册、安装程序等,并进行最后的检查和测试。 6. 内测与评审:在正式发布之前,进行内部的测试和评审,以确认软件已达到预期的质量和功能。 7. 正式发布:在选择的发布日期,将软件部署到服务器或其他适合的平台上,并对外发布,并告知用户。 8. 反馈与维护:收集用户的反馈,在发布后及时处理用户反馈中的问题和bug,并进行软件的维护更新。 9. 更新与升级:根据用户需求和市场变化,及时发布软件的更新和升级版本,以提升用户体验和功能。 10. 售后支持:提供用户支持服务,回答用户的问题、解决用户的困难,并及时发布补丁和修复程序。 软件发布流程可以根据实际需求和团队的规模进行调整和定制化,以最大程度地保证软件的质量和用户满意度。同时,建立一个良好的软件发布流程,可以加强团队协作,提高开发效率,并确保软件的正常运行和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dandy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值