草庐IT

decompiling

全部标签

c# - 如何给 DLL 中的一行代码打补丁?

我有一个缺少一行代码的.Netdll。我想修补那个DLL,但我没有源代码。我该怎么办?有谁知道快速修补此类内容的方法吗? 最佳答案 随着ReflexilReflector的插件,修改DLL的一小部分又快又容易。我曾在少数情况下使用它来更改部署的dll中的一两行,通常是为了禁用某些由条件导致的行为(不,不是破解应用程序,合法使用我们自己的代码以避免完整部署的重量)。 关于c#-如何给DLL中的一行代码打补丁?,我们在StackOverflow上找到一个类似的问题:

c# - 是否可以使用使用 dotPeek 反编译的源代码实际调试 3rd 方代码?

我使用VS2012。我知道如何使用.NETReflector调试第3方代码并一直使用它。我想知道这是否可以通过JetBrains的dotPeek或没有dotPeek的R#本身来实现。我能够导航到反编译的第3方代码,但无法单步执行。有什么想法吗? 最佳答案 我看到这个问题仍在为我的博客增加流量,所以我将添加一个答案:是的,现在可以使用JetBrainsdotPeek调试第3方程序集。反编译器(完全免费),将其用作Symbolserver.在我的博文中HowtodebuganythingwithVisualStudioanddotPee

c# - Enumerable.Sum() 溢出

嘿,我正在使用LINQ的Enumerable.Sum()扩展方法来计算哈希码,当代码变大时我遇到了OverflowExceptions问题.我尝试将调用放在uncheckedblock中,但这似乎没有帮助。该方法的MSDN文档说如果值太大就会抛出异常,但我检查了反射器,仅此而已:publicstaticintSum(thisIEnumerablesource){if(source==null){throwError.ArgumentNull("source");}intnum=0;foreach(intnum2insource){num+=num2;}returnnum;}基于此反编译

c# - 对象类型末尾的 & 字符是什么?

我不得不反编译一些代码,但我不知道这个语法是什么?你们能帮忙吗,或者指点我写一篇关于它是什么的文章?我用Google搜索了这个网站,但找不到任何东西。一行代码:RectanglepageBounds;//ISSUE:explicitreferenceoperation//ISSUE:variableofareferencetypeRectangle&local=@pageBounds;Rectangle对象类型末尾的@和pageBounds变量前的@是什么?这是我需要修复的最后一行代码,以便再次编译该可执行文件。这是使用此语法的方法,我可以删除它吗?protectedoverridev

Java代码编译成常量池中的MethodHandle

我正在尝试使用Java8Nashorn具有完整的源代码(未检测)。如您所知,它使用Nasgen修改.classes,输出在JRE/lib/ext/nashorn.jar中。在反汇编输出时,使用javap:0:aload_01:ldc#24//StringFunction3:ldc#31//MethodHandleinvokestaticjdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Scri

java - 如何反编译 .jar 文件?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:WherecanIfindaJavadecompiler?HowtodecompileawholeJarfile?我有一个.jar文件。它是一个文件,但我想“反编译”它以获得原始的Java代码(或任何最接近Java代码的代码——我可以理解和编辑的东西)。我相信我的文件(特别是)是一个javaapplet,但它被保存为一个可执行的jar文件(.jar)。我怎么会做这样的事情?

java - jd-intelliJ调试反编译代码的方法

我正在使用IntelliJIdea12和13。我们没有源代码,所以我们需要反编译字节码来理解逻辑。我已经安装了jd-intelliJ插件,它似乎工作正常,但我没有能力在反编译代码中放置断点。我以前试过用JAD插件,但是用这个插件反编译出来的代码太丑了。我还尝试通过jd-GUI反编译jar文件,将其放入我的maven存储库并使用它在IntelliJ中进行调试,但它也无法正常工作。有什么方法可以使用像JD这样好的反编译器并在我的IdeaIDE中调试它吗? 最佳答案 最新版本的JD-GUI具有重新对齐行号的功能。(帮助->首选项)当行号正

java - 智能 : show decompiled class disassembly even when source is present

IntelliJ可以displayanddebugdecompiledclasses当无法找到来源时。有什么方法可以强制调试器使用反汇编而不是源代码,即使找到了源代码,而不是删除源代码?这在源错误(与类不匹配)的情况下很有用。 最佳答案 这是在IntelliJIDEA2016.1中添加的(参见IDEA-144322),现在可以在ShowBytecodeasShowDecompiledClass旁边的View菜单中找到。它仅适用于库类,不适用于项目类。 关于java-智能:showdeco

java - javac 会生成静态桥接方法吗?

桥接方法在java中用于处理派生方法中的协变,并更改派生方法的可见性。但是,这两种情况都是针对实例方法(因为您无法派生静态方法)。我正在研究Kotlin如何生成参数默认值,令我震惊的是它使用了static桥接方法。我想不出在什么情况下Javac会生成static桥接方法-其他人可以吗?(我指的是具有ACC_BRIDGE标志的方法(0x40)集合,不仅仅是一种语义桥接方法)(fwiw-示例代码和反编译(使用cfr0_124和--hidebridgemethodsfalse))方差publicclassBridgeTest1Base{publicTfrob(){returnnull;}}p

java - java注解在java字节码中是如何表示的

我试图反编译包含JUnit测试的.class文件。我读了字节码,但我没有看到任何@Test注解的线索(它在java源代码中使用)。作为元数据,注释在字节码中是如何表示的? 最佳答案 注解出现在它所关联的事物的字节码之前。如果您没有看到注释,它可能是一个旧的反编译器(大多数是) 关于java-java注解在java字节码中是如何表示的,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/