如何让试用程序使用期限限制不被破解公司需要对现有的软件加入使用期限限制,比如,我给某一个客户的试用软
如何让试用程序使用期限限制不被破解 公司需要对现有的软件加入使用期限限制,比如,我给某一个客户的试用软件是100天的,过了100天就要求他续费。但是一般的情况下,无论你是写注册表还是使用加密数据库来设定,用户只需要重新设置一下时间,或重装软件,再或重装一次系统就能破解掉我们经过九牛二虎之力做的加密。有没有什么方法,可以让我的期限限制不被破解,哪怕他是重装系统? 当然我们知道若使用加密狗或GSM网络遥控等方式可以控制,前提是不使用这些方法,只用纯软件的方式。来解决我的问题?[解决办法] 学习[解决办法] 不被破解是不可能的,只要软件的全部功能能完整的在一台电脑上运行,就绝对能破解,微软的操作系统够牛了吧。[解决办法] 难, 据对不被破解谁也不能保证。 你所能做的只是增加破解难度而已。 在不考虑狗的情况下,最好就是采用机器码 + 用户名 + 网络验证的方式。 如果也不能用网络验证的方式的话,肯定也能实现,不过自己写的话可能需要增加工程量才行。 先从网上搜搜看看有没有满足你要求的安装工具或加壳工具吧[解决办法] 有一点是肯定的:你的软件必须得到一个用以判断是否在100天内的“标记点”。 既然系统重装都要不影响你的这个标记点,那只能记录到远程了。[解决办法]
探讨 有一点是肯定的:你的软件必须得到一个用以判断是否在100天内的“标记点”。 既然系统重装都要不影响你的这个标记点,那只能记录到远程了。[解决办法] 探讨 引用: 有一点是肯定的:你的软件必须得到一个用以判断是否在100天内的“标记点”。 既然系统重装都要不影响你的这个标记点,那只能记录到远程了。 写到硬盘指定磁道也是可以的, 只要不低格硬盘就会始终有效[解决办法] 若有连接外网的话,网络验证即可
若只是本机,又想防住覆盖重装,那只能如上所说,写到磁道里去,否则对方Ghost+改时间无解
[解决办法] 将标记写到EXE文件中,每次运行次检测运行次数,结束时更新该标记;如果觉得往自身文件写内容麻烦的话,可以额外写个exe,由主exe退出前调用,主exe结束后,额外exe将主exe的运行次数更新;
这样就可以绕过重装系统,修改系统时间等破解方法;
缺点是强度太低,只能防菜鸟;有经验的跟踪一下找到这个标记的地址,修改一下就破掉了.
不能破解是不可能的.
[解决办法] 探讨 将标记写到EXE文件中,每次运行次检测运行次数,结束时更新该标记;如果觉得往自身文件写内容麻烦的话,可以额外写个exe,由主exe退出前调用,主exe结束后,额外exe将主exe的运行次数更新; 这样就可以绕过重装系统,修改系统时间等破解方法; 缺点是强度太低,只能防菜鸟;有经验的跟踪一下找到这个标记的地址,修改一下就破掉了. 不能破解是不可能的.[解决办法] 唯一的办法是联网。(Windows 激活)
或者不管100天200天,设定一个最大期限,比如2010年1月。(Windows Beta 版本就是这么做的)
[解决办法] 探讨 引用: 将标记写到EXE文件中,每次运行次检测运行次数,结束时更新该标记;如果觉得往自身文件写内容麻烦的话,可以额外写个exe,由主exe退出前调用,主exe结束后,额外exe将主exe的运行次数更新; 这样就可以绕过重装系统,修改系统时间等破解方法; 缺点是强度太低,只能防菜鸟;有经验的跟踪一下找到这个标记的地址,修改一下就破掉了. 不能破解是不可能的. 我刻到光盘上运行,或者复制一份备份,被写入了就覆盖回去 其实时间限制是最容易被破解的一招,为何不试试功能限制?[解决办法] 探讨 只用纯软件的方式[解决办法] 对一般用户,你随便写写他们都无法破解;对于专业的黑客或红客,你怎么写都没用....
[解决办法] 这个基本上很难,特别在我们的国度
[解决办法] 如果一个软件,别人肯这么折腾、千方百计地使用它,哪么,你用加密狗又有何不可
[解决办法] 用网络时间验证是否到期
[解决办法] 没有绝对安全的方式,就像任何加密算法都可能被穷举法破解,只是投入成本是否值得。
结合软件的功能采取措施:
1)联网软件
每次登录用网络认证,服务端控制是否过期
2)与日期密切相关的软件(数据记录的键值中包含日期)
在所有输入、使用日期的地方,都限定不能超过某个期限(注意不能用全局常量,要在每个地方都直接用常数,常数的时分秒最好随机)。
即使修改系统时间,也只能处理过期数据,没意义。
3)数据量大的软件
用户不可能重装系统再输入数据,肯定要重用数据文件。
将加密后的限制信息写在数据文件中(要有多处)。[解决办法] 安装的时候作额外的限制,或者设计一个小的辅助程序安装,没有这个,就算他备份了也没用. 自安装时开始计时(记录起来),改系统时间也没用,过了就超期.[解决办法]
探讨 这个基本上很难,特别在我们的国度[解决办法] 探讨 引用: 安装的时候作额外的限制,或者设计一个小的辅助程序安装,没有这个,就算他备份了也没用. 自安装时开始计时(记录起来),改系统时间也没用,过了就超期. 重新装系统之后,你这个办法就失效了。[解决办法] 顶13楼
[解决办法] dingding
[解决办法] 重装系统,也不能,是不可能的。。。
其他,有待商榷。。
[解决办法] 学习!写入磁道!
[解决办法] 楼主可以试试
VMProtect
应该有难度
[解决办法] 好久没见到老马了
[解决办法] 探讨 引用: 引用: 有一点是肯定的:你的软件必须得到一个用以判断是否在100天内的“标记点”。 既然系统重装都要不影响你的这个标记点,那只能记录到远程了。 写到硬盘指定磁道也是可以的, 只要不低格硬盘就会始终有效 呵呵!谢谢大家的回答,其实也不需要绝对,但增加他的破解难度也就可以了。 怎么写磁道?[解决办法] 探讨 对一般用户,你随便写写他们都无法破解;对于专业的黑客或红客,你怎么写都没用....[解决办法] 关注 学习
[解决办法] Private Function HardInfo() As String
Dim sReturn As String
Dim objInst As Object, objChild
'BIOS
Set objInst = GetObject("winmgmts:").ExecQuery("Select * From Win32_BIOS")
For Each objChild In objInst
sReturn = objChild.Version
Exit For
Next
'硬盘
Set objInst = GetObject("winmgmts:").ExecQuery("Select * From Win32_DiskDrive")
For Each objChild In objInst
sReturn = sReturn & "|" & objChild.PNPDeviceID
'或者使用 DeviceID。但是 DeviceID 可能每次重新安装 Windows 后都会改变。
'sReturn = sReturn & "|" & objChild.DeviceID
Exit For
Next
HardInfo = sReturn
End Function
这是我之前网上搜的一段代码,得到硬件信息字符串以后,再按自己的算法得到机器码也即序列号
[解决办法] 頂了
[解决办法] 探讨 引用: 有一点是肯定的:你的软件必须得到一个用以判断是否在100天内的“标记点”。 既然系统重装都要不影响你的这个标记点,那只能记录到远程了。 写到硬盘指定磁道也是可以的, 只要不低格硬盘就会始终有效[解决办法] 不会吧,这是我上一份工作做上位机软件时搜的一段代码,用于自己写的上位机软件的注册和注册机,各种系统均测试过,还在虚拟机里跑过繁体XP,打包给客户运行通过,不可能有死机问题吧?我刚刚又把那两个工程全部重新编译运行了一遍,没有任何问题啊
[解决办法] 程序启动、关闭和执行特定动作的时候,都记录和对比系统时钟。如果发现当前时钟早于记录,则是用户更改了,退出运行。
纯软件保护,关键在于你的记录隐秘性。我用过一个软件,到期后重装都不干活,就是找不到它记录的地方。有种说法,可以写到 CMOS 的空白区,换硬盘都不顶用。只是我没有试过。
[解决办法] 如果仅仅是增加破解难度的话,有很多方法。
众所周知,DLL 文件中有许多空白区,可以写东西的。CIH 病毒感染文件就是这么做的。而且它高潮发作时会写乱码到 CMOS。
你找一个不会经常升级的 Windows DLL,或者干脆自己写一个假的系统文件,首次运行时把机器识别编码和有效期的密文写到其中。 用户重装程序,必须同时重装系统才有用。如果能写到硬盘引导区的空白处,就更加强大,除非低格。 不过写硬盘和写 CMOS 这类事情,你要考虑好。陈盈豪写病毒时不用考虑用户机器崩溃的后果。你就不同了。让人家索赔就得不偿失了。[解决办法] 完全可能,首先数据库尽量可能采用MSSQL或MYSQL等网络数据库,密码不能让用户知道,第二,系统表里加一表,用于检查是否到达100或某个设置值[解决办法] 关注,直到解决...[解决办法] 学习了 我以前搞了一个是用加密狗的方法,在里面加了三个时间点[解决办法] 关注,直到解决...[解决办法] 1.使用硬件加密狗:时钟狗,内部含有时钟芯片 2.使用“试用件”软加密,试用件时间限制位于磁道级,目前无法破解。开发过程也需要授权加密狗,软件发行不需要加密狗,只需要发行“试用件” QQ:476833461[解决办法] 如果是我,使用一个软件,每次启动的时候读取BIOS,cpu序列号,硬盘序列号....等等 我不敢用,也不会去用,如果是非要用,先破解了,不让他读取,再使用,然后分享出来[解决办法] 你现在的问题关键点在于:记录放在哪里 解决了你的注册信息放在哪里的问题你的问题就解决了 有几个方案供参考: 1、网上验证,这个最保险,局限性是对方必须能上网 2、写数据库里,这个比较好,数据信息加密一下,只要别人不知道你的加密算法就没事,不过这个要找注册的地方简单,直接SQL跟踪一下就出来了。 3、写硬盘磁道,我原来也用这个方法,可是在实用中发现有些系统下不知道怎么回事,就是写不进去。(同样的2003系统,有的行有的不行) 4、加密狗,这个就是麻烦,如果客户试用不满意,退加密狗很麻烦[解决办法] 确实比较麻烦, 1、通过网络与服务器的信息进行比对 2、还有就是把核心功能不放在试用程序中 不过我认为最好的就是把试用版软件安装在自己的服务器上,然后能过VPN或其它远程应用机制远程试用软件!这是让用户试用和保证软件不被破解的唯一有效手段了。 希望能帮你!![解决办法] 沒有什麼全能的方法了,微軟的系統,都照常被破解。 對於我們來計,只能盡量加大破解的難度,因為並不是所有客戶都能破解簡單的軟件限制。[解决办法] 说了那么多,都不如使用现成的加壳软件现实。[解决办法]
探讨 引用: 说了那么多,都不如使用现成的加壳软件现实。 我主要是为了让使用者不能超期使用,过期了就不能使用。[解决办法] 很早前网络验证这方法就已经不可靠了!
还记得02、03年的时候玩传奇,那时候出了个挂机外挂!
这外挂就是网络验证,后来出了一个免费的破解版!
据说这个版本的作者,首先用抓包工具抓到服务器IP地址
然后反汇编源程序,把服务器IP地址改成127.0.0.1
然后另外编写了一个服务端程序,来发送验证信息
[解决办法] 读取硬盘出厂日期,可以参考《希捷硬盘出厂日期计算源代码》.
[解决办法] 当你的“软件的价值”远远小于“破解所费的周折”的时候,我想就不会有人去破解你的软件了
就比如写个计算器也做个时间限制,你觉得会有人去破解它吗?
[解决办法] 呵呵,我的方法是在用户的每个或多个分区中生成同一文件~!当然这些文件的存放是比较隐藏的,
程序运行的时候就检查这些文件中1个或N是否相同或存在,不同的或是数量不够的,就是试用~~~
重装是吧,?不可能每个盘都格完吧,呵呵,~怕误删是吧,可以检测多个文件~~嘿。。
我是屡试屡爽,呵呵,你看吧。当然了,你的程序要壳得变态些~~~
[解决办法] 学习了。。。。
[解决办法] 不懂,
學習中;