- 博客(174)
- 资源 (1)
- 收藏
- 关注
原创 IDA对case语句的处理
摘要:本文分析了Ada语言case语句在编译后的实现机制。通过逆向分析发现,IDA生成的伪代码会重新排序case分支,而实际汇编代码通过跳转表(jumptable)实现分支选择,与源代码顺序无关。研究显示,Ada编译器会生成额外的范围检查代码,而IDA会智能地优化掉冗余检查。对比两个示例发现,尽管源代码和伪代码的case顺序不同,但底层实现均采用跳转表机制,因此IDA按数值排序case的做法是可接受的。该研究揭示了编译器对case语句的实现细节与反编译工具的处理策略。
2025-06-23 10:34:46
519
原创 OpenBMC的c++代码中的变量初始化问题(二)
解决在构建openbmc/intel-ipmi-oem的x64可执行模块中遇到的变量初始化问题(二)。
2024-02-24 15:54:53
1308
原创 OpenBMC的c++代码中的变量初始化问题(一)
解决在构建openbmc/intel-ipmi-oem的x64可执行模块中遇到的变量初始化问题(一)。
2024-02-24 15:42:01
720
原创 JL653—一个基于ARINC653的应用程序仿真调试工具
JL653是一个基于ARINC653的应用程序仿真调试工具,它提供了ARINC 653 Part 1中要求的部分服务。它是一个免费软件。
2023-09-15 11:58:03
468
原创 用Ada语言实现ARINC653定义的航空电子应用软件的标准接口
用Ada语言实现ARINC653定义的航空电子应用软件的标准接口(APEX),即是用Ada语言编写一套程序,使之实现APEX规定的功能。
2023-04-22 14:58:39
582
2
原创 SCADE Display(OpenGL)软件设计文档生成工具的设计考虑
本文档描述在SCADE Display(OpenGL)软件设计文档生成工具(以下简称为SDYSDDGEN)的设计过程中考虑到的一些问题及其解决方案。
2023-04-11 09:55:24
1370
原创 SCADE Display(Arinc661)图像的分解显示
通过生成每个widget的DF文件,分解显示SCADE Display(Arinc661)图像。
2023-04-03 09:00:36
552
原创 SCADE Display(OpenGL)图像的分解显示
通过开发一个工具生成SCADE Display(OpenGL)图形的独立widget图像文件。
2023-03-29 11:39:20
514
原创 不同版本的IDA中的HIBYTE宏定义可能不同
不同版本的IDA中的HIBYTE宏定义可能不同,因此要查看defs.h中的HIBYTE的定义,以免误解。
2023-02-25 16:47:46
798
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人