首页
社区
课程
招聘
5
[原创]IDA---反汇编窗口显示字符串而非别名
发表于: 2023-7-15 07:48 17911

[原创]IDA---反汇编窗口显示字符串而非别名

2023-7-15 07:48
17911

一些字符串不在只读区段,Hex-Rays反编译器默认只打印常量字符串,变量字符串会以别名显示

操作:
Edit -> Plugins -> Hex-Rays Decompiler -> Options -> Analysis options 1
取消勾选"Print only constant string literals"

示例:

字符串所在区段如下:

默认反编译结果:

取消勾选"Print only constant string literals"后的反编译结果:

相关配置文件: cfg/hexrays.cfg
相关行:

HEXOPTIONS由HO_各种选项组合,0x831FF - 0x000040 = 0x831BF
所以HEXOPTIONS改为 0x831BF 即可

https://bbs.kanxue.com/thread-264873.htm

2023/7/14

#include <stdio.h>
 
char global_str[] = "hello";
 
int main() {
    char local_str[] = "world";
 
    printf("global_str: %s\n", global_str);
    printf("local_str: %s\n", local_str);
     
    return 0;
}
#include <stdio.h>
 
char global_str[] = "hello";
 
int main() {
    char local_str[] = "world";
 
    printf("global_str: %s\n", global_str);
    printf("local_str: %s\n", local_str);
     
    return 0;
}
int __cdecl main(int argc, const char **argv, const char **envp)
{
  char v4[8]; // [esp+0h] [ebp-Ch] BYREF
 
  strcpy(v4, "world");
  sub_401040("global_str: %s\n", aHello);
  sub_401040("local_str: %s\n", v4);
  return 0;
}
int __cdecl main(int argc, const char **argv, const char **envp)
{

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-12-16 21:29 被qux编辑 ,原因: 补充修改配置文件的方法
收藏
免费 5
支持
分享
赞赏记录
参与人
雪币
留言
时间
冷却器
+1
非常支持你的观点!
2025-2-24 11:06
Lnju
为你点赞~
2023-11-25 09:54
mb_yfioexda
为你点赞~
2023-8-22 10:37
StardyGod
为你点赞~
2023-7-20 11:41
vay
为你点赞~
2023-7-18 10:19
最新回复 (3)
雪    币: 11397
活跃值: (8312)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
很好,学到了
2023-7-15 10:39
0
雪    币: 4429
活跃值: (4781)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学到了,感谢分享。
2023-7-15 12:56
0
雪    币: 18
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
解决了7.7的问题
2023-12-8 17:25
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册