Zgubiłem rozwiązanie klasy-biblioteki, czy mogę otworzyć .dllplik utworzony przez class-library.
Zgubiłem rozwiązanie klasy-biblioteki, czy mogę otworzyć .dllplik utworzony przez class-library.
Odpowiedzi:
lepiej radzisz sobie z dekompilatorem, takim jak redgates .net reflector lub jetbrains resharper decompiler. są też programy typu open source
Wykonaj poniższe czynności.
ILDASM.EXEnaciśnij klawisz ENTER. ILDASMotworzy się okno. Przeciągnij .dllplik do okna z folderu lub kliknij., a następnie File->NewDodaj wymagany .dll plik. .dllplik. Kliknij dwukrotnie te pliki, aby zobaczyć, co zawiera. has no valid CLR header and cannot be disassembled.
Myślę, że pobrałeś .NET Reflector i tę wtyczkę FileGenerator http://filegenreflector.codeplex.com/. Jeśli tak,
Otwórz Reflector.exe,
Przejdź do widoku i kliknij Dodatki,
W oknie Dodatki kliknij Dodaj ...,
Następnie znajdź pobrany plik dll
FileGenerator.dll (który pojawił się z wtyczką FileGenerator),
Następnie zamknij okno dodatków.
Przejdź do Plik i kliknij Otwórz i wybierz plik dll, który chcesz zdekompilować,
Po otwarciu pojawi się w widoku drzewa,
Przejdź do Narzędzia i kliknij Generuj pliki (Crtl + Shift + G),
wybierz katalog wyjściowy i wybierz odpowiednie ustawienia według własnego uznania, kliknij generuj pliki.
LUB
użyj http://ilspy.net/
Nie możesz uzyskać dokładnego kodu, ale możesz uzyskać jego zdekompilowaną wersję.
Najpopularniejszym (i najlepszym) narzędziem jest Reflector , ale są też inne dekompilatory .Net (takie jak Dis # ).
Możesz również zdekompilować IL przy użyciu ILDASM , który jest dostarczany w pakiecie z .Net Framework SDK Tools.
Otwórz .dllplik w programie Visual Studio. Lub redaktor zasobów.
There is no editor available for (file I tried to open). Make sure the application for the file type (.dll) is installed.
Telerik's Just Decompile jest najlepszym, z jakiego korzystałem. To nic nie kosztuje, jeśli zarejestrujesz się przez e-mail.
Używam oprogramowania Jetbrains Dot peek, ty też możesz spróbować
Pliki * .dll są plikami archiwalnymi otwieranymi za pomocą winzip / 7zip itp. To nie znaczy, że wszystkie pliki .dll są archiwami. Możesz zapisać wszystko z rozszerzeniem .dll, jednak większość plików .dll systemu Windows jest generowanych jako archiwa. Przykładami tego są okna > twain_32.dll, który jest plikiem archiwum, jednak twain.dll nie jest, jeśli spojrzysz na twain.dll, zobaczysz MZŽ jako pierwsze trzy znaki notatnika, które oznaczają skompilowany plik / program C lub część programu. Natomiast MZ wydaje się archiwum.
Również większość plików .exe to archiwa zawierające głównie obraz ikony itp. Dla pliku oraz pakiety instalatora systemu Windows, a także zawierają wszystkie informacje potrzebne programowi do uruchamiania obrazów, filmów itp., A także katalogi, w tym informacje o instalacji i zwykły plik tekstowy.
Mam tutaj grę game.exe i zawiera ona pliki klas java obraz wskaźnik wskazujący plik .exe do uruchomienia pliku .bat. Oczywiście twój plik .bat uruchomi wywołanie javac z archiwum i uruchomi grę. Jest też kilka archiwów .dll zawierających również pliki klas java.
[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO
Standardowe przekierowanie ikony tutaj .ico to plik obrazu w pliku .dll w pliku .exe. Tak więc obraz widoczny w pliku .exe to logo Minecrafta. Znajduje się w pliku o nazwie autorun.inf. Drugi przykład
[discstarter]
startpage=Autostart\Disk1.html
uselanguagestartpage=1
windowcaption=Solid Edge
licensee=Siemens PLM Software
productguid=05B227DF-DB00-4934-B3C8-40B7D8FAA54A
singleinstance=1
hidesplashscreen=1
noscrollbars=0
showstatusbar=1
splashscreentime=0
windowwidth=750
windowheight=775
buttondir=Autostart
toolbarcolor=16777215
toolbar=goback,goforward,gohome,print,exit
[autorun]
open=autostart.exe
icon=Autostart\ENGINE.ICO
To jest plik autorun.inf solid edge zawarty w solidedge.exe Autostart \ to katalog Autostart.dll. open = autostart.exe określa plik autostart.exe do uruchomienia z oryginalnego archiwum solidedge.exe. Oto przykładowy program korzystający z plików .dll (biblioteka dołączana dynamicznie) http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml .
Pokazuje również, jak powstają. Jak widać, zawartość pliku dll jest wywoływana przez plik exe, jak wcześniej wyjaśniłem, również znajduje się tutaj samouczek http://msdn.microsoft.com/en-us/library/ms235636.aspx i jak powiedziałem wcześniej 7zip lub winzip otworzy bibliotekę dołączaną dynamicznie jako archiwum, o ile masz plik .dll. Jeśli zawartość biblioteki dołączanej dynamicznie została skompilowana, oczywiście potrzebujesz programu, który może odczytać plik.
Jednak ponieważ pliki .dll są z definicji tylko plikami bibliotek archiwalnych, sam plik dll powinien być czytelny, a nie skompilowany plik C, C # itp. utworzone, a wszelkie informacje przechowywane w pliku dll są szyfrowane. Przeważnie to szyfrowanie jest obsługiwane przez samo studio wizualne i zazwyczaj nie jest edytowane ręcznie. Podczas odczytywania zawartości pliku .dll jako .exe zawartość jest automatycznie odszyfrowywana. Teraz, kiedy mówimy o kompilowaniu programu, zmieniamy zawartość na kod bajtowy, który maszyna łatwo zinterpretuje.
Ten rozmiar pliku byłby mniejszy niż oryginalny plik o tej samej zawartości. Jednak rozmiar pliku jest większy, co sugeruje, że plik został faktycznie zaszyfrowany. Prawdopodobnie po to, aby uniemożliwić ludziom czytanie ich kodu. W rezultacie odczyt zawartości .dll jest określany jako deszyfrowanie, a nie dekompilacja. Dekompilacja konwertuje już skompilowane pliki txt na nieczytelny kod bajtowy. Użycie standardowych plików .dll z definicji nie jest oparte na otwartym kodzie źródłowym, ponieważ wiąże się z celowym zaciemnianiem kodu bajtowego.