hpindigo 发表于 2019-5-5 16:23:45

一款flexlm的lic格式问题

有表哥说:我在这个许可文件上直接修改了一下 ,哪怕动一个字符,就提示 -8错误 也就是 flexlm的许可或者签名无效。我的问题就来了,既然别人也是ECC以后许可证才管事的,那么ECC一定是被破解掉了。怎么还验证许可呢?

我测试了一下还真的是,在lic随便改一个字节的,就会启动不了。我都怀疑是否真的要算一下lic。


大帅说:你都爆破了,就没必要重新 crypt 去计算 SIGN 。 只要格式正确,随便填都可以。

表哥又说:现在迷糊的是,都是ECC破解的许可证,怎么别人伪造的程序认可,我伪造的程序不识别。

大帅说:你的问题在于格式不正确啊。这里有一个重点, 守护只负责 checkout,其它可以不管。 客户端可以【额外】检查其它的,例如 vendor, filter,以及其它自定义的部分。

然后是大帅给出的证据:






lic要求一定的格式:


这个程序的问题出在第一个功能项:
FEATURE JumpStartFeature LGS 1.0 permanent 1 SIGN="1A50 19A1 BE02 \
    FA7F BD52 2BF6 C2EB 0A94 5A98 35ED CC99 7877 5A3A ECB8 CF1F \
    1F40 1F3B A608 C559 0F5F D58F EFD2 1F27 5F98 C054 C30A F28E \
    3DDD 12C4 BE31"

这个是程序自动生成的,你不能去修改,而且这个验证也不在守护程序里面验证。
只要这里不修改,后面的都可以随便了。


页: [1]
查看完整版本: 一款flexlm的lic格式问题