问题标签 [dotpeek]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用 MDB(或 mdb2pdb?)将 IL 代码反汇编为带有行号的 C#
有谁知道可以将 IL 反汇编回 C# 代码并使用存储在 mdb 文件中的信息来注释反汇编 IL 的行号的工具?
我正在尝试调查包含行号但没有用于编译的确切源代码的堆栈跟踪。但我有一个 mdb 文件。
目前,我正在使用dotPeek和ILSpy为我进行反汇编,但我似乎没有找到任何指定 mdb 的选项。
在dotPeek 1.4的 DLL 属性下有一个不可编辑的部分“ Pdb ” ,但我也找不到mdb2pdb转换器。(只有pdb2mdb包含在 Mono 中)。
debugging - 为没有调试目录的程序集生成 DotPeek PDB
我正在尝试使用 JetBrains dotPeek 1.4 符号服务器,但是我遇到了一些失败的第 3 方程序集,dotPeek 状态为:
使用 CFF Explorer 我发现这些程序集具有空的“调试目录”可移植可执行文件 (PE) 标头值。
是否有一种(简单的)方法来编辑 PE 以添加调试目录标头值?
dll - 使用 Visual Studios 2013 和 dotPeek 修改 dll
我有一个没有原始源代码的旧版 dll 文件。我已经使用 dotPeek 1.4.1 打开 dll 并创建了一个视觉工作室项目。在这种情况下,我正在更改已更改的嵌入式电子邮件地址。我的问题是,一旦我进行了更改,我似乎无法让 Visual Studios 2013 生成新的 dll 文件。我不确定我做对了。我相信如果构建解决方案,它应该在 bin\Debug 文件夹中生成一个新的 dll 文件。但是,该文件夹中没有任何内容。任何想法如何生成新的 dll 以及它的位置?
谢谢你,
埃里克
c# - “使用”块编译器生成的代码在 dotPeek 或 ILSpy 中不可见
我有兴趣查看编译器为生成的using
代码块生成的代码try-finally
,但我没有看到两者dotPeek
并ILSpy
显示了这个细节。我曾经ildasm.exe
看过这个代码块,我发现它里面有try-finally
块,但不能很好地理解它……所以想看看这两个工具是否有帮助。
有任何想法吗?
更新:
所以我最近在我的项目中使用了一个实现 IDisposable 的结构,并担心using
带有 IDisposable 的代码块和结构是否会导致装箱......但后来我发现下面的文章提到编译器针对这种情况进行了优化并且没有尝试调用 Dispose 时的框。
http://ericlippert.com/2011/03/14/to-box-or-not-to-box/
所以我很想知道编译器为我的 using 块生成了什么样的代码。
c# - dotPeek反编译dll
所以我们的服务器上有一个旧的 dll,它是由我们制作的,而且源代码很久以前就丢失了,我尝试调试 .dll 文件(由我们的一位程序员制作)并且反编译的代码受到了一些保护,所以在一些类变量是这样的:
那么有什么办法可以恢复这个变量名,至少我们可以得到一些关于事情是如何工作的信息?
c# - 使用 dotPeek 反思 CLR C++ 代码
我有这个用 CLR c++ 编写的代码:
我将它编译为 dll 并使用 DotPeek,我得到了这个结果:
并且还像这样使用 C# 反射:
我只得到一些胡言乱语:
__unep@?DoNothing@DefaultDomain@@@$$FCGJPAX@Z __unep@?_UninitializeDefaultDomain@LanguageSupport@@@$$FCGJPAX@Z
我的问题是: 为什么那里没有代码?
c# - 当dotpeek用“//存根方法(仅'ret'指令)”填充方法时是什么意思
我偶然发现了这个问题,询问 linq 的聚合算法,并认为这是逆向工程最好回答的问题,所以我去了 Visual Studio 并编写了以下代码(此代码旨在用于紧凑框架项目其中 Combine 函数只能有两个参数):
然后我将光标设置为 Aggregate 方法,按 F12 键(我安装了 Resharper),并被引导到以下代码:
现在很明显,这不是我调用 Aggregate 时运行的代码,因为...... Aggregate 做了一些事情。问题是反编译器的这个结果究竟意味着什么?什么是对“聚合”方法进行逆向工程的合适方法?
- 编辑 -
我刚刚意识到我上面所说的只有在Compact Framework项目中完成时才是正确的,当我反编译标准框架的 Aggregate 时,我得到了正确的源代码。
.net - 像 DotPeek 这样的软件可以反编译和编辑 DLL 吗?
很抱歉这个新手问题,但是在我的头撞到墙上 3 小时后,我刚刚得到了 DotPeek,我发现它非常适合查看 .dll 文件。但是我根本无法编辑它们。是否有像 DotPeek 这样的免费软件也可以让我编辑 DLL 而不是仅仅查看它?
更新:我能够将所有 .cs 文件分别保存在 .dll 文件中,并在 VS (Visual Studio) 中编辑它们。现在如何在编辑后将它们放回 .dll 文件中?
谢谢你!
c# - 如何将多个CS文件组合成一个DLL文件?
基本上我想要做的是:
1:取一个现有的DLL文件。2:在里面编辑一些C#脚本。我通过使用 DotPeek 在 Visual Studio 中打开来做到这一点。
3:编辑完文件后,将它们放回原来的DLL文件中,这样程序就可以正常工作了(由我修改)。
所以现在我被困在最后一步,将文件重新放入 DLL 文件中,以便程序正常工作。有任何想法吗?谢谢你。
c# - 使用 dotPeek 调试第三方反编译代码时,Visual Studio Debugger 看不到参数或局部变量
我想调试并逐步执行第三方代码,因此我使用 Dot Peek 来完成任务。我已经开始 Dot peek 并将其作为符号服务器并将 Visual Studio 与它链接。一切正常,我可以调试反编译的代码并单步执行,但我看不到任何参数值或局部变量,也看不到它们或在 Visual Studio 的本地窗口上看到它们的值。这个问题有没有解决方案,所以我可以看到参数和局部变量值并观察它们。这是配置dootPeek链接的链接