首页
社区
课程
招聘
[原创] FlexLM ECC 的一字节Patch
2020-11-16 17:47 22613

[原创] FlexLM ECC 的一字节Patch

2020-11-16 17:47
22613

      论坛上有坛友一直追求一字节的改动来Patch FlexLM ECC。理论上是可行的,就是修改验证Ry的地方。实践上可以这样操作:


1) 查找 字符 292Ah,定位l_pubkey_verify函数

2)在l_pubkey_verify函数尾部找到“mov eax,【ebp+xxx】”分支,不能是0FFFFFFxxh

3)沿该分支向上找到第一个call的函数,双击该函数名

4)到该函数尾部找到“xor eax,eax”分支,沿该分支向上找到第一个call的函数,双击该函数名

5)到该函数尾部找到类似“setz    al”分支, 沿该分支向上找到第一个call的函数,双击该函数名
6)该函数很短,里面有一个小循环,就是比较Ry的,前面对再往后比较。直接把类似“cmp     edx, eax”后面的jz改成jmp,Patch文件并保存即可



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

收藏
点赞2
打赏
分享
最新回复 (32)
雪    币: 11260
活跃值: (4008)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xie风腾 2020-11-17 10:13
2
0

"查找 字符 292Ah"楼主这句真不懂.292Ah应该不是字符吧
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-17 13:16
3
0
xie风腾 [em_5] "查找 字符 292Ah"楼主这句真不懂.292Ah应该不是字符吧

难道应该说 “数值”? text!不是都作为“字符”来搜索吗?

最后于 2020-11-17 13:19 被yangmyron编辑 ,原因:
雪    币: 11260
活跃值: (4008)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xie风腾 2020-11-17 13:18
4
0

楼主,在IDA里,查找 字符 292Ah结果是空的,所以感觉不是找字符哟
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-17 13:22
5
1
xie风腾 [em_5] 楼主,在IDA里,查找 字符 292Ah结果是空的,所以感觉不是找字符哟

难道你运气不佳?

雪    币: 11260
活跃值: (4008)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xie风腾 2020-11-17 14:03
6
0

应该不是运气问题,是太菜了
向楼主这样的大牛学习中
非常感谢解答!
雪    币: 11600
活跃值: (3115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
email123 2020-11-18 08:50
7
0
不通用,到第三步就对不上号了
雪    币: 957
活跃值: (2510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
考拉 2020-11-18 09:43
8
0
cmp     eax, eax直接自己比较自己就好了
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-18 11:59
9
0
考拉 cmp     eax, eax直接自己比较自己就好了[em_13]

那就是改两个字节了

最后于 2020-11-18 12:03 被yangmyron编辑 ,原因:
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-18 12:01
10
0
email123 不通用,到第三步就对不上号了[em_1]

太早的版本可能有差异,但也能找到类似的地方。不如上个文件看看?

最后于 2020-11-18 12:02 被yangmyron编辑 ,原因:
雪    币: 11600
活跃值: (3115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
email123 2020-11-18 14:21
11
0

here it is


最后于 2020-11-19 10:36 被email123编辑 ,原因:
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-18 16:42
12
0
email123 here it is

你确信是第三步找不到?


第二步,你会吧



我倒怀疑你是第四步找不到


最后要修改的位置在这儿,但怎么改你要琢磨了,别发懵哟


最后于 2020-11-18 16:55 被yangmyron编辑 ,原因:
雪    币: 957
活跃值: (2510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
考拉 2020-11-23 13:10
13
0

经测试在某eda软件flexlm 11.15上面方法无效,不知是不是通病

最后于 2020-11-23 13:13 被考拉编辑 ,原因:
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2020-11-24 17:32
14
0
无效也正常,这个仅相当于Patch函数l_pubkey_verify
雪    币: 42
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_nxxnhzzc 2020-12-5 12:45
15
0
求大神研究下SLB
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_sbdalgrk 2021-4-1 11:10
16
0

freebsd 上的lmgrd 用这个方法找不到这个292Ah呢

上传的附件:
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2021-4-1 15:54
17
0
mb_sbdalgrk freebsd 上的lmgrd 用这个方法找不到这个292Ah呢

只能说你的这个确实不符合(因为它根本没有那个函数)。给你一个标准的例子(Linux_lsb,32位),你看看吧


上传的附件:
  • demo (1.24MB,33次下载)
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_sbdalgrk 2021-4-1 16:58
18
0
意思是说这个没有l_pubkey_verify,没有ECC么?
雪    币: 226
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_ray_724 2021-5-21 16:06
19
0
请问patch许可服务应用程序和客户端方法一样吗?用论坛里面patch函数l_pubkey_verify,许可服务能够正常运行,但是客户端的就不行
雪    币: 226
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_ray_724 2021-9-27 00:27
20
0
请教大神,对于FlexNet v11.16的patch如何操作,如附件
上传的附件:
雪    币: 5292
活跃值: (5917)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 2021-9-27 11:10
21
0

方法未变

雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
流浪的樵夫 2021-10-28 16:13
22
0
大神,有偿怎么联系你?私信不了
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_from future 2021-12-17 22:46
23
0
按照上面的改了一下,程序直接提示lic无效,
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_from future 2021-12-17 22:52
24
0

在往下不知该怎么办了。

雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_from future 2021-12-17 23:21
25
0

又仔细找了一下


这儿怎么改?

游客
登录 | 注册 方可回帖
返回