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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
123
返回列表 发新帖
楼主: chenxinkai

用WSL2安装$家2022 EDA工具过程分享

[复制链接]
 楼主| 发表于 2025-1-14 07:33:31 | 显示全部楼层
本帖最后由 chenxinkai 于 2025-1-14 07:38 编辑


joshua2784920 发表于 2025-1-13 17:07
To disassemble all executable binary files in the installed directory, locate the l_pubkey_ver ...


试了一下,安装后的二进制文件用SFK并不能找到你提到的pattern。change 55 to 31是指什么? 似乎也还是找不到pattern。
发表于 2025-1-14 09:35:27 | 显示全部楼层
Mark,感谢分享。
发表于 2025-1-14 15:20:53 | 显示全部楼层


chenxinkai 发表于 2025-1-14 07:33
试了一下,安装后的二进制文件用SFK并不能找到你提到的pattern。change 55 to 31是指什么? 似乎也还是找 ...






The pattern is not a binary for verdi .

And .....

It is described as scl_lc_checkout_example.
The term "example" means that it is not actual data.
You need to disassemble Verdi to locate the scl_lc_checkout and l_pubkey_verify routines.
Additionally, 55 refers to the first binary of the respective routine, and 31 represents the binary for ret.
This implies that by returning on the first execution of the scl_lc_checkout and l_pubkey_verify routines, those routines will not be executed.
Therefore, the first binary of the scl_lc_checkout and l_pubkey_verify routines may not always be 55.
Furthermore, the disassembled code of the scl_lc_checkout and l_pubkey_verify routines may vary depending on the executable binary file.
As a result, you need to disassemble all executable binaries, extract the scl_lc_checkout and l_pubkey_verify routines for a fixed length, and create replacement patterns.
The fixed length is necessary to avoid confusion with other executable binaries.
Once all the work is completed and patches have been applied, you should disassemble again and compare the patched disassembled code with the original to ensure that only the scl_lc_checkout and l_pubkey_verify routines have been patched.
If more than one patch occurs in a single file, it means that the patch pattern creation is incorrect, as each file should contain only one scl_lc_checkout routine and one l_pubkey_verify routine.



 楼主| 发表于 2025-1-15 11:06:17 | 显示全部楼层
感谢您的耐心回答复, 我感觉下面的回复私信比较好。

总结一下您的回复,
1)VCS编译延时是license的SIGN问题,现在无解
2)VCS运行延时需要patch 所有二进制文件中的l_pubkey_verify 和 scl_lc_checkout子程序,使其第1个字节为retn
3)  匹配的二进制代码要足够长,使每个文件只被匹配一次,防止误改了其他子程序

有些问题:
在x86_64架构中,子程序,如果l_pubkey_verify的第1条指令0x55(push rbp),这是可以理解的(因为子程序要压栈),但是retn指令是0xC3,  而不是0x31(xor)
应该替换成0xC3而不是0x31吧
发表于 6 天前 | 显示全部楼层
正在头疼如何用一个电脑解决所有问题,就看到了这个完美解决方案,强,如果我有2022的版本一定要试一下,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-3-6 20:44 , Processed in 0.018776 second(s), 6 queries , Gzip On, Redis On.

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