首页
社区
课程
招聘
[求助]如何破解基于Java Flexlm的软件
发表于: 2007-7-18 04:12 15812

[求助]如何破解基于Java Flexlm的软件

2007-7-18 04:12
15812
看了很多关于如何破解FlexLM的中文文文献,也自己动手几个各个版本FlexLM的软件。但关于如何破解Java FlexLM加密的软件的文献还是很少,并且Java的Debug好像与C++等有本地二进制码的可执行程序不太一样。也尝试过用JDebugTool,ODB等Java调试程序来Debug过纯Java程序,但是对那些由.exe调用jar的可执行程序如何调试还是没有头绪。不知那位大仙能给我指点一二,说说在这种情况下改用什么工具,如果由.exe跟进JVM执行的jar等等,最好能举个例子。非常感谢!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 134
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
什么软件来的?
2007-7-19 19:38
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
软件可以在这儿下载
ftp://ftp.insightful.com/outgoing/techsup/IM8/windows.zip

按照“江湖无赖”的方法,我转攻Daemon程序了,发现了Data结构和Job结构,计算出了种子Seed1和Seed2,但是显然这个License 文件是没有用的,因为我的License是ECC加密的,所以我就必须知道_l_pubkey_verify()这个函数把他Patch掉。不过即使这样,也还是不行,好像客户端(Java Flexlm)也有一些验证,还是会提示License失效。大侠给点意见吧。

下面是我制作的License.dat,打过补丁的Daemon可以通过了,但是客户端还是不行(Java Flexlm,我用FileMon追踪过,除了主程序,其它的调用都是.jar),说License格式错误,但我实在不知道如何调试。谢谢帮助。
INCREMENT IMWIN IFUL 1.0 permanent uncounted VENDOR_STRING=IMWN001051 \
        HOSTID=ANY SIGN=9966BD448E54
INCREMENT IMSVRWIN IFUL 1.0 permanent uncounted \
        VENDOR_STRING=IMWN001051 HOSTID=ANY SIGN=5621BF625CEE
