Zgubiłem rozwiązanie klasy-biblioteki, czy mogę otworzyć .dll
plik utworzony przez class-library
.
Zgubiłem rozwiązanie klasy-biblioteki, czy mogę otworzyć .dll
plik 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.EXE
naciśnij klawisz ENTER. ILDASM
otworzy się okno. Przeciągnij .dll
plik do okna z folderu lub kliknij., a następnie File->New
Dodaj wymagany .dll
plik. .dll
plik. 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 .dll
plik 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.