标签: decompiler

是否有类似于"终极"反编译器的软件适用于任何语言?

知道程序是用什么语言编写的,但是我想找一个可以反编译其源代码找出它所用语言的反编译器.

如果用pascal,c,bas,vb,qb或者这种方式制作它并解码/保存为可读的.src

像exe2bin或exe2src之类的东西我有一个coupple DOS程序,我认为是用pascal制作的.我需要反编译这些程序,以便我可以使它们成为Win32应用程序.

language-agnostic decompiling decompiler

1
推荐指数
1
解决办法
2018
查看次数

如何使用JD-GUI从反编译的JAR重新创建项目链接?

我有一个旧的.JAR文件。我可以使用JD-GUI对其进行反编译,但这为我提供了一组类文件。我正在尝试遵循代码,但是各个类之间的联系有限。

我可以手动遵循代码,但是有一种方法可以“重新链接”或创建项目,以便我可以更轻松地导航。

JD-GUI在强调某些类时会部分执行此操作,但只会带我进入该类。我想直接进行声明或查看所有用法。

java decompiler jd-gui

1
推荐指数
1
解决办法
5908
查看次数

它在C#方面意味着什么?

我发现以下编译器生成的代码使用DotPeek分析.NET程序集之一:

[UnsafeValueType, NativeCppClass]
[StructLayout(LayoutKind.Sequential, Size = 16)]
internal struct DWriteTextAnalysisNode<MS::Internal::Text::TextInterface::Native::IDWriteNumberSubstitution *>
{
}
Run Code Online (Sandbox Code Playgroud)

我想知道它意味着什么?如何在C#中重写它?特别是这部分:

<MS::Internal::Text::TextInterface::Native::IDWriteNumberSubstitution *>
Run Code Online (Sandbox Code Playgroud)

.net c# decompiler dotpeek

1
推荐指数
1
解决办法
660
查看次数

这是编译还是反编译的副作用?

正在运行服务器.一个人被解雇了.他删除了源代码.我们必须反编译....:我注意到几个奇怪的东西:

1)变量declerations也在程序的中间随机点2)没有HashMaps的类型安全性,例如

HashMap<Integer , Boolean> s = new HashMap<Integer , Boolean>();
Run Code Online (Sandbox Code Playgroud)

变成了HashMap s = new HashMap(); 一般来说,列表和收藏集也是如此.它也有一些副作用导致一些异常((Long)list.get(a_long).longValue()); 添加的内容是强制转换和longValue调用

3)我也注意到了一些垃圾编码

这些事情是否因为我反编译程序而发生,或者由于前编译器的编译器或愚蠢而发生了这些事情?

java casting compilation type-safety decompiler

1
推荐指数
1
解决办法
74
查看次数

Android 应用中的 Kotlin 字节码

我是一名 kotlin 和 Java 开发人员,最近我开始分析 kotlin 生成的字节码。我发现了很多包装器代码和编译器生成的其他内容,以便将我在 Kotlin 中编写的代码转换为 Java。

所以,我的问题是:

想象一下,我有一个应用程序,其代码 100% 用 kotlin 编写。依赖项和主应用程序。所有科特林。

  1. 这是否意味着将使用不同的编译器以避免 Java 兼容的字节码?
  2. 或者说编译器在这种情况下有没有做一些优化?

非常感谢。


我知道Kotlin Native,但我认为它将来只会应用于Android。

android decompiler kotlin

1
推荐指数
1
解决办法
745
查看次数

Java 类文件知道空格吗?

我写了一个 Java 程序,然后编译它,然后反编译它并得到一个 Java 文件。反编译器将精确缩进的精确 Java 文件返回给我的原始 Java 文件,但这就是反编译器所做的,这不是问题,在我脑海中燃烧的问题是缩进。

由于反编译的 Java 文件与原始文件具有完全相同的缩进,因此我得出结论,类文件也存储了缩进数据。