2007-7-19 22:51
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
另外,我也分享一个我自己的发现,在用PCF生成的PAT文件中,你可以找到Lib里面的各个函数,查找你需要的函数,再看看行首,这个就是函数调用的代码。例如
用pcf lmgr.lib lmgr.pat生成PAT文件,其中有这么一行(用的是lmgr.lib v10.8.0.10)
558BEC81ECF0000000C745B0000000008B45088B88980100008B91DC1C000083 3E 9DAD 07D9 :0000 _l_pubkey_verify ^005E _oNv11tI8X ^00D4 _kr9ug73f3LU ^0117 _wJROASiUL ^0120 _ec163a02 ^0129 _ec239a03 ^0206 _memset ^0220 _memcpy ^027F _qme3Be ^028E _k7gZXQ ^02EF _aJ4vIc1P ^0390 _ofY8kG6nOk0oWtnSYwA ^04B7 _vk3UKpR0Q_G ^04D5 _xn0odAbwjywX ^050B _spoeGDOzlLb ^05A3 _spFoJzuotGgBs ^05FB _qFja79znkOpAULT10TN ^0688 _sPOnTAXHHJIPV7 ^072B _sLpMO_zVhhXJG_FC6 ........83C4083D5526000075796A1E8B4D0851E8........83C4083D0FD3000074648B550883BA8000000000741733C085C074118B4D088B9180000000899520FFFFFFEB0AC78520FFFFFF8CFFFFFF8B45088B8D20FFFFFF8988800000006A0068FF0000006A006A00681B0200006A8C8B550852E8........83C41CB8D3FFFFFFE9DC0600008B452483E8028945B48B4D24898D1CFFFFFF83BD1CFFFFFF04772F8B951CFFFFFFFF2495........33C0E9AD060000C745A8........EB76C745A8........EB6DC745A8........EB648B450883B88000000000741733C985C974118B55088B8280000000898518FFFFFFEB0AC78518FFFFFFD6FFFFFF8B4D088B9518FFFFFF8991800000006A0068FF0000006A006A0068130200006AD68B450850E8........83C41CB8D6FFFFFFE92E060000837D18407E648B4D0883B98000000000741733D285D274118B45088B8880000000898D14FFFFFFEB0AC78514FFFFFFD6FFFFFF8B55088B8514FFFFFF8982800000006A0068FF0000006A006A0068170200006AD68B4D0851E8........83C41CB8D6FFFFFFE9C40500006A446A008D55BC52E8........83C40C8B45188945BC8B4D18518B5514528D45C050E8........83C40C8B4D088B91980100008B82DC1C000083B858050000000F84860000008B4D088B91980100008B82DC1C00008B8858050000894DA08B55A08B828C0000003B4524750E8B4DA08B55283B919000000074528B45A08B480451E8........83C4048B55A08B420450E8........83C4048B4DA08B510852E8........83C4048B45A050E8........83C4048B4D088B91980100008B82DC1C0000C78058050000000000008B4D088B91980100008B82DC1C000083B858050000000F85EF02000068940000008B4D0851E8........83C4088B55088B8A980100008B91DC1C00008982580500008B45088B88980100008B91DC1C00008B82580500008945A08B4DA0C701........8B55A08B452489828C0000008B4DA08B55288991900000006A486A008B45A083C04450E8........83C40C8B4DA08B55B48B451C8B14908951448B45B48B4D1C8B1481528B45B46BC0288B4D2003C8518B55A083C24852E8........83C40C8B450850E8........83C40489852CFFFFFFC78528FFFFFF00000000EB0F8B8D28FFFFFF83C101898D28FFFFFF8B55B48B451C8B8D28FFFFFF3B0C900F8DDE0000008B952CFFFFFF0FBE0285C075128B4D0851E8........83C40489852CFFFFFF8B9528FFFFFF81E20100008079054A83CAFE4285D275318B45A0038528FFFFFF8B8D2CFFFFFF8A50482A118B45A0038528FFFFFF8850488B8D2CFFFFFF83C101898D2CFFFFFFEB728B8528FFFFFF99B903000000F7F985D275318B55A0039528FFFFFF8B852CFFFFFF8A4A4832088B55A0039528FFFFFF884A488B852CFFFFFF83C00189852CFFFFFFEB2F8B4DA0038D28FFFFFF8B952CFFFFFF8A414802028B4DA0038D28FFFFFF8841488B952CFFFFFF83C20189952CFFFFFFE9FEFEFFFF8B45A083C040508B4DA851E8........83C4088945AC837DAC00741F8B55AC52682A2900008B450850E8........83C40CB88DFFFFFFE9DB0200008B4DA08B5140528B450850E8........83C4088B4DA08941048B55A083C23C528B45A850E8........83C4088945AC837DAC00741F8B4DAC51682B2900008B550852E8........83C40CB88DFFFFFFE9870200008B45A08B483C518B550852E8........83C4088B4DA08941088B55A0C7420C010000008B45A0C74010010000008B4DA0C74118200000008B55A0C74214010000008B45A08B4808518B55A08B4204508B4DA08B513C528B45A08B4840518B55A083C20C528B45A850E8........83C4188945AC837DAC00741F8B4DAC51682C2900008B550852E8........83C40CB88DFFFFFFE9EF010000EB188B45088B88980100008B91DC1C00008B82580500008945A08D8D30FFFFFF518B55A08B420450E8........83C408F7D81BC0F7D88945AC837DAC00741F8B4DAC51682D2900008B550852E8........83C40CB88DFFFFFFE9910100008B45109983E21F03C2C1F8058945B88B4510251F00008079054883C8E040894598C745A400000000EB098B4DA483C101894DA48B55A43B55B87D4E8D8530FFFFFF508B4DA4C1E1058B550C03D1526A208B45A08B480451E8........83C4108945AC837DAC00741F8B55AC52682E2900008B450850E8........83C40CB88DFFFFFFE90A010000EBA1837D9800744E8D8D30FFFFFF518B55B8C1E2058B450C03C2508B4D98518B55A08B420450E8........83C4108945AC837DAC00741F8B4DAC51682F2900008B550852E8........83C40CB88DFFFFFFE9B40000008D459C508D8D30FFFFFF518D55BC528B45A083C044508B4DA08B510452E8........83C4148945AC837DAC00741C8B45AC5068302900008B4D0851E8........83C40CB88DFFFFFFEB6A837D9C0075618B550883BA8000000000741733C085C074118B4D088B9180000000899510FFFFFFEB0AC78510FFFFFFF8FFFFFF8B45088B8D10FFFFFF8988800000006A0068FF0000006A006A0068140200006AF88B550852E8........83C41CB8F8FFFFFFEB038B45B08BE55DC3........................................
如果你搜索pubkey,就会找到这一行,然后,你可以看看行首,558BEC81ECF0000000C745B00000000..........
这样你就可以在你需要分析的Flexlm程序中搜索这个串,这个就是你要找的函数_l_pubkey_verify。这样即使你不会制作sig文件,你也可以手动搜寻各个Flexlm函数调用了。
2007-7-20 03:21
0
雪    币: 134
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你那个seed找错了。正确的seed后,deamon无需补。再看看前人的文章,仔细。
2007-7-20 08:08
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我是按照laoqian的方法找到DATA[0]和DATA[1],以及JOB结构,两组值,计算出的SEED1和SEED2是一样的。我也尝试用FlexWrap大法,但是程序总是不中断,所以此法好像不行。

