yangmyron
你的步骤没错,估计是你错误地理解了Pacth的概念。Pacth掉ECC是让守护神不再进行ECC验证,但它仍然需要不带ECC的验证,也就是说你还需要找到EN_SEED1和EN_SEED2,做出正确的12 ...
根据我的学习经验,找的ENCRYPTION_SEED1-2只是对flexlm自有算法有效。
对于ECC,LM_SEED1-3决定公私钥对,替换公钥LM_SEED采用已知公私钥对,这个不是发行公司的。
签名时只用到私钥,验证时只用到公钥。所以服务器端及客户端都改这个已知公钥大概率验证通过。
服务器端能启动,客户端还有很多验证,签名就很麻烦,这个可以伪造签名证书。
ECC patch是不使用 ECC算法,用flexlm自有算法。替换已知公钥只修改文件数据段,也不用patch ECC,
但是高版本很繁琐,论坛所说的替换公钥实际上是替换混淆后的公钥。
又做了一些测试感觉理解的不是很准确,主要是对算法理解还是不行,还需要深入学习,敬请指导!
最近看了很多帖子,我是一个快退休的老程序员,给初学者一些建议:
切勿急躁,我从9.2一直编译到11.14,也看了9.2的源码,flexlm的编译器最好用vs2010,vs2013也可以,不建议使用高版本,会有很多错误,
不是不能用,vs2015变换很大,需要改很多地方。以SDK9.2为基础,很多问题都可以解决,文档必须看。
再有就是IDA,OD,x64dbg等工具,工欲善其事,必先利其器,工具必须做到熟练使用,看看教程。
最后于 2024-10-30 18:48
被zmgbyn编辑
,原因: