问题标签 [decompiler]

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.

0 投票
4 回答
857 浏览

java - Java:反编译后的奇怪结果

我有一个奇怪的 jar 文件,它包含一些类,当我使用 JD Decompiler 时,它会显示如下段:

我只是想知道为什么编译器/混淆器可以产生这样的类字节码,我的意思是方法签名。有人知道混淆器可以做到这一点吗?

0 投票
15 回答
198693 浏览

java - 如何让 Java Decompiler / JD / JD-Eclipse 在 Eclipse Helios 中运行

Java Decompiler (JD) 通常被推荐为一个很好的 Java Decompiler。JD-Eclipse 是 JD 的 Eclipse 插件。

我在几台不同的机器上遇到了问题,以使插件运行。每当我试图打开一个 .class 文件时,标准的“未找到源”编辑器都会显示,显示低级字节码反汇编,而不是您期望从反编译器获得的 Java 源输出。

http://java.decompiler.free.fr/?q=jdeclipse中的安装文档还不错,但在故障排除时却相当模糊。

打开这个问题来收集更多信息:在 JD 在 Eclipse Helios 中运行之前,您遇到了哪些问题?解决方案是什么?

0 投票
3 回答
1264 浏览

c - 使用 C 或 c++ 反编译 CHM(帮助)文件

我想将 CHM 文件反编译为 HTML 格式。是否可以使用 c 或 c++ ?是否有任何 c 或 c++ 库可以做到这一点。

0 投票
3 回答
4628 浏览

java - 如何反编译混淆的java程序,避免类/包名冲突

我想反编译一个java程序并重新编译派生(混淆)源。我解压了 .jar 档案并得到了一个这样的目录结构:

问题是包和类之间存在名称冲突,导致无法重新编译反编译的类文件。反编译的类将如下所示:

有没有办法在不重命名类文件的情况下解决这些命名问题?

编辑:这不是一个反编译器问题,而是一个问题,如何让一个工作的 .jar 文件包含违反命名约定的类。

EDIT2:好的,我猜在字节码级别这样的命名是可能的,所以使用更智能的反编译器(自动重命名类并修复它们的引用)这个问题可以解决。

0 投票
6 回答
5029 浏览

delphi - 反编译旧程序

我被要求更新 1987 年用 Delphi 编写的程序(我猜)。我没有关于这个程序的文档,只有程序员做了一些没有太大意义的旁注。

cd 显示这些文件:

这些文件中的任何一个都是数据库吗?如果可以,我可以访问它的数据吗?

我尝试了几个代码反编译器,但它们显示一条消息说它不是 Win32 兼容的应用程序。该程序在 MS-DOS 中运行。

是否可以获取源代码?我可以以任何方式使用此代码来构建新应用程序吗?

Update01:我可以在 MS-DOS 中运行该程序。该程序共轭动词并显示一个可以使用动词的例句。GUI 有点混乱,没有帮助菜单,所以我看不到程序的所有功能。

Update02:在与程序所有者的对话中,我们找到了另一个解决方案。他问我是否可以将程序放在服务器中,并且客户端可以使用用户和密码登录并在终端中执行程序。我在我的大学服务器中有一个帐户,我可以通过 ssh 访问该帐户并在其中编译和执行 c 程序。服务器在linux中,所以我无法尝试其中的程序。如果我设置了一个 windows 服务器,我可以让多个人在一个终端中访问和执行程序吗?该程序是一个exe。这不会引发一些安全问题吗?

0 投票
3 回答
426 浏览

java - 在 jar 中附加某些类的源

对于我们的项目,我们正在做某种逆向工程。为此,我们必须调试第三方 jar。

我尝试用 DJ、JAD 反编译那个 jar,但输出是带有编译时错误的源代码(比如方法原型中的返回类型是布尔值,但返回 int、循环中断等)。

现在,在这个损坏的源代码中,我想调试的 .java 文件很少。我想将这几个文件的源代码与jar中的相应类一起附加。

我用谷歌搜索了这个,但没有发现任何有用的东西。???

0 投票
1 回答
640 浏览

flash - 免费的Flash反编译器的建议?

我正在编辑视频播放器包装器,需要更改 Flash 中的颜色,但没有 FLV 文件。有没有人推荐一个好的免费 Flash 反编译器?我需要编辑的不仅仅是动作脚本。谢谢。

0 投票
4 回答
2353 浏览

language-agnostic - 是否有类似于适用于任何语言的“终极”反编译器的软件?

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

如果它是以 pascal、c、bas、vb、qb 或其他方式制作的,并解码/保存为可读的 .src

像 exe2bin 或 exe2src 我有几个 DOS 程序,我认为是用 pascal 制作的。我需要对这些程序进行反编译,以便使它们成为 Win32 应用程序。

0 投票
3 回答
374 浏览

gcc - gcc 告诉寄存器从哪个变量编译

我需要知道从哪个变量编译obj文件中的二进制指令的寄存器。
简而言之:每条指令从寄存器到变量的映射

示例:假设 objdump 给出了一个 obj 文件片段:

我们怎么知道 R1 存储了源代码中的变量,比如var1 ?而 R2 存储var2

我在readelf的文档中进行了搜索,不幸的是徒劳无功。
(虽然它可以为我提供源代码和二进制文件之间的线映射,但它对我没有进一步的帮助)

然后我搜索了一些 gcc 和链接器的调试选项。找到了一些有用的信息,但他们仍然没有解决我的问题。
我找到的信息是:

  • 选项-fdump-rtl-vartrack可以跟踪所有变量,似乎很有用。但是在使用此选项进行编译时,我没有找到预期的 *.vartrack 转储文件。
  • 选项*fdump-rtl-vartrack-uid显示每个变量的唯一 ID (DECL_UID)。但是我在使用时收到了这个错误:cc1: error: unrecognized command line option "-fdump-tree-uid"
  • 选项fdump-rtl-lreg转储本地寄存器分配,但我看不出它如何告诉我从 reg 到变量的映射。

有没有人有一些经验或想法?

谢谢你们!

破解...

0 投票
2 回答
141 浏览

android - 关于编译和反编译

我想阻止任何人进行 apk 反向编译。我们需要做点什么。我在网上浏览过,但我仍然不清楚操作步骤。

谁能告诉我怎么做?

任何人的帮助都非常受欢迎!!谢谢!!