有没有软件可以做到这一点?我没有在互联网上找到任何有用的信息,所以我在这里问。
答案 0 :(得分:23)
您无法获得确切的代码,但您可以获得它的反编译版本。
最受欢迎(也是最好的)工具是Reflector,但也有其他.Net反编译器(例如Dis#)。您还可以使用与{Net Framework SDK Tools捆绑在一起的ILDASM对IL进行反编译。
答案 1 :(得分:15)
只有c#
和Java
等托管语言可以完全反编译。您可以查看完整的源代码。
对于Win32 dll
,您无法获取源代码。
对于CSharp dll 免费使用DotPeek becoz,与ReDgate .Net Compiler
相同玩得开心。
答案 2 :(得分:5)
答案 3 :(得分:3)
使用dotPeek
选择要编译的mat = as.matrix(dist(mymatrix))
mat[row(mat) == col(mat) + 1]
# [1] 2.828427 3.000000 2.828427
那是
答案 4 :(得分:2)
您可以使用Reflector并使用Add-In FileGenerator将源代码提取到项目中。
答案 5 :(得分:1)
使用折射镜。 从here下载。
答案 6 :(得分:0)
如果您只想知道dll程序集中的一些基础知识,例如用于动态加载它们的类,方法等
您可以使用Microsoft提供的IL Disassembler工具。
通常位于:" C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin"
答案 7 :(得分:0)
我用Refractor从dll文件中恢复了脚本/代码。
答案 8 :(得分:0)
您可以使用dotPeek 我唯一要说的是,使用它时,在类上单击鼠标右键以选择“反编译源”,而不是双击,否则dotpeek将仅显示本地cs文件的内容,而不显示反编译的内容。 Option instance
答案 9 :(得分:0)
var destinationfilename = "";
if (System.IO.File.Exists("nameoffile.dll"))
{
destinationfilename = (@helperRoot + System.IO.Path.GetFileName(medRuleBook.Schemapath)).ToLower();
if (System.IO.File.Exists(destinationfilename)) System.IO.File.Delete(destinationfilename);
System.IO.File.Copy(@'nameoffile.dll", @destinationfilename);
}
// use dll-> XSD
var returnVal =
await DoProcess(
@helperRoot + "xsd.exe", "\"" + @destinationfilename + "\"");
destinationfilename = destinationfilename.Replace(".dll", ".xsd");
if (System.IO.File.Exists(@destinationfilename))
{
// now use XSD
returnVal =
await DoProcess(
@helperRoot + "xsd.exe", "/c /namespace:RuleBook /language:CS " + "\"" + @destinationfilename + "\"");
if (System.IO.File.Exists(@destinationfilename.Replace(".xsd", ".cs")))
{
var getXSD = System.IO.File.ReadAllText(@destinationfilename.Replace(".xsd", ".cs"));
}
}