首页
社区
课程
招聘
求助]关于linux版本的Flexlm问题
发表于: 2011-4-6 16:06 21650

求助]关于linux版本的Flexlm问题

2011-4-6 16:06
21650
一款软件运行在linux环境的服务器上。
使用LMTOOLS在WINDOWS环境下查看DAEMON,显示如下:
---------
Version
---------
FLEXnet Licensing v10.8.0.6 build 23943 (liblmgr.a), Copyright (c) 1988-2005 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved.
==========================================================
从上面的信息可以看出软件使用了flexnet V10.8保护。
我前一阵子使用windows版本的flexlm sdk成功做出了另一款软件的License,关于linux环境下的license制作没有一点概念,希望搞过的大侠指点一下:
我现在的问题如下:
1 我之前使用OD调试基于windows的程序,在linux环境下,同样的OD还好使吗?
2 关于flexnet sdk,论坛上下载了基于Linux的FLEXLM 10.8.2.2,但里面只有一个i86_re3文件夹,没有其他文件夹,比如machind等文件夹,是不是下载的这个SDK不全?
3 哪位能详细介绍下linux环境下如何编译SDK,谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 807
活跃值: (2273)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Linux和windows是一样的思路,Linux系统下的反汇编工具是objdump,调试器是DDD,用法自己查一下随机文档,当年连这些信息也没有人告诉偶,完全是自己摸出来的,相信以你的实力应该也没有任何问题!接下来的关键是跟踪到那2个SEED,至于编译完全没必要在Linux平台上,在Windows平台上也是完全可以的,但是需要lmkg v3.0,用来产生不受平台约束的那5个KEY。这样,你就可以顺利编译了。能提供给你的帮助就这些了。不要抱怨,天下没有免费的午餐,一切都要靠自己。
2011-4-6 16:38
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢老伙计热心回帖!能得到您的指点,我相信一切问题会迎刃而解的。我也知道关键是要找到2个seeds,目前我对linux平台的调试方法确实一窍不通,还需要继续学习!
====================================================
“至于编译完全没必要在Linux平台上,在Windows平台上也是完全可以的”这句话的意思是说,难道只要我找到seeds,我使用windows的FLEXLM SDK(V11.4我手头就有现成的)就可以做出linux平台的license文件吗?
    不过从试用期的License来看,应该是有ECC的,因为SIGN2为120 bytes,所以应该需要先破掉ECC。
    下面是试用期的license:
SERVER xxx yyy zzzz
DAEMON aaa path

INCREMENT bbb aaa 1.0  31-dec-2010 0 bd5ba04913efea45c17d \
    VENDOR_STRING=D229BF03 SN=18678443 SIGN2="1713 C9C8 A91B 539E BDB1 \
    B4AF 7CF5 BBA3 5B5E AF43 6746 0B15 40B7 A280 623F 121F 5668 21E8 A471 \
    EDBA DCD9 BE99 BD97 6D62 2337 F26E 7F5E 9A2C 7643 E502"

license格式如上,应该是有ECC的吧?

2011-4-6 19:46
0
雪    币: 807
活跃值: (2273)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你的这个许可是ECC的,制作注册机没有任何意义,建议放弃,改为爆破,用于破解的软件可以使用这个:
http://bbs.pediy.com/attachment.php?attachmentid=55573&d=1301253001
改过以后,许可文件的明码部分可以根据需要随意修改,祝你幸运。
2011-4-6 20:23
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢老伙计!
我试着按照您的建议去破解!
不过您给的这个链接我下载了,看了一下不知道怎么用,需要继续看相关资料才行!有关ECC的破解我之前没接触过,所以比较菜,光知道可以修改l_pubkey_verify的返回值,但没有实际操作过,正好练练手,呵呵。

2011-4-6 20:34
0
雪    币: 807
活跃值: (2273)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这是个“全傻瓜”工具,你只需要在软件的安装目录启动,这个工具会自动搜索遍历本目录及其所属所有子目录下的全部文件,把每一个含有l_pubkey_verify函数的程序挑选出来,并进行自动修改。全部过程不需要任何的人工干预。为稳妥起见,使用前,建议从软件的安装目录起,把整个目录树拷贝到自己有权限写的路径下,进行操作和测试,等成功后再回写覆盖原始安装。
2011-4-7 11:28
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
老伙计,你给的那个程序执行有问题啊,不知道是不是我操作的问题?
我将FLEXlm l_pubkey_verify.py拷贝到要查找的目录,然后使用
python l_pubkey_verify.py执行,出现如下错误提示:

File "l_pubkey_verify.py", line 27
    fp = open(fullfname, 'r+')
    ^
SyntaxError: invalid syntax
这是什么问题?

