null1722 发表于 2020-3-1 23:31

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搜索破解修改点附近的几个汇编指令:


将修改过后的汇编指令写入并保存:


至此,破解完成

null1722 发表于 2020-3-3 14:50

52lxl 发表于 2020-3-3 11:45
看起来很容易啊

我也没想到这么容易,本想大干一场,没想到才翻出第一个修改点,一改,居然就成了- - {:1_907:}

null1722 发表于 2020-3-6 07:40

jixun66 发表于 2020-3-6 05:00
将破解成果"打补丁"到目标exe上:

按下 Ctrl-P 就行,不用手动对照外部程序改

吃惊,还有这种操作,见识了

★☆CNVIP☆★ 发表于 2020-3-2 22:27

支持一下

TMTT 发表于 2020-3-2 22:51

支持原创教程分享。

bjxiaoyao 发表于 2020-3-2 23:20

厉害~感谢楼主分享

LjeA 发表于 2020-3-2 23:29

学习了,谢谢楼主

qaz003 发表于 2020-3-3 00:49

哗,涨姿势了,这个倒是第一次见。。

不苦小和尚 发表于 2020-3-3 08:47

有点简单,但是通俗易懂

WX2886 发表于 2020-3-3 08:59

学习学习

disth 发表于 2020-3-3 09:34

看样子像是新版的FLEXNET加密。。。。。。。。。。。。。。。不过好久不玩FLEXLM了。。。。。。。。。。。。。。。。。。

lfinfo 发表于 2020-3-3 09:35

涨知识~学习了!
页: [1] 2
查看完整版本: x64dbg解除国产FPGA开发工具TD的"定期报到"限制