首页
社区
课程
招聘
[求助]关于Flexlm 8,9,10 ECC去除的补丁程序=>自问自答:以及我的一个去除ECC实例教程
发表于: 2006-11-6 16:05 58301

[求助]关于Flexlm 8,9,10 ECC去除的补丁程序=>自问自答:以及我的一个去除ECC实例教程

sln 活跃值
2
2006-11-6 16:05
58301
我已经用hottomson提供的flexlm 10.0 fix在win下将ecc去掉,但是没有办法去掉同一个软件的linux版本的ecc
希望大家能详细介绍一下原理,以及提供原代码以便在linux下编译,非常感谢。

1)crackz网站上提供了如下的说明:patches return value of _l_pubkey_verify().具体见:http://www.woodmann.com/crackz/Flexlm.htm
同时提供了针对flexlm8.1ECC的补丁:http://www.woodmann.com/crackz/Tools/Flexeccpatch.zip
2)crackz还提供了另一个例子:
http://www.woodmann.com/crackz/Tutorials/Flexecc.htm

3)http://www.woodmann.com/crackz/Tutorials/Flex2004.htm
这个文章提供的方法很详细,但是我没有办法识别flexlm10的函数

但是我都没有懂。
1)_l_pubkey_verify().函数如何识别,尤其是不同版本间,有没有特征值去识别?怎么识别?
2)如何用IDA的flair去制作flexlm的sig?我想这样可以帮助识别。

谢谢大家。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (47)
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
1) IDA pro/FLAIR and FLEXlm/lmgr.lib are required
2) under the command prompt, type followling command:
>flair/bin/pcf lmgr.lib lmgr.pat or you can try: flair/bin/plb lmgr.lib lmgr.pat
>flair/bin/sigmake lmgr.pat lmgr.sig
Bingo!
We get the flexlm10's sig file which will recognize the function of flexlm 10.
2006-11-19 09:44
0
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
_l_pubkey_verify()修改确实好用,但是还有一个问题:
如果不借助于IDA pro如何识别出_l_pubkey_verify的代码断?
请大家给予指导
2006-11-21 00:10
0
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
目标程序:target.exe,FLEXnet 10采用ECC增强加密[因为不想公开程序名 所以用target.exe代替]
工具:IDA pro5, 如上制作的lmgr.sig, UltraEdit
原理:如1楼所述说过,将_l_pubkey_verify()补丁了就可以了。
操作:
1)IDA打开target.exe
   要很长时间 可以刷牙,洗脸完毕也差不多了
2)sig识别
   File>>>Load File >>> Flair sig 载入制作的flexlm10_lmgr.sig
3)定位_l_pubkey_verify()与修改
Function >>> search>>>_l_pubkey_verify() 找到代码段 双击来到代码段
如下开头的标记:
.text:0060D410
.text:0060D410 ; *************** S U B R O U T I N E ***************************************
.text:0060D410
.text:0060D410 ; Attributes: library function bp-based frame
.text:0060D410
.text:0060D410 ; int __cdecl l_pubkey_verify(int,int,int,void *,size_t,int,int,int,int)
.text:0060D410 _l_pubkey_verify proc near              ; DATA XREF: sub_5EC0B0+94EFo

往下看第一个push 与 mov操作码,我们就在这里下手:
我的如下:
:0060D40E CC                      int 03
:0060D40F CC                      int 03
:0060D410 55                      push ebp
:0060D411 8BEC                    mov ebp, esp
用UltraEdit修改成:
:0060D40E CC                      int 03
:0060D40F CC                      int 03
:0060D410 33C0                    xor eax, eax
:0060D412 C3                      ret

