首页
社区
课程
招聘
[原创]【新年献礼】一招爆掉FlexLM签名验证
发表于: 2018-12-28 15:01 33254

[原创]【新年献礼】一招爆掉FlexLM签名验证

2018-12-28 15:01
33254

       本人在帖子 https://bbs.pediy.com/thread-248200.htm 中提出了爆破高版本ECC的方法,有坛友觉得不易掌握。作为新年献礼,现提供一种超简单、无论是否含有ECC、适合目前能见到的几乎所有版本的爆破方法:)


        将要爆破的文件拖进IDA Pro;全局查找字符串“SIGN%s=”,共有两个,且在同一函数内; 找到该函数尾部的call语句,把call语句修改为“mov     eax, 1”;你就拥有了全世界:)


        只要伪license文件的格式正确,5字节的修改一定童叟无欺(加壳的除外)



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-12-28 17:52 被yangmyron编辑 ,原因:
上传的附件:
收藏
免费 8
支持
分享
最新回复 (70)
雪    币: 12
活跃值: (180)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
SIGN%s=
是这样吗?
2018-12-28 15:44
0
雪    币: 6116
活跃值: (6756)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
是的,搜索时最好带上双引号
最后于 2018-12-28 17:40 被yangmyron编辑 ,原因:
上传的附件:
2018-12-28 17:35
1
雪    币: 276
活跃值: (167)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Vendor string checksum楼主遇到过吗?最近遇到一个搞不定
2018-12-28 21:27
0
雪    币: 88
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看不懂,能否做个视频
2018-12-30 23:02
0
雪    币: 17
活跃值: (1278)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
找到该函数尾部的call语句,这句话不是很明白,该函数尾部的call语句难道不是_security_check_cookie吗?

2019-1-26 20:18
0
雪    币: 86
活跃值: (1183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
差点一个字节搞定了
2019-1-26 21:09
0
雪    币: 1250
活跃值: (3550)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有空试试看      
2019-1-28 12:22
0
雪    币: 6116
活跃值: (6756)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
张炜 找到该函数尾部的call语句,这句话不是很明白,该函数尾部的call语句难道不是_security_check_cookie吗?
是的,就是修改它!修改 “call    @__security_check_cookie@4 " (x86版)或“call    __security_check_cookie”(x64版)为“mov     eax, 1”
最后于 2019-2-1 11:17 被yangmyron编辑 ,原因:
2019-1-31 09:15
1
雪    币: 6116
活跃值: (6756)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
luzhmu 差点一个字节搞定了
嗯,可惜没找到合适的位置
2019-2-1 11:20
0
雪    币: 136
活跃值: (233)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
patching this call the software should work with a fake license file?
2019-2-5 20:28
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
FlexLM签名是啥玩意 
2019-2-11 08:09
0
雪    币: 205
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
2019-3-4 23:39
0
雪    币: 26
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
請問vendor daemon要一起爆破嗎? 我的目標有一個DLL檔跟一個vendor daemon檔,我把vendor daemon用您的方式爆破後,使用lmtools做 server diags結果lmgrd debug log 出現 Invalid license key (inconsistent authentication code) 錯誤,這是甚麼問題呢? PS: 目標是使用flexlm 11.15


目前問題解決了一半"
daemon的部份,我把 l_pubkey_verify  patch掉,lmtools就可以得到正確的server_diags回應,所有features可以checkout
但是把主程式的dll照樣patch,卻反而使主程式一開起就閃閉。如果DLL不做patch則會出現找不到license 的錯誤。
DLL patch後,主程式視窗會出現然 後立刻關閉,沒有錯誤訊息,目前正在解決這個問題,或許是case 46的部份還是需要patch 也可能。

我自己搞定了。這個目標是用flexlm 11.15, vendor daemon與主程式附帶的一個DLL檔需要爆破。
爆破只要用到樓主上面的方法,再加上之前另一篇文章提到的l_pubkey_verify 兩處爆破即可。
但是我這個目標的主要執行檔對DLL檔有做HASH防止竄改,所以又追蹤了主程式把檢查HASH的地方爆破,可是這樣改完居然還是不行,最後進一步追蹤才發現主程式針對license file中的feature version必須是一個特定值 1.0,我原本用11.4結果不行,這個保護很婊,完全沒有任何錯誤訊息,加上我手邊沒有既有的license.dat, 只能從逆向工程中去一步一步找尋feature name,但是沒想到還是敗在version number, 還好有追出來。
最后于 2019-3-9 19:00 被jackchentw编辑 ,原因: 補充說明
2019-3-8 23:57
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
谢谢,初步验证成功,目标程序版本11.14,32位。 
2019-4-6 19:39
0
雪    币: 7
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
很好,膜拜,期待更好的作品
2019-5-23 22:45
0
雪    币: 233
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
确实可行
2019-5-28 10:45
0
雪    币: 9
活跃值: (1344)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
yangmyron 张炜 找到该函数尾部的call语句,这句话不是很明白,该函数尾部的call语句难道不是_security_check_cookie吗? 是的,就 ...
 大侠,我在用这个方法在linux 64的daemon找不到此特征,11.14
2019-5-30 17:16
0
雪    币: 3
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19

linux下面,可以将函数返回前的xor eax, eax指令改成nop,即31 c0改为90 90



修改前:



修改后:


另外这里或上的值最好是由8改为1,参考源码中L_CONF_FL_VERIFIED define的值是1,


最后于 2019-7-15 23:33 被huzuyi编辑 ,原因:
2019-7-15 23:32
1
雪    币: 236
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
@huzuyi  谢谢,用您的方法在Linux下确实可以用,但有个cvd类型的出现vendor端可以启动license文件,客户端软件能check license,但提示License error.
2019-7-16 13:13
0
雪    币: 162
活跃值: (239)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
zwpcloudy @huzuyi 谢谢,用您的方法在Linux下确实可以用,但有个cvd类型的出现vendor端可以启动license文件,客户端软件能check license,但提示License error.
还有其它校验
2019-8-18 09:46
0
雪    币: 42
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
jackchentw 請問vendor daemon要一起爆破嗎? 我的目標有一個DLL檔跟一個vendor daemon檔,我把vendor dae ...
请教下具体流程,我也遇到了一样的问题。能否告知具体的DLL爆破方法,十分感谢。
2019-12-14 00:53
0
雪    币: 57
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
upload the vendor somewhere.. MEGA is prefered... With SIGN & SIGN2 only way is patch or inject your pubkeys...
2019-12-16 03:30
0
雪    币: 362
活跃值: (225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
使用论坛扫地僧们的方法全部试过了,ECC也patch了;还是有其他验证。搞不定了...不知大家有遇到过相同的问题吗?可以确定的是,license的格式是没有问题的,用的正版license改、加了几个字节而已。




已解决!!!


最后于 2020-1-21 10:57 被Ames_Bond编辑 ,原因:
2020-1-20 10:30
0
雪    币: 362
活跃值: (225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
再更新一件神奇的事情,把安装目录下涉及到Flexlm的dll,jar文件删除后使用正版license启动,依然可以正常使用。软件启动正常,license Checkout正常。可以看到版本信息,授权信息等。

已解决!!!


最后于 2020-1-21 10:39 被Ames_Bond编辑 ,原因:
2020-1-20 11:30
0
游客
登录 | 注册 方可回帖
返回
//