尝试反汇编 FLUENT ADDON 之 SOFC

研究FLUENT ADDON的过程中,通过读取addon.bin编码规则,采用反汇编方法逐步还原SOFC的C源文件。以SOFC为起点,因其提供object文件便于入手。首先,利用dumpbin获取fc.obj的汇编代码,如pull_real_from_cache函数,然后将其转换为C代码,以此方法逐个函数进行。注意,较低版本的dumpbin可能造成反汇编问题,推荐使用高版本工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近研究 FLUENT ADDON 有一些进展,先是读出了 addon.bin 的编码规则,再进一步的话可以利用反汇编来还原出 SOFC 的源文件。


为什么是 SOFC,因为它提供了 object 文件,比较容易入手。


之前因为 rpvar 在并行版中会出现一些问题,而从 sofc.h 可以看到有对 rpvar 的修正,就从这相关的函数开始吧。


步骤其实还比较简单:


1 dumpbin 得到 fc.obj 的汇编代码,以 pull_real_from_cache 函数为例:


汇编代码:


_pull_real_from_cache:
  00001D50: 55                 push        ebp
  00001D51: 8B EC              mov         ebp,esp
  00001D53: 51                 push        ecx
  00001D54: 8B 45 08           mov         eax,dword ptr [ebp+8]
  00001D57: 3B 05 00 00 00 00  cmp         eax,dword ptr [?old_rpvar@?1??pull_real_from_cache@@9@9]
  00001D5D: 75 08              jne         00001D67
  00001D5F: D9 05 00 00 00 00  fld         dword ptr [?old_result@?1??pull_real_fro
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值