欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]针对FlexLM V11.11以上版本的ECC Patch方法

[原创]针对FlexLM V11.11以上版本的ECC Patch方法

       在本论坛里看到部分朋友对FlexLM V11.11以上版本的ECC Patch的方法和步骤感到困惑,认为老方法可能不好使了。通过我的研究发现V11.11以上版本需要Patch两个地方才能达到任意许可都不需要验证的效果。第一个地方大神们早就给出了方法,就是Patch函数l_pubkey_verify的返回值;第二个地方有部分坛友提到,但没有总结出好的定位办法。我就不谈原理,直接把两个Patch地址的定位方法做一总结,与大家分享!


工具材料:IDA Pro V7.0 (含插件Keypatch), UltraEdit

参考资料:各位大神在本论坛的神贴,不再一一列举


第一个地方:

(Patch函数l_pubkey_verify的返回值, 全文参考附件文档)


第二个地方:

1) 在IDA中查找字符串“case 46“,一般会找到5个左右。


2)双击每一个找到的“case 46“,在小Graph Overview窗口观察显示,细长型的那个才是我们要的,这点很重要!而且在大IDA-View窗口能同时看到附近有”case 47“的存在,一般对应上面找到的第二个“case 46“(不排除有例外情况)。


3)在大IDA-View窗口拖动流程图,沿“case 46“的绿色分支观察,其中有一个call调用的函数。沿“case 47“的的红色再到绿色分支中也有call调用这个函数。这个函数就是我们要Patch的目标函数。


4)双击该函数,到该函数的头部。直接从Push ebp开始修改为”xor eax, eax”和“retn“。(在x64里,因为没有Push语句,直接从mov语句开始修改)


5)利用IDA的Production File生成dif文件,用UltraEdit修改相应的字节值即完成Pacher。


上传的附件 针对FlexLM V11.11以上版本的ECC Pacth方法.pdf
xxxx_1115_x64.exe
xxxx_1115_x86.exe

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功