问题标签 [ghidra]

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 投票
1 回答
78 浏览

python - 我们可以在 C++ 中将 (byte *) 连接到 (int) 吗?

我在 ghidra 中反编译了一个 .so 文件,发现了一行代码:

pbVar12 类型:字节 *

0x10 类型:整数

那么如果我们可以在 python 中将 byte* 与 int 连接起来呢?

0 投票
1 回答
466 浏览

ghidra - CONCAT15 和 CONCAT412 在 ghidra 中是什么意思?

我在 ghidra 中反编译了一个文件,我在反编译的文件中看到了很多 CONCAT+RandomNumber!

他们是什么意思?

0 投票
0 回答
28 浏览

reverse-engineering - 将函数的返回值折叠成表达式或参数

Ghidra 的反编译器通常会将 func 的返回值存储在仅使用一次的虚拟变量中:

我发现折叠它们要容易得多,例如:

(其他一些工具,比如 Binary Ninja,已经用到了。)

有没有办法告诉 Ghidra 这样做?或者也许是一个插件?

0 投票
1 回答
321 浏览

c - Ghidra 是否误解了函数调用?

在分析 Ghidra 中的程序集清单时,我偶然发现了这条指令:

CALL dword ptr [EBX*0x4 + 0x402ac0]=>DAT_00402abc

我假设程序正在调用一个地址在 inside 的函数DAT_00402abc,我最初认为它是一个双字变量。事实上,当试图在其中的位置创建一个函数时DAT_00402abc,Ghidra 不会让我这样做。

反编译器向我显示了这行代码来翻译该指令:

(*(code *)(&int2)[iVar2])();

所以我想知道,这是什么意思,程序应该如何处理这个调用?Ghidra有没有可能完全搞砸了?如果是这样,我应该如何解释该指令?

0 投票
2 回答
291 浏览

c - Ghidra 可以重新编译并运行一个简短的函数吗?

我从 Ghidra 反编译器中挑选了一个简短且“自包含”的函数。Ghidra 本身可以再次编译该函数,以便我可以尝试为几个不同的值运行它,还是我需要自己使用 gcc 编译它?

附加上下文功能:

0 投票
0 回答
47 浏览

patch - 修补程序在 ghidra 上添加新打印

我创建了一个简单的 hello_word,在其中打印字符串 hello_word。现在,我希望使用 ghidra 修补程序,将空闲内存位置反汇编,然后将代码再次打印字符串 hello_word。

为了使打印加倍,我只是将与打印相关的汇编代码加倍,即:

其中 100744 是 hello_word 字符串地址:

但是,在导出 ELF 文件时,二进制文件会崩溃。调试了一下我看到程序在我把汇编代码的时候崩溃了 有人能解释一下为什么吗?

0 投票
1 回答
272 浏览

reverse-engineering - ghidra DAT_* 中的问号

我反汇编了一个 jni .so 文件(android 应用程序的本机部分),并在 ghidra 中反编译了它的一个功能。

我在反编译代码的一部分中看到了 DAT_*,当我双击那个 ghidra 时,只显示问号。

我应该怎么做才能在 DAT_* 中查找数据

('*' 表示任何字符)

0 投票
1 回答
56 浏览

arm - ARM将字符串更改为不同的长度?吉德拉,艾达亲

我正在尝试将编译后的脚本翻译成母语。我正在使用 ida pro 和 ghidra,但我遇到了问题。如果字符串长度相同,我可以将字符串值更改为任何值。但是如果字符串长度更大或更小,我就会遇到问题。我是这里的新手,不能发照片,所以我会把它们上传到imgur。https://imgur.com/a/Rbv67lJ

当我在当前字符串中插入额外的字节时,IDA 不想打开文件并说错误。我了解,可能在某个地方存储了该字符串长度,但我找不到任何东西。而且,也许这是不可能的?提前致谢。

0 投票
0 回答
21 浏览

ghidra - Ghidra 签入:不允许文件更新

我将新的 Ghidra 二进制更改保存到 Ghidra,然后在 Ghidra 上签入,突然发生这种情况:

在源代码中查找它不是您所期望的,它是“outFile == null”,但我不知道为什么会发生这种情况,因为我只是尝试使用 Ghidra 正常保存文件更改。

0 投票
1 回答
174 浏览

reverse-engineering - 反编译器在 Ghidra Disassembler 中不起作用

我对 Ghidra Disassembler 有点陌生,所以请多多包涵。

我试图安装 Ghidra 来分析可执行文件。在 Ghidra 中打开可执行文件后,它会加载除 Decompiler 之外的所有内容。反编译器窗口显示

Decompiler: Unable to initialize the DecompilerInterface: Could not find decompiler executable”这个错误信息。它还显示“os/mac_x86_64/decompile 不存在

我从这里下载了它。我的 Mac 中也安装了 JDK。我应该怎么做才能使反编译器工作?

图 1

图 2

图 3

正如错误所说,“os/mac_x86_64”内没有反编译器。不知道我应该做什么。

图 5