lrn / ntldd Goto Github PK
View Code? Open in Web Editor NEWTracks dependencies for Windows EXE and DLL PE-files (Portable Executable), resembles ldd from libc
Tracks dependencies for Windows EXE and DLL PE-files (Portable Executable), resembles ldd from libc
You should not be comparing the machine type with IMAGE_FILE_MACHINE_I386 to find out if it is 32 or 64 bit, you should check the Magic member of IMAGE_OPTIONAL_HEADER. The current code would fail on 32-bit ARM files and old rare stuff like Alpha and Power PC.
Hello,
It seems your tool misses some dlls:
$ ./ntldd.exe /usr/i686-w64-mingw32/bin/Qt5Network.dll
Qt5Core.dll => Z:\usr\i686-w64-mingw32\bin\Qt5Core.dll (0x0000000000800000)
ADVAPI32.dll => not found
CRYPT32.dll => not found
DNSAPI.dll => not found
libgcc_s_sjlj-1.dll => Z:\usr\i686-w64-mingw32\bin\libgcc_s_sjlj-1.dll (0x0000000000340000)
IPHLPAPI.DLL => not found
KERNEL32.dll => not found
msvcrt.dll => not found
libstdc++-6.dll => Z:\usr\i686-w64-mingw32\bin\libstdc++-6.dll (0x0000000000ce0000)
WS2_32.dll => not found
zlib1.dll => Z:\usr\i686-w64-mingw32\bin\zlib1.dll (0x0000000000340000)
I noticed because I'm working on a similar tool in Python (https://github.com/xantares/mingw-ldd):
$ python dependency.py /usr/i686-w64-mingw32/bin/Qt5Network.dll
Arch = i386
Using default prefix /usr/i686-w64-mingw32/bin
/usr/i686-w64-mingw32/bin/Qt5Core.dll
/usr/i686-w64-mingw32/bin/libgcc_s_sjlj-1.dll
/usr/i686-w64-mingw32/bin/libwinpthread-1.dll
/usr/i686-w64-mingw32/bin/libiconv-2.dll
/usr/i686-w64-mingw32/bin/libpcre2-16-0.dll
/usr/i686-w64-mingw32/bin/libstdc++-6.dll
/usr/i686-w64-mingw32/bin/zlib1.dll
The following dependencies not found:
ADVAPI32.dll
KERNEL32.dll
msvcrt.dll
MPR.DLL
NETAPI32.dll
ole32.dll
SHELL32.dll
USER32.dll
USERENV.dll
VERSION.dll
WINMM.DLL
WS2_32.dll
CRYPT32.dll
DNSAPI.dll
IPHLPAPI.DLL
For very complex cases it misses a whole lot more.
Hi
I got MinGW installed on my Windows Vista Machine. Now I am trying to install ntldd but it fails:
C:\Users\zdavatz\software\ntldd>makeldd.cmd
results in:
C:\Users\zdavatz\software\ntldd>gcc -fno-common -g -O3 -Wall ntldd.c -limagehlp -o ntldd.exe
C:\Users\zdavatz\AppData\Local\Temp\ccyWmhI1.o: In function `main':
C:\Users\zdavatz\software\ntldd/ntldd.c:164: undefined reference to `AddDep'
C:\Users\zdavatz\software\ntldd/ntldd.c:165: undefined reference to `BuildDepTree'
C:\Users\zdavatz\software\ntldd/ntldd.c:167: undefined reference to `ClearDepStatus'
C:\Users\zdavatz\software\ntldd/ntldd.c:167: undefined reference to `ClearDepStatus'
collect2: ld returned 1 exit status
any hints?
Best
Zeno
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.