It is possible to find which DLL files are needed for a windows binary or library in Linux.
To do this, you can use standard objdump utility if it supports PE format or you can install mingw cross compiler toolchains and run objdump within mingw:
$ objdump --private-headers my-binary.exe | grep "DLL Name"
DLL Name: ADVAPI32.dll
DLL Name: CRYPT32.dll
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: USER32.dll
DLL Name: WS2_32.dll
or
$ sudo apt install mingw-w64
$ x86_64-w64-mingw32-objdump --private-headers my-binary.exe | grep "DLL Name"
DLL Name: ADVAPI32.dll
DLL Name: CRYPT32.dll
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: USER32.dll
DLL Name: WS2_32.dll
You can also pipe output to a pager and look at the functions provided by a DLL or used within a binary from other DLL’s inside of Tables sections:
$ objdump -p my-binary.exe | less
...
The Import Tables (interpreted .idata section contents)
vma: Hint Time Forward DLL First
Table Stamp Chain Name Thunk
00483000 004830a0 00000000 00000000 00485570 00483a20
DLL Name: ADVAPI32.dll
vma: Hint/Ord Member-Name Bound-To
4843a0 1195 CryptAcquireContextW
4843b8 1197 CryptCreateHash
4843ca 1198 CryptDecrypt
or
$ objdump -p mylibrary.dll | less
...
[Ordinal/Name Pointer] Table
[ 0] getDomainStatus
[ 1] utils_load
[ 2] utils_unload