我正在尝试对 aarch64 二进制文件进行逆向工程以从中找到密码。我能够修改 Ghidra 中的某些功能,但被附加的代码片段卡住了。图中标记的区域给我理解代码的算法带来了一些麻烦。
有太多未定义的变量。我不知道他们的数据类型。但由于 param_1 是一个字符数组,我假设 local_58 也将是一个大小为 40 的字符数组(来自 memcpy 函数调用)。因此,local_30 也将是一个大小为 40 的字符数组(来自 memcpy 函数调用)。我就在这里吗?
我假设第二个标记的片段正在告诉 local_30 的值。如果我是正确的 local_30 的值为 00001100 00000111 10101010 10011000 11100011。如果我错了,请在这里纠正我。
FUN_00400c3 正在使用 local_58 并进行一些操作。与 local_58 一起,FUN 函数还将一个整数和一个 unsigned long long int 作为第二个和第三个参数。第三个参数有一个非常大的值。所以,我不确定 ghidra 给出的是正确的值还是垃圾值。
