固件是嵌入式系统的灵魂,当对固件进行安全检测或者深入理解固件中的运行机制时,对固件进行反汇编是一个必经的步骤.对固件反汇编时,首先要确定固件的装载基址及其运行环境的处理器类型.通常我们可以通过拆解硬件设备或者查阅产品手册获得处理器类型,但目前尚没有自动化工具可获知固件的装载基址.鉴于目前大部分嵌入式系统中的处理器为ARM类型,本文以ARM固件为研究目标,提出了一种自动化方法来判定固件的装载基址.首先通过研究固件中字符串的存储规律及其加载方式,提出了两个算法可分别求出固件中字符串偏移量和LDR指令加载的字符串地址.然后利用这些字符串信息,提出了DBMAS(Determining image Base by Matching Addresses of Strings)算法来判定固件的装载基址.实验证明本文提出的方法可以成功判定使用LDR指令加载字符串地址的固件装载基址.
为提高无人机航迹规划的速度,提出了一种基于引导点的航迹规划方法.该方法结合了不同规划方法的优势,将无人机航迹规划分为两个层次:全局规划和局部规划.全局规划利用遗传算法规划出最优或次优的区域点集,然后产生区域的引导点列;局部规划根据全局规划提供的引导点列,利用SAS(sparse A search)算法快速规划出满足约束条件的可行航迹.仿真实验表明,该方法较好地结合了遗传算法和SAS算法的优势,规划航迹效果优于单一的遗传算法和SAS算法,并且有效地提高了规划速度.
暂无评论