首页
社区
课程
招聘
怎样恢复用flexlm加密的部分feature的lic
发表于: 2005-9-21 17:39 11969

怎样恢复用flexlm加密的部分feature的lic

2005-9-21 17:39
11969
一个flexlm加密的专业软件,LND做的解密license,程序可以运行,但关键feature被删除,部分功能不能使用,本人刚接触解密,希望高人指点,怎样恢复被删除的feature的sign?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
2
最近怎么都在搞flexlm啊,恢复不可能,只有自己去跟踪找到seed,制作feature的sign。
解密license,程序可以运行,这说明,可以跟踪得到的seed!
2005-9-22 11:06
0
雪    币: 85
活跃值: (183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
手头有这方面的东西,没办法呀。
2005-9-22 19:47
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
关于seed我有点看法,首先seed是任意的两个数,同其他输入项一起经过运算最终生成某一feature的sign,是这样的吗?同一个license.dat文件里所有feature所使用的seed是一样的吗?还有一个问题,能否从已知sign结合各种输入项从而反推出所使用的seed?请laoqian大侠指正
2005-9-23 00:24
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
5
1.首先seed严格说不是任意的两个数(必须符合规则),他是你加密程序时确定的2个常数,在加密完成后,就是常数了!
2.同一个license.dat文件里所有feature所使用的seed基本是一样的,但可能有时不同加密程序可以把license.dat合并一起使用,此时seed不同,但此情况基本没有,呵呵。
3.从已知sign结合各种输入项从而反推出所使用的seed是不可能的,――没有逆算法,不可逆算法!
2005-9-23 10:17
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
太好了,经过辛苦的跟踪,终于发现正确license和错误license的sign做比较的地方了,原来12位的sign是按照从前到后每两位做比较的,返回的ecx为正确sign的两位数,edx为错误sign的两位数,真有意思,这样最多跟踪6次就可以把正确的sign追到了.
2005-9-25 23:34
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
7
在什么位置呢?有什么特征吗?
如果这样,不用找seed(只要license格式对),你可以作内存注册机了!呵呵
2005-9-26 09:32
0
雪    币: 204
活跃值: (35)
能力值: ( 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
2005-9-27 21:19
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
在最后那个函数上按F8,返回结果如下:如果使用的license是正确的,那麽eax返回的是当前feature的sign值,否则eax返回0,ecx返回正确的sign两位数,edx为错误的sign两位数
2005-9-27 21:26
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
10
我也没搞过9.2的,你看看翻译区的精华。
你说得“ecx返回正确的sign两位数,edx为错误的sign两位数”是在什么情况下出现的?跟踪6次真的就可以把正确的sign追到吗?flexlm没有这么弱吧
2005-9-28 10:07
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
告诉laoqian大侠一个好消息,我需要的所有feature的sign都通过跟踪找到了,经验证程序正常运行,说明恢复的license是正确的,哈哈,真的很高兴。
2005-10-1 00:42
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
12
你写出来,大家看看。
你的发现据我所知是第一个!如果9.2版你可以最多跟踪6次就可以把正确的sign追到,那说明漏洞太大了,不用去找seed了。作个内存补丁就可以了。
2005-10-4 10:58
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
laoqian大侠,确实是这样的,可我想学习怎样去找seed啊,毕竟这样做好像不是正路啊
2005-10-4 20:46
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
还有,我发现用网卡物理地址加密太不安全了,因为网卡的物理地址可以随便更改啊,laoqian大侠以为呢?
2005-10-4 21:52
0
雪    币: 85
活跃值: (183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
伟伟能否说明一下如何定位比较sign的地方呢?这样做可比找seed做lic方便多了。
2005-10-5 08:10
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 伟伟 发布
告诉laoqian大侠一个好消息,我需要的所有feature的sign都通过跟踪找到了,经验证程序正常运行,说明恢复的license是正确的,哈哈,真的很高兴。


伟伟写一个教程让大家学学吧。你的办法真的好牛!
2005-10-5 09:04
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
2005-10-5 21:09
0
雪    币: 204
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我不知道其他的flexlm v9.2加密的软件是不是这样的,也可能是我幸运吧.我通过在sign比对的调用前更改ecx所对应的内存的值(ecx所对应的内存中放着feature的名字),来得到我所需要的feature的sign,当然前提条件是我知道我需要的feature的名字.
2005-10-5 21:16
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
19
重要的调用,如果有更有标志的提示点就好了,请总结一下,最好是静态分析就可以找到的标志!呵呵。――比如特殊数字、字符串,特殊语句等
2005-10-6 16:53
0
雪    币: 85
活跃值: (183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我试了一下,我的lic中的sign为20位,而找出来EAX中的为16位,怎么回事?
2005-10-6 21:10
0
雪    币: 1310
活跃值: (727)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
21
什么第一个,偶早在前年就知道了对比处,而且还确立了寻找特征代码!
除了7.0的没有时间跟踪(近来才碰到),其余6.1,7.2-9.2的都可以找到真假注册码的对比地方(两位一对比),当然不同版本对比的代码可能不一样,但是它们的一些版本(7.0前,7.0后)有共同的特征代码!
2005-12-17 02:38
0
雪    币: 332
活跃值: (479)
能力值: ( 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等。
2005-12-17 10:34
0
雪    币: 1310
活跃值: (727)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
23
9.0之后的不少软件商好象在对比注册码前多了新的校验,估计应该是sign的chensum之类的校验,所以其现在如果sign不正确,就跳出而出现更换license之类的警告,并且不在到对比注册码的地方!
laoqian,你碰到过此类情况不?
不知道这2篇英文中是否有写。
另外,是否愿意QQ交谈?
2005-12-17 16:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
shaoge给各qq把,最近在弄9.2
2005-12-17 21:20
0
雪    币: 1310
活跃值: (727)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
25
http://bbs.pediy.com/showthread.php?s=&postid=83249#post83249
2005-12-19 23:26
0
游客
登录 | 注册 方可回帖
返回
//