首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ghidra索引C四字

Ghidra索引C四字
EN

Stack Overflow用户
提问于 2021-08-18 09:12:32
回答 1查看 214关注 0票数 1

有一个Ghidra反编译的C代码。

我知道local_60是一个四字,但我不理解索引它

local_60._3_1_在这里指的是什么?

代码语言:javascript
复制
  local_60 = 0x6c46575935676a5a;
  local_28 = 0x7945474e3563544f;
  printf("Enter access code: ");
  __isoc99_scanf(&DAT_0010201c,&DAT_001040c0);
  if ((((DAT_001040c0 == 'f') && (DAT_001040c1 == 'b')) && (DAT_001040c2 == local_60._3_1_)) &&
     ((DAT_001040c3 == '6' && (DAT_001040c4 == local_28._2_1_)))) {
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-18 09:29:49

您通常可以单击反编译的C代码,并突出显示原始程序集的哪一部分生成它,这可以帮助您理解_3_1_和_2_1_的意思。

根据我的经验,_X_Y_语法通常意味着代码试图像数组一样“索引”到整数中,方法是考虑到8个字节中一个字节的值。此外,如果您检查来自两个常量0x6c46575935676a5a0x7945474e3563544f的字节值,您可能会注意到所有字节都是正确的ASCII字符。这两件事意味着local_60和local_28应该是char[8]而不是整数。您应该能够右键单击变量声明并手动更改其类型,这可能通过将语法更改为数组索引和数组初始化来提高代码的可读性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68829554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档