I work on a PE file and I try to interpret this line in IDA :
v4 = *(_DWORD *)((char *)LibraryA + *((_DWORD *)LibraryA + 15) + 120);
LibraryA is the base address of the PE file
*((_DWORD *)LibraryA + 15) is equivalent to *(LibraryA + 60) = *(LibraryA + 0x3C) = *(LibraryA + e_lfanew) = 0x100 = PEOffset
Thus *((_DWORD *)LibraryA + 15) + 120 points to the export directory according to CFF Explorer
When I use CFF explorer > Nt header > Optional header > Data directories > Export table address = 0x178 = 0x100 (PE offset) + 0x78 (export table address)
But when I use the msdn doc https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#optional-header-data-directories-image-only I see the PE offset for the Export Table is 96 (0x60) instead of the value found in CFF Explorer : 120 (0x78)
I think I'm wrong when I use the msdn doc but I don't figure out where ?