现在的问题如下:

  1. 我的结论正确吗?

如果是:

  1. 为什么类文件需要知道缩进?

  2. 缩进是为了可读性,没有人读取类文件,那么为什么类文件不能存储它并节省一些空间呢?

  3. 类文件只是一个加密的 Java 源文件,反编译器可以在其中解密以返回原始文件吗?

java decompiler

1
推荐指数
1
解决办法
129
查看次数

如何在Eclipse中默认使用反编译器打开*.class文件?

在 Eclipse 中打开 *.class 文件时,Class File Viewer使用默认编辑器显示该类的不适合编码的视图。

在我的 Eclipse 实例上安装了多个反编译器,我可以“手动”使用它们来打开我的 *.class 文件,以便它显示在编辑Class Decompiler Viewer器中。

我想要的是将默认编辑器从 更改为 ,Class File Viewer以便Class Decompiler Viewer当我打开 *.class 文件(例如通过在视图中双击它Package Explorer或通过Open Type...对话框)时,它会直接在右侧视图中打开。

目前,Class File Viewer无论我的设置如何,*.class 文件都会在编辑器中打开。我必须返回视图Package Explorer,右键单击 *.class 文件,然后在选项中明确选择所需的反编译器,Open Class With以在编辑器中打开它Class Decompiler Viewer

我已将Class Decompiler Viewer编辑器设置为 *.class 文件的默认编辑器,应用了该编辑器,甚至重新启动了 Eclipse,但我打开的所有 *.class 文件仍然是默认的Class File Viewer在此输入图像描述

反编译器首选项还可以选择将 hisslef 设置为 *.class 文件的默认编辑器,但我这边没有成功: 在此输入图像描述

有没有办法强制默认的 *.class 文件编辑器使用其他编辑器Class File …

java eclipse settings decompiler

1
推荐指数
1
解决办法
1万
查看次数

Java字节码反编译 - 未使用的方法存在?

说我有

private void ThisIsMySecurityMethodPleaseLookHERE() {
//security stuff
}
Run Code Online (Sandbox Code Playgroud)

在我的程序中,但是在任何实际执行的代码中都没有调用该方法.它被编译为字节码吗?或者Java编译器是否识别出这个事实并将其过滤掉?我知道它永远不会成为PAST字节码,因为它不是真正的调用.

我问,因为我知道Java很容易反编译.当他们反编译我的.class文件时,我的所有未使用的方法也会出现吗?

我认为情况并非如此,因为如果是这样的话,每个java文件都会有膨胀代码隐藏真实代码,并通过混淆器传递.

我只是试图想到除了混淆之外的方法来抵制随意的黑客.

java methods bytecode decompiler

0
推荐指数
1
解决办法
436
查看次数

Eclipse Mars Java Decompiler

我刚开始使用Eclipse Mars作为开发环境.我曾经在旧的eclipse版本中安装了jd-eclipse反编译器.当我尝试为这个插件安装相同的插件时,我做不到.

我需要在eclipse中使用反编译器,希望有人提出解决方案.

谢谢.

java eclipse-plugin decompiler eclipse-mars

0
推荐指数
1
解决办法
2万
查看次数

反汇编程序如何工作以及它与反编译器有何不同?

我正在研究在我的Linux Mint 17.3操作系统上安装反汇编程序(或反编译程序),我想知道反汇编程序和反编译程序之间的区别.我粗略地了解它们是什么(名称相当不言自明),但它们仍然有点令人困惑.

我读过一个反汇编程序将程序变成汇编语言,我不知道,所以对我来说似乎没用.我还读到反编译器将"二进制文件"转换为其源代码.究竟什么是二进制文件?

显然,反编译器无法反编译为C,只能使用Python和其他类似语言.那么如何将程序转换为原始的C源代码呢?

cpu-architecture disassembly decompiler

0
推荐指数
1
解决办法
406
查看次数