在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3190|回复: 27

Synopsys DesignWare IP解包

[复制链接]
发表于 2024-1-28 17:10:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x



转给需要的

——以 dwc_32g_phy_tsmc16ffc_x4ns_2.00为例
一.简单的了解
DesignWare IP都是以.run文件的形式分发,需要 synopsys分发的 license和
pid才能进行解包和进一步开发。
DesignWare IP分发时按客户购买 IP分发,IP及文档中没有水印和用户特定
标识可以随便交流。
二.解包
(此方法截至 20212年发布的 IP仍有效)
需要文件及工具:
1. synopsys dw_ip
2. IDA Pro或者其他用的顺手的逆向工具
3. Centos WSL或者 synopsys支持的 Linux
4. Vim或者其他文字编辑器(能编辑 1G 以上文件的最好,.run 有贼大的)
Step 1:
用编辑器打开 run文件,搜索函数 dwGetExtractionDir(979行)修改,
  a:
    sub dwGetExtractorDir{
       return “/mnt/h/dwe5”;<==指定一个文件夹,需要存在。为方便暂记为    dir_dwe
    }
  b:搜索并注释所有含有 unlink的命令,保村
Step2:
    第一次运行,要求输入 pid随便输几个字,一定会报错
    ./dwc_32g_phy_tsmc16ffc_x4ns_2.00b.run--dir ./ip_ext
Step3:
转战 dir_dwe
.

── bin
│├
── dw_extract
│ └── dw_extract.linux64
└── shlib
└── libstdc++.so.6
(目录结构可能不一样,但重点是 dw_extract.linux64)
用 IDAPro打开 dw_extract.linux64(有时 dir_dwe不存在目录结构 dir_dwe下
直接是 dw_extract.linux64)
1.搜索函数 scl_lc_checkout直接在”Function name”搜索函数名或搜索二进制{83 F8 FC 74 05 83 F8 E8 75 AA }找到函数尾,patch之使 eax返回 0,多余字节 nop补齐
2.转至 sclIsValidProject可以搜索二进制{55 48 89 E5 41 57 49 89 D7 41 5641 55 41 54 49 89 CC 53 48 83 EC58 48 8975 90 48 89 7D 98 4C}来确定
定位到函数尾 moveax,ebx改成 xor eax,eax
一种简单的方法 dw_extract大致分为三种:大小分别为 5303 6586 7642KB。这三种相互独立不能混用。附件里有和谐好的三种 dw_extract,用和谐好的 dw_extract替代 DesignWare IP解压出来 dw_extract即可
3.保存更改
Step3:修改 run中的 dwUnpackExtractor函数
改成这样
sub dwUnpackExtractor{
return “/mnt/h/dwe5/bin/dw_extract”;<====指向/mnt/h/dwe5中的
dw_extract(不是 dw_extract.linux二级制文件,是一个脚本文件)
}
Step4:
第二次运行,IP就解出来了


dw_extract.linux64.7z

4.33 MB, 下载次数: 414 , 下载积分: 资产 -3 信元, 下载支出 3 信元

5

发表于 2024-1-28 18:46:09 | 显示全部楼层
感谢分享
发表于 2024-1-28 19:48:40 | 显示全部楼层
htnaks
发表于 2024-1-28 20:23:26 | 显示全部楼层
艹, 强啊
发表于 2024-1-28 20:42:34 | 显示全部楼层
这东西别人发布很久了,很多ip会产生校验错误
发表于 2024-1-28 22:10:29 | 显示全部楼层
Thanks for sharing...
发表于 2024-1-28 23:25:23 | 显示全部楼层
尝试解axi_2020.03a的iip,解不出来,最后一步的时候就挂住了没反应,有解出来的大佬吗?
发表于 2024-1-28 23:25:50 | 显示全部楼层
thanks
发表于 2024-1-29 16:09:34 | 显示全部楼层
感谢分享
发表于 2024-1-31 15:22:58 | 显示全部楼层
多谢楼组分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 07:26 , Processed in 0.029184 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表