论坛风格切换
正版合作和侵权请联系 sd173@foxmail.com
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 3499阅读
  • 3回复

[原创文章]Flexlm ECC 公匙替换手操实录 [复制链接]

上一主题 下一主题
离线tflying
 

发帖
1565
今日发帖
最后登录
2024-04-04
只看楼主 倒序阅读 使用道具 楼主  发表于: 2021-05-19 08:53:37
在前人的基础上,再摸着石头过河,是一种历练。方向正确后,干就是一种美德。
一直以来,都是以3D4DA1D6Seed后再做License,图得是简单,于技术而言,似无水平。而对patch来说,有无后患,还是两可。
为了日有所得,便重操旧业,翻起了老古董,美其名曰学习乃终身大事。
书归正传,
AFlexlm SDK 9.2编译
本人操作系统:win10 64
  1. 安装VS2012;
  2. 复制vs2012\vs\bin\vcvars32.bat至flexlmSDK\目录下,并运行;
  3. 在开始菜单下运行developer commandprompt for vs2012
  4. 进入命令模式后,执行以下命令:

              copy certicom/lib/i86_n3/include/*.* h /y
              copy certicom/lib/i86_n3/lib/*.* i86_n3 /y
              copy flexlm-java-tng/c/i86_n3/*.* src /y
      5. 再次执行以下命令以生成lmgr*.lib等三个文件:
              cd ..\src
             nmake /f pc.mak     /*生成lmgr.lib文件*/
             cd ..\app
             nmake /f pc.mak     /*生成lmgras.lib文件*/
             cd ..server    
             nmake /f pc.mak      /*生成lmgrs.lib文件*/
      6. 初次配置lm_code.h文件,注意:在SDK中共有两个lm_code.h文件,一个在..\machind目录下,另一个在..\h目录下,二者内容应一致,
           特别是vender_name,应该与../vendor/pc.mak中212行lmnewgen demo -o lm_new.c中的改demo为VENDOR_NAME时一致;
           其它的可用LMKG3生成;lm_seed先不用更改;
       7. 执行以下命令,在..\utils目录下生成lmrand1.exe,
              cd ..\utils
              nmake /f pc.mak
       8. 在..\utils目录下运行lmrand1 -seed,生成LM_SEED123,此处需要较长时间,耐心等候;
       9. 回到..\machind目录下,编辑LM_CODE.h文件,把上一步生成的LM_SEED123替换,保存好后再复制LM_CODE.h文件到..\h目录下替换同名文件,目的是保持一致。
      10. 再次进入..\utils目录下执行以命令后,将更新生成lmrand1.exe, lmnewgen.obj等文件;
               cd  ..\utils
              del  *.obj
              nmake/f pc.mak
      11. 把前述步骤产生的以下文件复制到..\i86_n3
              ..\utils\lmrand1.exe,lmnewgen.obj      ..\src\lmgr.lib   ..\app\lmgras.lib  ..\server\lmgrs.lib
      12. 修改..\i86_n3目录下的makefile文件,把里面的DEMO换成自己的VENDOR_NAME(lm_code.h一致文件中的值一致),然后运行Build MT,即可生成制作许可的lmcrypt,makekey等文件。完成编译。
      13. 每次修改完lm_code.h文件后,重复执行j,k,l三步即可(在第k步中,只需复制lmrand1.exe,lmnewgen.obj两个文件即可)。
B. 完成SDK编译后,在..\i86_n3目录下产生的两个重要文件lmprikey.h和lmpubkey.h,其中lmprikey.h用于完成SIGN过成,lmpubkey.h中的值则用于ECC PUBKEY替换。
C. 在命令行模式下,执行..\i86_n3\makekey,根据提示即可完成LICENSE的生成;也可自己准备一个license模板,在Windows下用鼠标拖到lmcrypt上生成license
[ 此帖被tflying在2021-05-19 09:00重新编辑 ]
离线cwawj1_mhgsh

发帖
199
今日发帖
最后登录
2024-04-24
只看该作者 沙发  发表于: 2021-05-20 20:03:52
多谢分享
离线fpaoli

发帖
158
今日发帖
最后登录
2024-02-29
只看该作者 板凳  发表于: 2021-05-22 08:51:19
太感谢了,讲解详细,值得学习!
离线luogang1221

发帖
208
今日发帖
最后登录
2024-04-14
只看该作者 地板  发表于: 2021-05-22 09:47:48
多谢分享,收藏一下