能力值:
( LV9,RANK:330 )
|
-
-
2 楼
最近怎么都在搞flexlm啊,恢复不可能,只有自己去跟踪找到seed,制作feature的sign。
解密license,程序可以运行,这说明,可以跟踪得到的seed!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
手头有这方面的东西,没办法呀。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
关于seed我有点看法,首先seed是任意的两个数,同其他输入项一起经过运算最终生成某一feature的sign,是这样的吗?同一个license.dat文件里所有feature所使用的seed是一样的吗?还有一个问题,能否从已知sign结合各种输入项从而反推出所使用的seed?请laoqian大侠指正
|
能力值:
( LV9,RANK:330 )
|
-
-
5 楼
1.首先seed严格说不是任意的两个数(必须符合规则),他是你加密程序时确定的2个常数,在加密完成后,就是常数了!
2.同一个license.dat文件里所有feature所使用的seed基本是一样的,但可能有时不同加密程序可以把license.dat合并一起使用,此时seed不同,但此情况基本没有,呵呵。
3.从已知sign结合各种输入项从而反推出所使用的seed是不可能的,――没有逆算法,不可逆算法!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
太好了,经过辛苦的跟踪,终于发现正确license和错误license的sign做比较的地方了,原来12位的sign是按照从前到后每两位做比较的,返回的ecx为正确sign的两位数,edx为错误sign的两位数,真有意思,这样最多跟踪6次就可以把正确的sign追到了.
|
能力值:
( LV9,RANK:330 )
|
-
-
7 楼
在什么位置呢?有什么特征吗?
如果这样,不用找seed(只要license格式对),你可以作内存注册机了!呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
郁闷,追了半天,后来发现我要的feature的sign并不在可执行文件中验证,还是得需要找seed,laoqian大侠帮帮忙,怎样找seed?多谢。这个软件是用flexlm v9.2加密的,验证sign的是一个调用,程序如下:
8B45 08 mov eax,dword ptr ss:[ebp+8]
8B88 24050000 mov ecx,dword ptr ds:[eax+524]
898D A8F6FFFF mov dword ptr ss:[ebp-958],ecx
8B55 08 mov edx,dword ptr ss:[ebp+8]
8B45 0C mov eax,dword ptr ss:[ebp+C]
8B88 4C010000 mov ecx,dword ptr ds:[eax+14C]
898A 24050000 mov dword ptr ds:[edx+524],ecx
8B95 C0F6FFFF mov edx,dword ptr ss:[ebp-940]
52 push edx
8B85 A4F6FFFF mov eax,dword ptr ss:[ebp-95C]
50 push eax
8B4D 14 mov ecx,dword ptr ss:[ebp+14]
51 push ecx
8B55 FC mov edx,dword ptr ss:[ebp-4]
8D85 C4F6FFFF lea eax,dword ptr ss:[ebp-93C]
2BD0 sub edx,eax
52 push edx
8D8D C4F6FFFF lea ecx,dword ptr ss:[ebp-93C]
51 push ecx
8B55 08 mov edx,dword ptr ss:[ebp+8]
52 push edx
E8 46110000 call xxxxxx.020DE1DF
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
在最后那个函数上按F8,返回结果如下:如果使用的license是正确的,那麽eax返回的是当前feature的sign值,否则eax返回0,ecx返回正确的sign两位数,edx为错误的sign两位数
|
能力值:
( LV9,RANK:330 )
|
-
-
10 楼
我也没搞过9.2的,你看看翻译区的精华。
你说得“ecx返回正确的sign两位数,edx为错误的sign两位数”是在什么情况下出现的?跟踪6次真的就可以把正确的sign追到吗?flexlm没有这么弱吧
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
告诉laoqian大侠一个好消息,我需要的所有feature的sign都通过跟踪找到了,经验证程序正常运行,说明恢复的license是正确的,哈哈,真的很高兴。
|
能力值:
( LV9,RANK:330 )
|
-
-
12 楼
你写出来,大家看看。
你的发现据我所知是第一个!如果9.2版你可以最多跟踪6次就可以把正确的sign追到,那说明漏洞太大了,不用去找seed了。作个内存补丁就可以了。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
laoqian大侠,确实是这样的,可我想学习怎样去找seed啊,毕竟这样做好像不是正路啊
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
还有,我发现用网卡物理地址加密太不安全了,因为网卡的物理地址可以随便更改啊,laoqian大侠以为呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
伟伟能否说明一下如何定位比较sign的地方呢?这样做可比找seed做lic方便多了。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
最初由 伟伟 发布 告诉laoqian大侠一个好消息,我需要的所有feature的sign都通过跟踪找到了,经验证程序正常运行,说明恢复的license是正确的,哈哈,真的很高兴。
伟伟写一个教程让大家学学吧。你的办法真的好牛!
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
我不知道其他的flexlm v9.2加密的软件是不是这样的,也可能是我幸运吧.我通过在sign比对的调用前更改ecx所对应的内存的值(ecx所对应的内存中放着feature的名字),来得到我所需要的feature的sign,当然前提条件是我知道我需要的feature的名字.
|
能力值:
( LV9,RANK:330 )
|
-
-
19 楼
重要的调用,如果有更有标志的提示点就好了,请总结一下,最好是静态分析就可以找到的标志!呵呵。――比如特殊数字、字符串,特殊语句等
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
我试了一下,我的lic中的sign为20位,而找出来EAX中的为16位,怎么回事?
|
能力值:
( LV6,RANK:90 )
|
-
-
21 楼
什么第一个,偶早在前年就知道了对比处,而且还确立了寻找特征代码!
除了7.0的没有时间跟踪(近来才碰到),其余6.1,7.2-9.2的都可以找到真假注册码的对比地方(两位一对比),当然不同版本对比的代码可能不一样,但是它们的一些版本(7.0前,7.0后)有共同的特征代码!
|
能力值:
( LV9,RANK:330 )
|
-
-
22 楼
呵呵,确实,在crackZ上的2篇
【1999.11.16发表】
http://www.woodmann.com/crackz/Tutorials/Ugmaci2.htm
【2001.12.30发表】
http://www.woodmann.com/crackz/Tutorials/Serenade.htm
已经说明这一点了,只是是英文的,大家没注意罢了!这次,伟伟提醒,我又仔细看了看,受益匪浅,才有我的总结,下次要看看ecc等。
|
能力值:
( LV6,RANK:90 )
|
-
-
23 楼
9.0之后的不少软件商好象在对比注册码前多了新的校验,估计应该是sign的chensum之类的校验,所以其现在如果sign不正确,就跳出而出现更换license之类的警告,并且不在到对比注册码的地方!
laoqian,你碰到过此类情况不?
不知道这2篇英文中是否有写。
另外,是否愿意QQ交谈?
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
shaoge给各qq把,最近在弄9.2
|
能力值:
( LV6,RANK:90 )
|
-
-
25 楼
http://bbs.pediy.com/showthread.php?s=&postid=83249#post83249
|
|
|