- 主题:在线授权license怎么实现的
想开发一个linux的商用服务软件,运行该软件时,如果没有授权或没有联网,有功能限制;联网授权之后可以使用全功能。
求实现方案,或相关链接,关键字等
--
修改:munaiyi FROM 211.157.146.*
FROM 211.157.146.*
功能不好放到服务器
还是传统的软件
【 在 hgoldfish 的大作中提到: 】
: 这不是很简单么。。把功能放到服务器去。打开软件登录一个帐号。有功能限制的帐号就在服务器拒绝服务就行了。
:
: 【 在 munaiyi (Time is money) 的大作中提到: 】
: ....................
- 来自「最水木 for iPhone 11」
--
FROM 222.131.159.*
这个方案好,之前我也想到过,但是感觉开发难度有点大;
你说的字节码是Java还是C/C++的;
如果能推荐几个相关链接,那就更好了:)
【 在 poocp 的大作中提到: 】
: 有很多方法,我用过的一种是,将某些收费功能在VM中实现,需要联网验证才能下载这部分功能的字节码,而生成字节码的功能源代码里面有本次session的环境条件限制,破解者无法通过抓包重放来向其他用户提供该功能。
--
FROM 211.157.146.*
因为对服务器实时处理要求比较高
前面有一个朋友推荐下载字节码到本地执行是一个比较合适的方案,只是不知道怎么做
【 在 hgoldfish 的大作中提到: 】
: 有什么不好放服务器的。
: 连绘制 GUI 控件和图表等等都可以放服务器,由服务器渲染成图片再放到本地渲染。
:
--
FROM 211.157.146.*
1:10的代价对比,确实是这样,不追求完美方案,只追求性价比。
我先研究一下这个语言,多谢!
另外,c语言能做到动态下载字节码运行不?
【 在 poocp 的大作中提到: 】
: 我选用的是一种很小众的语言,类似C的语法
https://www.compuphase.com/pawn/pawn.htm: 好处是代码量不大,所以我可以重新定义字节码的编码方案,让破解者即使知道了是用的什么语言的字节码,也不能通过网上下载的版本直接进行反编译。
: 因为我本身也搞过破解和解密,所以我的思路是,做出一个完全无法破解的东西,是不可能的。所以应该是形成这样一种局面:软件开发者为加密付出一分劳动所制造的复杂度,需要破解者付出十分劳动来达成破解的目的,那么这个游戏我就能一直玩下去。
: ...................
--
FROM 211.157.146.*
我研究一下,非常感谢!
【 在 poocp 的大作中提到: 】
: 除了这种办法,你也可以把QEMU嵌入到你的程序里面,然后在QEMU里跑一个别的处理器的虚拟机,例如mipsel32r2,修改QEMU的CPU解码部分,改一个非标准的指令集编码出来。用在这个虚拟机内的目标代码工具链也得做相应改动(不用动gcc,binutils里面的汇编器as改完就可以了,gcc最终是调用as来完成汇编到机器码的转换)以便生成可以在这个非标准CPU下执行的目标代码。然后用这个工具链编译一份buildroot嵌入式linux的系统固件,跑在你的程序内嵌的虚拟机里,用它联网做验证和下载功能代码,并且在虚拟机中执行功能代码以及和host程序通信,这时候你的功能代码就可以是C语言的,也因为是运行在你程序的QEMU虚拟机中,无法被破解者直接得到,即便抓包得到程序,也因为是非标准CPU的机器码,无法用通用工具进行反编译。
: 这也是利用虚拟机的复杂度来阻止破解的一种方法。
:
--
FROM 211.157.146.*
研究了一下pawn,在MacOS上编译有问题,因为MacOS不在支持i386,强行把pawn的CMakeLists.txt 改成编译x64的,虽然能编译通过,但运行起来各种问题。
在linux上编译倒是没问题,不过看github上的issue,好多说64位下有问题的,有点担心linux 64位也会有问题
【 在 poocp 的大作中提到: 】
: 2004年我就搞过这个,其实也就改几行代码而已。
: 最终没用这个方案还是考虑到QEMU是用的GPL License,嵌到我的软件代码里面,有版权方面的问题。
: 楼主的水平,你跟他说这个会不会坑了他。。全世界没几个软件的价值高到值得这么干的吧。。
--
FROM 211.157.146.*
明白,感谢指点,我再看看有没其他更合适的语言
【 在 poocp 的大作中提到: 】
: 64位我也没确认过,我将之用在一个嵌入式设备的32位处理器上,这个MCU只有64KB RAM 128KB FlashROM(NXP LPC1768),能够很好下载和运行,pawn在github上的最近更新似乎对64位提供了修正。
: 我只是提供一个思路,类似的能支持字节码的语言应该还有不少,你可以自己调研一下,找到适合的。
:
--
FROM 211.157.146.*
还有什么选择,愿闻其详
【 在 youngbug 的大作中提到: 】
: 收费的有很多选择。
--
FROM 211.157.146.*
请教一下离线授权有什么思路
【 在 poocp 的大作中提到: 】
: 64位我也没确认过,我将之用在一个嵌入式设备的32位处理器上,这个MCU只有64KB RAM 128KB FlashROM(NXP LPC1768),能够很好下载和运行,pawn在github上的最近更新似乎对64位提供了修正。
: 我只是提供一个思路,类似的能支持字节码的语言应该还有不少,你可以自己调研一下,找到适合的。
:
--
FROM 211.157.146.*