2011-4-8 16:40
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
实在不习惯linux,汗!
怎么样才能patch掉ECC?老伙计发的那个不行啊!
2011-4-11 11:32
0
雪    币: 496
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
以前都是拷贝出来在win下用IDA,学习了。
2011-4-11 13:10
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我装了一个ddd,但不知道怎么才能调试DAEMON,郁闷,在linux底下调试,大家有什么经验?
2011-4-11 14:03
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
为什么使用DDD无法打开DAEMON,附件是DAEMON程序,请高手指点一下,不甚感激!
test.rar
上传的附件:
2011-4-12 11:07
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
使用DDD打开守护神程序,出现如下提示:
Copyright ?2001 Universit鋞 des Saarlandes, Germany.
Copyright ?2001-2004 Free Software Foundation, Inc.
(gdb) file /net/stu10/export/home1/user/yfdang/test
(no debugging symbols found)
Using host libthread_db library "/lib64/tls/libthread_db.so.1".

“no debugging symbols found”这个问题怎么解决?好像debugging symbols 在使用gcc编译源程序的时候要加-g参数,但目前守护神程序已经是编译好的,是不是当时编译的时候就没加-g,导致了使用ddd无法调入程序?还有其他调试手段吗?单独下载了GDB也同样出现了这样的问题。
2011-4-13 17:47
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
大牛们都不屑回答俺们这些菜鸟的问题,只能自己瞎折腾了。
经确认,在使用gcc编译的时候加-g和不加-g确实使用DDD无法调入程序。由于我的DAEMO是已经编译好的,所以最后放弃使用DDD调试。
最后经过一番倒腾,使用linux版本的IDA Pro终于可以把DAEMO打开了,真是不容易啊,想看个代码都这么难,汗!在代码里搜索著名的“12345678”也能搜到,著名的"6F7330B8"也看到了。
现在的问题是:
我如何让载入的DAEMO运行(调试),地球人都知道DAEMO是需要FLEXLM 的lmgrd启动的,如何使用IDA Pro调试一个DAEMO程序?
我的过程是这样的,首先cd到我的home下的IDA.Pro/idaadv/目录下,执行如下操作载入程序:
/IDA.Pro/idaadv>idal -c ./test,然后出现如下界面:


载入程序后出现如下界面:


然后使用debug里面的F9执行程序,程序确实没有执行,事实也应该不执行才对。我知道这个过程肯定有问题,但不知道如何使用IDA调试DAEMO?烦请各位大牛指点一下。
另外,我在IDA里如何去定位l_pubkey_verify函数,论坛上说可以做个什么sig,除了这个sig以外,还有没有别的手段可以找出这个函数?
上传的附件:
  • 1.JPG (122.62kb,377次下载)
  • 2.JPG (145.53kb,379次下载)
2011-4-15 13:32
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
4楼给的python脚本只针对x86平台;你运行错误应该是文件里面的对齐缩进格式不正确造成的,python代码要求严格的缩进。

linux下确实没有多少动态调试的工具,静态的倒是一大堆,开源的也不少,我用过的其中一个动态调试工具:
http://www.codef00.com/projects#debugger
这个工具的目标就是打造linux下的ollydbg,已经实现了ollydbg的基本功能,需要自己编译,good luck!
2011-4-22 14:14
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
补充,用:
nm your_file
或者:
readelf -s your_file
可以看到所有符号和函数
2011-4-22 14:57
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
谢谢yezhichengsqlr前辈的回帖,有时间我试一试您的这一款软件。目前我使用IDA根据特征码已经定位到l_pubkey_verify函数,但是在l_pubkey_verify函数入口处下断后断不下来,在著名的0x87654321下断是可以中断下来的,不知道为什么?
2011-4-22 15:39
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
你确定你的程序没有ECC?
有ECC的话打个补丁,修改函数前三字节, l_pubkey_verify 返回0(或者lc_checkout 返回1)就好了
2011-4-25 15:42
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
从我试用期的license来看是有ECC的。DAEMON中将l_pubkey_verify函数末尾ret之前修改为xor eax,eax(使用Uedit32直接修改),发现启动不了DAEMON了(用改之前能启动的license),这个可能是什么原因引起的?我将改过的DAEMON使用IDA反汇编看了一下,确实在l_pubkey_verify末尾ret之前是xor eax,eax,应该是返回0了。
2011-4-25 18:11
0
雪    币:
活跃值: (123)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
老伙计 你的这个许可是ECC的,制作注册机没有任何意义,建议放弃,改为爆破,用于破解的软件可以使用这个: http://bbs.pediy.com/attachment.php?attachmentid=5 ...
老伙计,这个链接打不开了,能否再传一下吗?
2021-2-2 22:10
0
雪    币: 5459
活跃值: (2507)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
老伙计 你的这个许可是ECC的,制作注册机没有任何意义,建议放弃,改为爆破,用于破解的软件可以使用这个: http://bbs.pediy.com/attachment.php?attachmentid=5 ...
大佬,这个链接失效了,能否再共享一下?
2023-9-21 10:20
0
游客
登录 | 注册 方可回帖
返回
//