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

[原创] FlexLM ECC 的一字节Patch

2020-11-16 17:47
3533

      论坛上有坛友一直追求一字节的改动来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文件并保存即可



[培训] 优秀毕业生寄语:恭喜id:一颗金柚子获得阿里offer《安卓高级研修班》火热招生!!!

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

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

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

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

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

难道你运气不佳?

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

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

那就是改两个字节了

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

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

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

here it is


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

你确信是第三步找不到?


第二步,你会吧



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


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


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

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

最后于 2020-11-23 13:13 被考拉编辑 ,原因:
雪    币: 1294
活跃值: 活跃值 (1437)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yangmyron 活跃值 2020-11-24 17:32
14
0
无效也正常,这个仅相当于Patch函数l_pubkey_verify
雪    币: 62
活跃值: 活跃值 (138)
能力值: ( 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呢

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

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


上传的附件:
  • demo (1.24MB,7次下载)
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_sbdalgrk 活跃值 2021-4-1 16:58
18
0
意思是说这个没有l_pubkey_verify,没有ECC么?
雪    币: 222
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_ray_724 活跃值 2021-5-21 16:06
19
0
请问patch许可服务应用程序和客户端方法一样吗?用论坛里面patch函数l_pubkey_verify,许可服务能够正常运行,但是客户端的就不行
游客
登录 | 注册 方可回帖
返回