首页
社区
课程
招聘
[求助]flexlm 8.3,无ecc,调式很多遍,得到的seed后几位要变?
发表于: 2011-3-26 15:37 6685

[求助]flexlm 8.3,无ecc,调式很多遍,得到的seed后几位要变?

2011-3-26 15:37
6685
调试很多遍daemon,找到的data和job的值都不同,但计算出的seed1和seed2的前4位相同,后四位老是变化多端,请问这种情况怎么找seed?
我的方法是在lm_ckout.c下方的add esp 0ch处下断,采用calcseed计算的seed。郁闷!

004183EC  /$  55            push    ebp
004183ED  |.  8BEC          mov     ebp, esp
004183EF  |.  83EC 24       sub     esp, 24
004183F2  |.  C745 F4 B8307>mov     dword ptr [ebp-C], 6F7330B8
004183F9  |.  C745 F0 03000>mov     dword ptr [ebp-10], 3
00418400  |.  8B45 08       mov     eax, dword ptr [ebp+8]
00418403  |.  8B48 6C       mov     ecx, dword ptr [eax+6C]
00418406  |.  8B91 94030000 mov     edx, dword ptr [ecx+394]
0041840C  |.  81E2 00800000 and     edx, 8000
00418412  |.  85D2          test    edx, edx
00418414      74 23         je      short 00418439 (断点无法停下来,将此处改位jne)
00418416  |.  833D B0324900>cmp     dword ptr [4932B0], 0
0041841D      74 1A         je      short 00418439
0041841F  |.  8B45 10       mov     eax, dword ptr [ebp+10]
00418422  |.  50            push    eax
00418423  |.  8B4D 0C       mov     ecx, dword ptr [ebp+C]
00418426  |.  51            push    ecx
00418427  |.  8B55 08       mov     edx, dword ptr [ebp+8]
0041842A  |.  52            push    edx
0041842B  |.  FF15 B0324900 call    dword ptr [4932B0]
00418431  |.  83C4 0C       add     esp, 0C  <--此处下断

请高手指点!谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
   顶一下,坐等高手。。。                                 

我检查发现,它本身没用l_crypt_private(), 函数?
我用那个著名的3D4DA1D6标志,也是没法停下来,查找前面的跳转条件,修改后还是不经过这里。。。
2011-3-26 20:06
0
雪    币: 805
活跃值: (2698)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
      关键是你需要先造出来一个许可证文件,比如,可以找出任意一个FLEXlm许可文件,将VENDOR DAEMON的名字替换为“rc2fd”,把服务器名改为你的机器名,每个FEATURE的日期必须是当前有效,然后再试,一定能停下来的。
2011-3-26 22:54
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢老伙计,这些我都是做了的,但是就没成功。

现在我已经算出seed1和seed2了,但是我是用更老一点的版本做的,这个版本就是不知道怎么回事,以前看文献说是隐藏起来了,几个字节是反的,不知道怎么操作,请明示,谢谢!

我的seed:
seed1:61ac9ab8
seed2:53cb84a9

经测试能够正常使用。

但是,对于8.3的版本还是没弄明白,请指点。谢谢!
2011-3-26 23:33
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对于在lm_ckout.c下方的add esp 0ch处下断得到的job和data值计算出来的seed为什么不对呢?应该怎么做?
2011-3-26 23:35
0
雪    币: 805
活跃值: (2698)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
    这个版本和以前的其他版本没有任何区别,我就是这样跟出seed1和seed2的。不要用调试器跟踪,启动license DAEMON,只有你能够看到"Inconstant license key. . ."信息的时候,用调试器跟踪才能在3D4DA1D6处断下来。
2011-3-26 23:41
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
能说详细一点吗?我没用过3D4DA1D6的方法,非常感谢!
2011-3-26 23:49
0
雪    币: 805
活跃值: (2698)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
    没什么呀,在OD代码窗口中,搜索所有常量,输入"3D4DA1D6",然后搜索,在找到的每一条命令处下断点,然后运行,第一个将要写入常量"3D4DA1D6"的内存里的32位数值就是seed1,以此类推,第二个就是seed2,如果你还不明白就不要再问了,我已经讲的很明白了!
2011-3-26 23:56
0
游客
登录 | 注册 方可回帖
返回