decompiler 相关问题

反编译器尽可能地执行与编译器相反的操作。

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

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

回答 3 投票 0

如何识别dalvik字节码加载或存储局部变量?

jvm有aload/asotre、iload/istore、dload/dstore等字节码,如果出现这些指令我们就知道它们是读取或存储局部变量,但是dalvik vm有很多寄存器。我想要...

回答 1 投票 0

为什么不同的Java反编译器显示不同的源代码?

我试图通过反编译.class文件来了解Java编译器是如何工作的。我使用了Java反编译器(http://jd.benow.ca/)和showmycode(http://www.showmycode.com/) 他们向我展示

回答 2 投票 0

如何从java的字节码中识别三元运算符

我正在从事java的字节码项目,需要识别三元运算符和嵌套三元运算符。 我有两个问题 如何根据堆栈判断if语句是三元运算符

回答 1 投票 0

编译时出现奇怪问题,然后反编译Select Case

在更改以下 VB.net 代码时,我看到一些奇怪的行为。这是原始源代码: 私有函数 ValidateSelectedId(ByVal PurposeId As String) As Boolean ...

回答 1 投票 0

这是有效的 C# 代码吗?

这是有效的 C# 代码吗? 公开课产品 { [编译器生成] 私有字符串 k__BackingField; [编译器生成] 私人小数

回答 4 投票 0

在编译的C或C++代码中加密密码

我知道如何在终端中使用 GCC 和 CC 编译 C 和 C++ 源文件,但是我想知道编译后在这些文件中包含密码是否安全。 例如..我检查用户

回答 6 投票 0

如何解码zlib/base64 python

_ = lambda __ : __import__('zlib').decompress(__import__('base64').b64decode(__[::-1]));exec((_)(b'COt1C9399//PVvqe24fjnz5aWrl/4fdxgbAPaW3PPKZnlaRdXbFPZZpl1565 +5P0pVKEBVwKoPs6XhaWQzKSiIOXIRIQgWaO0d...

回答 1 投票 0

可以读取用microsoft Visual C++编译的程序的源代码吗?

我知道有反编译C#程序的工具。使用 microsoft Visual C++ 是否会使代码容易受到逆向工程的影响? 隐藏的最佳工具和编程语言是什么

回答 1 投票 0

此处应用的确切编译器优化(除了尾递归消除之外)是什么?

我正在编写一个简单的C程序,实现一个中序树遍历函数: void inorderTraversal(struct TreeNode* root) { 如果(根== NULL){ 返回; } 中序遍历(...

回答 1 投票 0

如何在 Visual Studio Code 中反编译具有正确行号的 Java 类?

我在 macOS 中使用 vscode 版本 1.92.2 以及 Java v0.29.0 扩展包。当我命令 + 单击或右键单击 -> 转到我没有源代码的类的定义时,vscode 将打开...

回答 1 投票 0

无法反编译的Python

可以反编译.pyc文件:反编译Python 2.7 .pyc 是否可以“编译” python 文件,从而产生人类无法读取的代码,例如 c++ -> exe 二进制文件? ..不像

回答 2 投票 0

下一个Python代码行做什么?结果是什么?

_ = lambda __ : __import__('base64').b64decode(__[::-1]);exec((_)(b'=

回答 3 投票 0

在 VS Code 中使用反编译器

我创建了一个项目,通过 VS 22 使用了很长时间。我还提供了第三方库的链接,以便使用它们并查看它们的类和方法。 T...

回答 1 投票 0

无法在 Eclipse 2023-06 中配置 Java 反编译器

我正在尝试在 Eclipse 2023-06 中配置 Java 反编译器,以便从 JAR 中进入 .class 文件,其中未附加任何源。为此,我安装了增强类反编译...

回答 1 投票 0

Java源代码与反编译结果不一致

在jdk8中 我的代码是 公共无效a(){ ArrayList 列表 = new ArrayList<>(); 列表.add(“1”); 列表.add(“2”); 对于 (int i = 0; i ... 在jdk8中 我的代码是 public void a(){ ArrayList<Object> list = new ArrayList<>(); list.add("1"); list.add("2"); for (int i = 0; i < list.size(); i++) { String b1 = String.valueOf(Math.random()); String b2 = ""; Object o = new Object[]{list.get(i)}; log.info(b1); log.info(b2); } for (int i = 0; i < list.size(); i++) { Object o = new Object[]{list.get(i)}; String b1 = String.valueOf(Math.random()); String b2 = ""; log.info(b1); log.info(b2); } } 但是编译结果是(我的反编译结果) public void a() { ArrayList<Object> list = new ArrayList(); list.add("1"); list.add("2"); int i; String b1; for(i = 0; i < list.size(); ++i) { String b1 = String.valueOf(Math.random()); b1 = ""; (new Object[1])[0] = list.get(i); log.info(b1); log.info(b1); } for(i = 0; i < list.size(); ++i) { (new Object[1])[0] = list.get(i); b1 = String.valueOf(Math.random()); String b2 = ""; log.info(b1); log.info(b2); } } 其中第一个代码中的参数 b2 更改为 b1 并在idea中调试,结果正确 我想知道为什么会发生这样的事 Java 中的反编译将类文件读回 .java 源文件。 在反编译过程中,由于编译过程中应用的优化和安全性,变量名称经常会丢失。 反编译的主要目的是理解代码的逻辑而不是重新编译它。有时,您甚至可能会遇到所有变量都可以命名为单个变量的情况,不知道为什么,但我认为其中应用了一些安全性,并且很难阅读和理解。 您应该尝试另一个反编译器以更好地理解反编译,尝试JD-GUI。 Intellij Idea 反编译器是最好的,但它仍然可以实现其目的,使无法访问原始源代码的个人能够理解代码的流程。 如果仔细查看反编译代码,您需要理解b1 = ""可以用String b1 = String.valueOf(Math.random());引用不同的变量。因为在同一个作用域中“不可能”有相同的 b1 变量。反编译器不明白这一点,它只是读取,内存地址 b1 中有一个 XXXX 变量,内存地址 YYYY 中有另一个变量。反编译器尝试找到变量名称并给出 b1,这是不正确的。 而且,不仅是变量,有时循环也可以不同。 希望这有帮助。

回答 1 投票 0

如何编写更高效的代码?或者,为什么反编译器生成的代码看起来效率不如我编写的代码? [已关闭]

在编写我的库时,我使用了一系列三元表达式: 公共 INumber Level1() { INumber 编号 = Level2(); 下一个(); 返回 txt==“-”? 新的减法(数字,列夫...

回答 2 投票 0

为什么我的反编译器生成的 C# 与我编写的不同?

在编写我的库时,我使用了一系列三元表达式: 然而,当我反编译代码时,我发现它变成了一个糟糕的实现(在我看来): 当我测试我的代码时,测试通过了...

回答 2 投票 0

Java 源代码被 Intellij 中的反编译文件替换

当我使用 ctrl + 右键单击打开特定类时,我应该被重定向到一个包含 java 源代码的窗口,其中包含所有行和适当的注释。但相反,我得到了一个无线...

回答 2 投票 0

将.exe转换为VS解决方案文件/项目

我最近在工作中遇到了一个问题,我的项目的解决方案文件丢失了,但我仍然拥有项目/解决方案生成的可执行文件。已收藏...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.