能力值:
( LV2,RANK:10 )
|
-
-
2 楼
 不会玩这个,等大牛来解答
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
3 楼
通常情况是找错了 patch 位置,导致函数堆栈失衡,从而出错。楼主,你在 patch 前至少要找到被 patch 函数的入口和出口,看上一眼反汇编代码核实一下对错吧?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
不是33 C0 C3吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
老伙计
通常情况是找错了 patch 位置,导致函数堆栈失衡,从而出错。楼主,你在 patch 前至少要找到被 patch 函数的入口和出口,看上一眼反汇编代码核实一下对错吧?
谢谢老伙计指点,确认找到了l_pubkey_verify的位置,就是在函数第一条指令处,修改为 31c0c3,以前版本没有问题,现在11.16就不行了,初步对比了一下新旧版本,l_pubkey_verify入口指令没有区别。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
wztuxw
不是33 C0 C3吗?
貌似31c0c3也是一样的,指令代码都是 xor %eax,%eax retq
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
在老伙计的指点下,对比了一下11.14和11.16两个版本的 l_pubkey_verify,反汇编出来的指令一摸一样,看来问题,出在 返回后的其它函数导致的core dump,11.14 31c0c3直接返回可以,11.16版本下, 31c0c3 直接返回的话,可能导致后续函数的执行出现了coredump。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼

|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
贴图重复了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
push r15 mov r15, rcx push r14 mov r14d, r8d push r13 push r12 mov r12d, edx push rbp push rbx mov rbx, rdi
最后于 2021-4-4 22:51
被厉害了我的谁编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
厉害了我的谁
push r15mov ...
厉害哥,谢谢指点,请问,这段指令加在哪里?加在 l_pubkey_verify 最前面吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我手上刚好有个 64 bit Linux flexnet v11.16.2.0 的文件, 这是它的 l_pubkey_verify 开始的几个指令, 给你参考或比对一下。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
厉害了我的谁
我手上刚好有个 64 bit Linux flexnet v11.16.2.0 的文件, 这是它的 l_pubkey_verify 开始的几个指令, 给你参考或比对一下。
哦哦,谢谢厉害哥,我这个是linux版的 V11.16.5.0,看起来这个函数的差异还挺大的呢?单看这个函数,在我这个软件里,和以前的11.14.0.1版本的没有差异,我逐行对比了
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
厉害了我的谁
我手上刚好有个 64 bit Linux flexnet v11.16.2.0 的文件, 这是它的 l_pubkey_verify 开始的几个指令, 给你参考或比对一下。
厉害兄,请问:如果采用替换pubkey,生成自己的license,是不是就不用patch l_pubkey_verify 了呢? 以前,我一般采用patch l_pubkey_verify 之后,采用12位SIGN的方式,目前版本11.16后,只一个办法不好用了,折腾了几天没有任何进展,盼厉害兄指点迷津,事成之后,必有致谢!!
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
daemonix
哦哦,谢谢厉害哥,我这个是linux版的 V11.16.5.0,看起来这个函数的差异还挺大的呢?单看这个函数,在我这个软件里,和以前的11.14.0.1版本的没有差异,我逐行对比了[em_10] 厉害兄指的位置是对的。我一直观察到版本v11.17.2(目前最新时V11.18.0 , https://community.flexera.com/t5/FlexNet-Publisher-News/Product-News-FlexNet-Publisher-2021-R1-11-18-0-is-Now-Available/ba-p/179201/jump-to/first-unread-message),该函数没明显变化。已私信你
最后于 2021-4-6 10:03
被yangmyron编辑
,原因:
|
能力值:
( LV3,RANK:30 )
|
-
-
16 楼
daemonix
厉害兄,请问:如果采用替换pubkey,生成自己的license,是不是就不用patch l_pubkey_verify 了呢?
以前,我一般采用patch l_pubkey_verify 之后, ...
替换pubkey生成自己的license就不需要patch了。但你说的采用patch l_pubkey_verify 之后,采用12位SIGN的方式验证,只是把原本的ECC验证强制改为Flexlm的一般验证,跟真正的pubkey替换还不是一码事
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
yangmyron
替换pubkey生成自己的license就不需要patch了。但你说的采用patch l_pubkey_verify 之后,采用12位SIGN的方式验证,只是把原本的ECC验证强制改为Flexlm的一 ...
谢谢 yangmyron 兄的回复,守护神这边,貌似没有问题,我给的 12位 SIGN license在11.14和11.16下都能够验证通过,应用端申请许可证时,守护神也有应答 OUT /IN,我感觉还是在应用端的问题,不patch正常报告 status: -8, reason: Bad encryption code,patch 31c0c3之后运行就coredump,我能找到 l_pubkey_verify的位置,确任没有patch错地方,并且在11.14下,应用端patch是正确的。 麻烦 yangmyron 判断一下,问题可能出在哪里呢?
|
能力值:
( LV3,RANK:30 )
|
-
-
18 楼
daemonix
谢谢 yangmyron 兄的回复,守护神这边,貌似没有问题,我给的 12位 SIGN license在11.14和11.16下都能够验证通过,应用端申请许可证时,守护神也有应答 OUT /IN,我感 ...
你把安装好的程序打包放百度网盘上发给我看看。守护神有应答说明服务端没问题,而客户端千差万别,可能有各种暗桩,不分析怎么可能知道问题在哪
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
yangmyron
你把安装好的程序打包放百度网盘上发给我看看。守护神有应答说明服务端没问题,而客户端千差万别,可能有各种暗桩,不分析怎么可能知道问题在哪
已发,请查收,多谢!
|
能力值:
( LV3,RANK:30 )
|
-
-
20 楼
楼主误导大家了,根本不是V11.16版,是较早的v11.3版
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
yangmyron
楼主误导大家了,根本不是V11.16版,是较早的v11.3版
高人  ,惭愧~~~我是用 lmver lmgrd 看的版本号
|
能力值:
( LV3,RANK:20 )
在线值:
|
-
-
22 楼
11.16 patch函数头部会导致程序运行保错。可以在函数里面改跳转流程。
|
能力值:
( LV7,RANK:100 )
|
-
-
23 楼
可以试试这么改
public lc_checkout lc_checkout proc near
var_28= qword ptr -28h var_20= dword ptr -20h var_1C= dword ptr -1Ch var_18= qword ptr -18h var_10= qword ptr -10h var_8= qword ptr -8
; __unwind { push rbp mov rbp, rsp mov [rbp+var_8], rdi mov [rbp+var_10], rsi mov [rbp+var_18], rdx mov [rbp+var_1C], ecx mov [rbp+var_20], r8d mov [rbp+var_28], r9 mov eax, 0 pop rbp retn ; } // starts at 40052D lc_checkout endp
最后于 2021-8-16 00:13
被ericyudatou编辑
,原因:
|
|
|