另外,得出SEED1和SEED2后,是不是只能用SDK来制作LICENSE呀,因为lmCryptGUI好像只能支持到8.0版本。但也有人说,lmCryptGUI制作LICENSE然后Patch掉Pubkey_verify就行了,所以我一此法,当然,也是因为我的SDK总是不能正常工作。

但根据你所得结果,daemon端还是用老的12位签名,我就应该有戏。另外一个关键的问题是,这种情况下,即使找到真正的SEED,我也只能用SDK产生老的12位签名的LICENSE,而不能用lmCryptGUI?如果是的话,哪我就得在好好看看文献以及Flexlm手册让SDK工作起来。谢谢!

再有一个问题,你制作出来的LICENSE,是不是能启动客户端,如果是,我的希望就更大了,我会更有动力努力的学习了。再次谢谢!

另外,我找到的Seed是0x8E9CFD44和0x161ABE34,请帮我核对。谢谢!

我也终于把SDK搞定了,也用SDK中的LMCrypt生成了12位签名的License。但还是说Invalid license key (inconsistent authentication code),我认为这个License是ECC加密的,不是简单的12位签名,所以我还是不得不Patch掉l_pubkey_verify。或者就是向你所说的,我的种子不对。我是属于那种情况呢?谢谢指点。
2007-7-20 15:28
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
没研究过FlexLM,但我想能不能直接修改class跳过验证?
通过exe调用jar的程序可以调试找到java入口类以及参数,然后可以用ODB调试。
ODB调试时classloader已经变了,有些程序无法正常远行(能否正常运行要看程序的写法),这样就要修改class才能进行调试。
2007-7-21 08:47
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
swlepus,请你帮我核对一下我的结果。谢谢!
2007-7-21 22:52
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
终于把License.dat搞定了,可以不用Patch Daemon,但是启动Server后,还是没法通过客户端的检查。我的License结果是
INCREMENT IMWIN IFUL 1.0 permanent uncounted VENDOR_STRING=IMWN001051 \
        HOSTID=ANY SN=1234567890 TS_OK SIGN=8296C4023D90
INCREMENT IMSVRWIN IFUL 1.0 permanent uncounted \
        VENDOR_STRING=IMWN001051 HOSTID=ANY SN=1234567890 TS_OK \
        SIGN=4F945C348E2C
所以我就想用“舵手”的方法找出Java入口类以及参数,然后用ODB调试,但是到目前为止没有结果,看来还得继续努力。还有一个问题是,这个Jar好像是加密的,直接用WinRAR无法打开。有什么其他一些好方法呢?谢谢各位光临指点。
2007-7-24 00:48
0
雪    币: 215
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
你的seed是怎么找出来的?有什么好的办法吗?
2007-7-24 14:44
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我的已经可以了,是我的客户端License文件有语法错误。谢谢大家。至于,如何寻找Seed,我建议你去看看这个论坛里那些大侠们的文章,我可是打印了厚厚的一摞,至少有200页,你如果看完这些文献,就不用问这个问题了。因为那些大侠已经有答案了。
2007-7-24 23:46
0
雪    币: 215
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
我按laoqian的方法找到DATA[0]和DATA[1],不过JOB结构那里全是0,没法使用,可能是找的位置不对吧
2007-7-25 10:53
0
雪    币: 220
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
建议看看“空手剑客”的文章。
2007-7-25 22:52
0
雪    币: 215
活跃值: (12)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
14
Download a JBuilder pirated version, you will find something you want.
2007-12-2 01:48
0
雪    币: 211
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
有的是通过crypt filter的,找到seeds后,找filter函数很困难,但还是可以的。我手上就有一个这样的例子,至今都没有找出filter,虽然seeds已经确认是找到了。
2007-12-3 23:16
0
游客
登录 | 注册 方可回帖
返回
//