最近研究 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