API 调用 ida pro (fortran) 中的文档

逆向工程 艾达
2021-07-12 00:37:23

我正在逆向一个应用程序,发现它有很多调用,例如: for_write_int_fmt_xmit((__int64)&v1041, 9069724LL, (char *)&v707, v166);

结果 = for_write_seq_lis((unsigned __int64)&v46); for_dealloc_allocable(*(void **)(retaddr - 296));

我正在使用 ida pro,但是我想知道这些函数的作用及其 api 文档。有人可以帮我吗?应用程序中有很多,我认为它们应该在一本手册中,但没有找到

for_close
for__close_args
for__close_default
for__close_proc
for__desc_ret_item
for__key_desc_ret_item
for__desc_test_item
for__desc_zero_length_item
for__this_image_number_or_zero
for__io_return
for__issue_diagnostic
for__get_msg
for_emit_diagnostic

2个回答

Guntram 的回答表明这些是来自英特尔 Fortran 编译器的库函数。正如他所说,它们是内部职能,因此没有公开记录。然而,这并不意味着我们无法找到这些函数背后的代码。

您可以从https://software.intel.com/en-us/fortran-compilers/try-buy下载英特尔 Fortran 编译器

然后,您可以.objIFCORE库中提取文件以查找上面列出的函数背后的代码。例如,代码for__key_desc_test_item()for_desc_item.objin 中libifcore.lib

libifcore.lib

使用Hex-Rays反编译产生:

for__desc_test_item

这些似乎是来自 intel fortran 编译器的内部库例程。有一些在线文档可用,其中列出了一些for_*函数(检查菜单中的语言参考/AZ 参考,然后是右侧的Miscellaneous Run-Time Routines),但这不包括您的函数。

我假设它们由运行时库在内部使用,并且没有记录用于一般用途。