我失去了类库的解决方案,可以打开.dll
由创建的文件吗class-library
?
我失去了类库的解决方案,可以打开.dll
由创建的文件吗class-library
?
Answers:
使用redgates .net反射器或jetbrains resharper反编译器等反编译器会更好。有开源的也喜欢
请按照以下步骤操作。
ILDASM.EXE
按Enter。 ILDASM
窗口将打开,将.dll
文件从文件夹中拖到窗口中,或单击。File->New
然后添加所需的.dll
文件。 .dll
将出现文件。双击这些文件以查看其包含的内容。 has no valid CLR header and cannot be disassembled
。
我认为您已经下载了.NET Reflector和此FileGenerator插件http://filegenreflector.codeplex.com/,如果这样做,
打开Reflector.exe,
转到查看,然后单击加载宏,
在“加载项”窗口中,单击“添加...”,
然后找到您下载的dll
FileGenerator.dll(文件生成器插件附带的巫婆),
然后关闭外接程序窗口。
转到“文件”,然后单击“打开”,然后选择要反编译的dll,
打开它后,它将显示在树形视图中,
转到工具,然后单击生成文件(Crtl + Shift + G),
选择输出目录,然后根据需要选择适当的设置,单击“生成文件”。
要么
我使用Jetbrains Dot peek软件,您也可以尝试
*。 > twain_32.dll是一个存档文件,但是如果您查看twain.dll,则不是twain.dll,您会看到MZ®作为前三个记事本字符,表示已编译的C文件/程序或程序的一部分。而MZ似乎是一个存档。
同样,大多数.exe文件是归档文件,大多数包含该文件和Windows Installer程序包的图标图像等,它们还包含程序运行图像,电影等所需的所有信息,以及目录,包括安装信息和纯文本文件。
我在这里有一个游戏game.exe,它包含Java类文件和图像,图像中的指针指示.exe运行.bat文件。显然,您的.bat文件会从存档中运行javac调用并运行游戏,还有一些.dll存档也包含Java类文件。
[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO
标准图标重定向。ico是.exe文件中.dll文件中的图像文件。因此,在.exe文件上看到的图像是Minecraft徽标。这在一个名为autorun.inf的文件中。第二个例子
[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
这是solidedge.exe中包含的Solid Edge autorun.inf文件。Autostart \是Autostart.dll目录。open = autostart.exe指定要在原始solidedge.exe归档文件内运行的autostart.exe文件。这是使用.dll(动态链接库)文件http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml的示例程序。
它还显示了它们是如何创建的。如您所见,dll文件的内容由exe文件调用,正如我之前解释的那样,这里还有一个教程http://msdn.microsoft.com/zh-cn/library/ms235636.aspx,正如我之前所说只要您具有.dll文件,7zip或winzip就会打开一个动态链接库作为存档。如果动态链接库的内容显然已经编译,则需要一个可以读取文件的程序。
但是,由于.dll文件按照定义只是存档库文件,因此dll本身应该是可读的,而不是已编译的C,C#文件等。基本上,.dll文件是存档的,应该是在Visual Studio中创建.dll文件时,dll是创建后,您存储在dll文件中的所有信息都会被加密。通常,这种加密是由Visual Studio本身处理的,并且通常不需手动编辑。当您将.dll文件内容读取为.exe时,内容将自动解密。现在,当我们谈论编译程序时,我们正在将内容更改为机器易于解释的字节码。
该文件大小将小于相同内容的原始文件。但是,文件大小较大,表明该文件实际上已被加密。可能阻止人们阅读其代码。结果,读取.dll内容被称为解密而不是反编译。反编译会将已编译的txt文件转换为不可读的字节码。根据定义,标准.dll文件的使用不是开源的,因为它涉及对字节码的故意混淆。