x64dbg解除国产FPGA开发工具TD的"定期报到"限制
最近听说居然有国产的FPGA芯片,而且配置还不错,买了块来测试,结果发现开发工具需要跟官方申请很久才能拿到,而且拿到以后每隔一段时间还得去重新要一个许可文件,才能正常使用(这个倒是免费,但是很麻烦),遂决定自己动手帮他去掉这个限制.打开od发现载入不了,才想起来这玩意是64位的,od的64位似乎还有很多问题,经过搜索,发现有另一个工具x64dbg似乎不错.遂下载来使用,
# 确认破解前状态
首先测下许可文件过期会有什么提示,这一步的操作可以给自己明确一个破解的标准,以这个标准判断破解有没有成功:
打开软件界面,载入个测试工程.
这是许可文件Anlogic.lic,可以看到已经过期:
尝试编译,提示"许可文件过期":
于是破解目标确认:让这个提示消失
# 打开x64dbg载入程序
打开以后需要按几下F9运行,才能跑到TD领空,注意观察软件的标题栏,显示程序名的时候就说明CPU执行到程序领空了
# 找到程序里面进行许可验证的函数
使用查找字符串功能:
x64dbg会把程序里面所有可能是字符串的内存块都列出来,这个过程比较缓慢.
内容太多,可以在下面输入Anlogic.lic许可文件的名字进行过滤:
可以发现,过滤后只有1个结果,就是它了!
双击字符串可跳转到程序某处:
可以看到这里一长串很有可能是一个验证许可文件是否合格的函数,我们拉到最后打个断点试试:
运行测试
可以看到此处被断下,EAX为1
遂猜测: 1表示验证失败,0表示验证成功
# 破解操作
对个RET进行汇编修改,在前面插入一行XOR EAX,EAX
再次运行:
# 测试
通过验证:
# 将破解成果"打补丁"到目标exe上:
用hex编辑工具,打开目标exe搜索破解修改点附近的几个汇编指令:
将修改过后的汇编指令写入并保存:
至此,破解完成 52lxl 发表于 2020-3-3 11:45
看起来很容易啊
我也没想到这么容易,本想大干一场,没想到才翻出第一个修改点,一改,居然就成了- - {:1_907:} jixun66 发表于 2020-3-6 05:00
将破解成果"打补丁"到目标exe上:
按下 Ctrl-P 就行,不用手动对照外部程序改
吃惊,还有这种操作,见识了 支持一下 支持原创教程分享。 厉害~感谢楼主分享 学习了,谢谢楼主 哗,涨姿势了,这个倒是第一次见。。 有点简单,但是通俗易懂 学习学习 看样子像是新版的FLEXNET加密。。。。。。。。。。。。。。。不过好久不玩FLEXLM了。。。。。。。。。。。。。。。。。。 涨知识~学习了!
页:
[1]
2