我是否正确地看到了这个 dll 的内部结构?

逆向工程 视窗 反编译 dll 。网 C#
2021-06-28 07:21:18

有问题的 dll 是自定义的,来自于 2006/2007 年首次提供销售的零售/消费者软件包。我相当有信心它是用 Visual Studio .NET (2003) 编译的。

我对 dll 的初步尝试让我测试了各种代理 dll 代码生成器。我能够提取导出的函数(其中将近 800 个),并且可以构建代码。不幸的是,零售软件会拒绝这个 dll,因为我最终能够用 corflags.exe VS 实用程序确定一些不匹配的签名。最终很明显,我的 Visual Studio 版本太现代了,无法与之匹敌,经过一番折腾,我获得了 VS2003。发现它永远无法在现代 Windows 上正确安装,我从壁橱里挖出了 Windows XP,现在我有一个 VM 来构建代理 dll...签名匹配,显示新错误。

它抱怨它无法加载它命名的类型。我的印象是代理 dll 生成器正在处理这个问题。花了一些时间确保它没有遗漏任何东西,它似乎没有。

但是dll是用CLR/.NET 1.1构建的,有点奇怪。所以我下载了 IntelliJ 的 dotpeek 反编译器。果然,这带来了我以前从未见过的相对较少的类和结构。它甚至向我展示了 c# 清晰的代码(变量名看起来不像反编译/反汇编的东西......在编译过程中 dotnet 不会剥离这些吗?)。

所以现在我有一个 dll,它看起来好像同时包含 cpp 和 cs 代码。这是一个有效/可行的 dll 构建结果吗?我还没有找到任何说明、教程或文档表明这现在或曾经是可能的。但是很多microsoft.com 和msdn 论坛链接都已失效,因此很难研究。我觉得好像我一定是在误解我所看到的,而我的业余尝试只是让我感到困惑。

如果这曾经是一件事,有人可以告诉我它被称为什么流行语吗?我的 Microsoft 行话非常有限,而且我找不到一大堆东西。

0个回答
没有发现任何回复~