Czy jest dostępna przeglądarka bezpłatnych funkcji eksportu plików DLL systemu Windows, która wyświetla nazwę funkcji i listę ich parametrów?Czy istnieje jakakolwiek przeglądarka funkcji eksportu natywnego DLL?
Odpowiedz
można użyć Dependency Walker, aby wyświetlić nazwę funkcji. możesz zobaczyć parametry funkcji tylko wtedy, gdy są odznaczone. przeczytaj następujące pytania:
Jak wyświetlić parametry i typy zwracanych funkcji? W przypadku większości funkcji ta informacja nie występuje w module. Format pliku modułu Windows zawiera tylko jeden ciąg tekstowy do identyfikacji każdej funkcji. Nie ma uporządkowanej metody wyświetlania liczby parametrów, typów parametrów ani typu zwracanego. Jednak niektóre języki robią coś, co nazywa się funkcją "dekoracji" lub "maniakiem", czyli procesem kodowania informacji w łańcuchu tekstowym. Na przykład funkcja taka jak int Foo (int, int) zakodowana prostą dekoracją może zostać wyeksportowana jako _Foo @ 8. Liczba 8 odnosi się do liczby bajtów używanych przez parametry. Jeśli zostanie użyta dekoracja C++, funkcja zostanie wyeksportowana jako? Foo @@ YGHHH @ Z, która może być bezpośrednio zdekodowana z powrotem do oryginalnego prototypu funkcji: int Foo (int, int). Dependency Walker obsługuje dekompresję C++ za pomocą Undecorate C++ Functions Command.
Not sure about its lista parametrów, ale following TotalCommander plugin jest bardzo przydatna.
Jeśli nie masz kodu źródłowego i dokumentacji API, kod maszynowy jest wszystkim, co istnieje, trzeba demontować biblioteki dll przy użyciu coś podobnego IDA Pro, innym rozwiązaniem jest korzystanie z wersji próbnej PE Explorer.
PE Explorer zapewnia dezasembler. Jest tylko jeden sposób, aby dowiedzieć się parametrów: uruchom dezasembler i przeczytaj dane wyjściowe demontażu. Niestety, to zadanie inżynierii wstecznej interfejsu nie może być zautomatyzowane.
Eksplorator PE jest dostarczany z opisami 39 różnych bibliotek, w tym podstawowych bibliotek systemu operacyjnego Windows® (np. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), kluczowych bibliotek graficznych (DDRAW, OPENGL32) i innych.
Jak to się różni od Nirsoft DLL Export Viewer? – Pacerier
DUMPBIN z wiersza polecenia programu Visual Studio:
C: \ Users \ Andrzej \ src2011 \ Cryptography \ cspsdk> DUMPBIN/eksport csp.dll
Microsoft (R) COFF/PE Dumper Wersja 10.00.30319.01 Prawa autorskie (C) Microsoft Corporation. Wszelkie prawa zastrzeżone.
Dump plików csp.dll
Rodzajplików DLL
sekcja zawiera następujące eksportu dla CSP.dll
00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
0.00 version
1 ordinal base
25 number of functions
25 number of names
ordinal hint RVA name
1 0 00001470 CPAcquireContext
2 1 000014B0 CPCreateHash
3 2 00001520 CPDecrypt
4 3 000014B0 CPDeriveKey
5 4 00001590 CPDestroyHash
6 5 00001590 CPDestroyKey
7 6 00001560 CPEncrypt
8 7 00001520 CPExportKey
9 8 00001490 CPGenKey
10 9 000015B0 CPGenRandom
11 A 000014D0 CPGetHashParam
12 B 000014D0 CPGetKeyParam
13 C 00001500 CPGetProvParam
14 D 000015C0 CPGetUserKey
15 E 00001580 CPHashData
16 F 000014F0 CPHashSessionKey
17 10 00001540 CPImportKey
18 11 00001590 CPReleaseContext
19 12 00001580 CPSetHashParam
20 13 00001580 CPSetKeyParam
21 14 000014F0 CPSetProvParam
22 15 00001520 CPSignHash
23 16 000015A0 CPVerifySignature
24 17 00001060 DllRegisterServer
25 18 00001000 DllUnregisterServer
Podsumowanie
1000 .data
1000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
Uważaj, aby przypadkowo nie wykonać "dumpbin/export" (na końcu brakuje "s"), jest to zupełnie inne polecenie. –
Zapominam o dumpbinie i muszę sprawdzać tę odpowiedź co sześć miesięcy. Dzięki! – tofutim
DLL Export Viewer przez NirSoft puszka służy do wyświetlania wyeksportowanych funkcji w bibliotece DLL.
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
Aplikacja Nirsoft nie pokazuje bezimiennych funkcji :-( – TCS
@MagnusLindhe Używam tej aplikacji skopiować adres i ustawić go jako punkt przerwania, ale gdy debuguję go z Visual Studio (tryb debugowania, Win32) nie zatrzymuje się, gdy funkcja jest wywoływana Użyłem zarówno adresu, jak i adresu względnego aby to wypróbować Nie działają Nie wiem, co robię źle Może wiesz Nie mogę znaleźć więcej informacji na ten temat –
Przeglądanie przycisku DLL jest zakończona dla mnie, nie wyświetla żadnych funkcji w bibliotekach DLL Używam Windows 10 (64bit) – Owl
Dzięki, ale kiedy próbuję otworzyć dowolną bibliotekę DLL, pojawia się ona w oknie dziennika: Błąd: co najmniej jeden moduł ma nierozstrzygnięty import z powodu brakującej funkcji eksportowania w niejawnie zależnym module. Błąd: Znaleziono moduły z różnymi typami procesorów. Ostrzeżenie: nie znaleziono co najmniej jednego modułu zależności opóźnienia obciążenia. Ostrzeżenie: co najmniej jeden moduł ma nierozstrzygnięty import z powodu brakującej funkcji eksportu w module zależnym od opóźnienia. –
Używam systemu Windows 7 x64 Final. –
@Alon: Cóż, twoja aplikacja jest cicho popsuta :) pierwszy błąd wskazuje, że niektóre z twoich bibliotek dll są kompilowane dla systemów 32-bitowych, a niektóre dla 64-bitowych. możesz ładować biblioteki dll tylko z tą samą architekturą CPU w tym samym procesie. możesz żyć z dwoma innymi błędami, o ile aplikacja je obsługuje. –