再试试,ECC没有了。
2006-11-21 19:17
0
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
如题。
尤其是在linux操做系统下。
所以需要用手工的识别的方法--我猜
上面的话题希望能起到抛砖引玉的作用
2006-11-21 19:28
0
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
试一试去,看看效果如何
2006-11-21 20:37
0
雪    币: 257
活跃值: (369)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
7
按你给出的内容,搜索CC CC 55 8B EC,找到的话,剩下的你都会了。ECC的不同版本的特征代码不一样,但原理一样;比如8.0的是将FF FF 8B 45 B0改成FF FF 33 C0 90。
2006-11-22 09:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
太强了,Flexlm License破解这方面我还没勇气去碰!
2006-11-22 09:28
0
雪    币: 102
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看到过一个fixecc可以支持大部分ecc软件

没弄明白为何各个版本ecc部分不一样居然也可以这样支持
2006-11-22 15:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
sln兄,能否贴一下flexnet10.8的sig文件?我找了很多地方都没有SDK,论坛的FTP我也上不去。谢谢了。
2007-3-12 20:14
0
雪    币: 225
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
who can teach us "how to brute force out the encode-seed3 and 4 directly ?" anybody know that ?
2007-3-13 17:18
0
雪    币: 1341
活跃值: (3616)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
我一个flexlm 11.3保护的程序
搜索CC CC CC 55 8B EC,找到n多个,是咋回事啊?
2007-6-20 17:02
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
要往下看不要往上看
要向前看不要向后看
2007-6-21 21:11
0
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
14
FLEXnet Licensing v11.3.0.0 build 28877 (lmgr.lib), Copyright (c) 1988-2006 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved.

1)这个已经提示你:可以借助FLEXnet V11.3的lmgr.lib这个来搞定。

2)可惜我没有SDK,也没有找到找到l_pubkey_verify的规律。没有这个lmgr.lib东西我也不会。

3)如果是老版本,可以用替换DAEMON的方式,但是这个要SDK才可以完成,并且从10.8起,替换DAEMON的方式我再也没有成功过。

4)实在是不行,如果程序可以让你修改,lc_checkout至今一致是他的要害,可以试试。
2007-6-22 21:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不错,俺又长见识哩,多谢!
2007-6-22 22:35
0
雪    币: 204
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我的问题是对保护程序已经patch过了,lmgrd 也能启动,可应用程序就是提示lincense key inconsistent,究竟是怎么回事?
2007-7-15 23:30
0
雪    币: 1341
活跃值: (3616)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
17
根据SDK11.4的lmgr.lib和flair介绍,制作了个sig,可以找到_l_pubkey_verify和_lp_checkout,可以直接对_lp_checkout下手进行爆破,或者在_lp_checkout内部xor eax,eax一下。
下一步试试_l_pubkey_verify,最后再找找seed:)
2007-7-16 16:51
0
雪    币: 215
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
18
好像我用lmgr.lib制作sig,好多函数名都是乱的,这怎办?
2007-7-17 09:34
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
搜 CC CC 55 8B EC
其实就是对应如下的代码:

int 3
int 3
push ebp
mov  ebp,esp

这是一个标准的C语言函数的开始代码,也就是说几乎每个C语言的函数开头都是这几句。
(VC7.0以后的编译器好象代码优化之后就不用这个开头了。)
2007-11-29 09:36
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
就是,用10.8和11.4的lmgr.lib分别制作sig,函数名都是乱的。_l_pubkey_verify根本找不到
2007-12-26 16:05
0
雪    币: 215
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
还是搞不定,继续学习。
2008-1-8 14:28
0
雪    币: 208
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
谁有各个版本的flexlm lib的sig文件啊,好像现在SDK只有到9的,10以后的版本哪里有?
2008-1-10 08:55
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
11.4 怎么做出的sig全部是乱码?
flair 工具根据 lmgrd.lib 生成 sig文件有何窍门吗?
2008-3-4 21:21
0
雪    币: 107
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
我生成的也是乱码啊!!
找不到函数!!

请老大指导一下。
2008-4-5 01:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
_l_sg() 一直识别不了
2008-5-3 15:04
0
游客
登录 | 注册 方可回帖
返回
//