[发明专利]基于逆向工程的Xilinx FPGA固核IP破解方法在审
申请号: | 201810051663.4 | 申请日: | 2018-01-19 |
公开(公告)号: | CN108268801A | 公开(公告)日: | 2018-07-10 |
发明(设计)人: | 陈哲;郭世泽;王坚;李桓;杨鍊 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/76 | 分类号: | G06F21/76;G06F21/14 |
代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 李蕊;李林合 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 固核 破解 逆向工程 源代码 比特流文件 形式化验证 防御措施 冗余代码 网表信息 比特流 调用 剔除 加密 知识产权 厂商 配置 发现 开发 | ||
1.基于逆向工程的Xilinx FPGA固核IP破解方法,其特征在于,包括以下步骤:
S1、建立工程,编写Verilog文件作为工程的主文件,使用内核生成器调用待破解固核IP并配置固核IP的相关参数;
S2、获取FPGA中的Wrapper文件,得到待破解固核IP的输入输出端口信息;
S3、根据FPGA可使用输入输出端口数量M和待破解固核IP输入输出端口数量N的大小关系选择不同的破解模式对待破解固核IP进行破解;
S4、获取工程的比特流文件;
S5、采用FPGA逆向工程工具对所述比特流文件进行逆向工程操作,得到工程的Verilog源代码;
S6、根据步骤S3选择的破解模式对所述Verilog源代码进行相应处理,得到待破解固核IP的源代码,从而破解固核IP。
2.根据权利要求1所述的固核IP破解方法,其特征在于,所述步骤S2中待破解固核IP的输入输出端口信息包括待破解固核IP的输入输出端口数量、端口名称和端口位宽。
3.根据权利要求1所述的固核IP破解方法,其特征在于,所述步骤S3具体为:
比较FPGA可使用输入输出端口数量M和待破解固核IP输入输出端口数量N的大小,若M>N则选择直接破解模式对待破解固核IP进行破解,否则选择添加模块破解模式对待破解固核IP进行破解。
4.根据权利要求3所述的固核IP破解方法,其特征在于,所述直接破解模式具体为:
根据步骤S2中得到的待破解固核IP的输入输出端口信息,在步骤S1中编写的Verilog文件中例化待破解固核IP,使得待破解固核IP的输入输出端口与主文件的输入输出端口直接相连。
5.根据权利要求3所述的固核IP破解方法,其特征在于,所述添加模块破解模式具体为:
在待破解固核IP的输入端口添加mid1模块,所述mid1模块的输入端口与主文件的输入端口相连,其输出端口和待破解固核IP的输入端口相连;在待破解固核IP的输出端口添加mid2模块,所述mid2模块的输入端口待破解固核IP的输出端口相连,其输出端口与主文件的输出端口相连。
6.根据权利要求5所述的固核IP破解方法,其特征在于,所述mid1模块为一个译码器,其译码方式为:将二进制码转换为m中取1码,根据待破解固核IP的输入端口数m,确定mid1模块选择的译码器类型为所述mid2模块为一个编码器,其编码方式为:将n中取1码还原为二进制编码,根据待破解固核IP的输出端口数n,确定mid2模块选择的编码器类型为为向下取整运算。
7.根据权利要求6所述的固核IP破解方法,其特征在于,所述mid1模块的输入端口还包括一个时钟输入端口CLK和一个复位端口Reset。
8.根据权利要求5所述的固核IP破解方法,其特征在于,所述步骤S6具体为:
若步骤S3中选择的直接破解模式,则步骤S5中得到的Verilog源代码即为待破解固核IP的源代码;若步骤S3中选择的添加模块破解模式,则对步骤S5中得到的Verilog源代码进行形式化验证,剔除掉mid1模块和mid2模块的代码,得到待破解固核IP的源代码,从而破解固核IP。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810051663.4/1.html,转载请声明来源钻瓜专利网。