删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于指令交换的代码混淆方法

本站小编 Free考研考试/2022-01-02

摘要:软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性.



Abstract:The program is a sequence of instructions in a certain order, and the permutation and combinations of instructions constitute the ever-changing program semantics. Although reordering instructions usually changes the program semantics, it is possible to swap adjacent instruction sequences without changing the program semantics via analyzing the relative independence of adjacent instruction sequences. Instructions swapping increases the distance of instructions and change characteristics of the program, which raises the cost of reverse analysis to a certain extent. Sufficient conditions of instructions swapping are proven by the improvement of the formal definition of the program, upon which the randomize method of instructions reordering based on simulated annealing is proposed in the study. Furthermore, a prototype of IS-VMP (virtual machine protection system based on instructions reordering) is implemented. In addition, the experiments are carried out with a set of encryption algorithms. Experiment results show that instruction reordering is effective and applicable for anti-reversing.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/5429
相关话题/程序 序列 交换 系统 代码

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 可微分抽象机混合编程系统
    摘要:自动化编程是智能软件的核心挑战之一,使用程序执行轨迹或输入输出样例学习程序,是自动化编程的典型研究方法.这些方法无法弥合常规程序元素与神经网络组件间的隔阂,不能吸收经验信息输入、缺乏编程控制能力.给出了一种可无缝结合高级编程语言与神经网络组件的混合编程模型:使用高级编程语言元素和神经网络组件元 ...
    本站小编 Free考研考试 2022-01-02
  • 基于深度学习的程序生成与补全技术研究进展
    摘要:自动化软件开发一直是软件工程领域的研究热点.目前,互联网技术促进了开源软件和开源社区的发展,这些大规模的代码和数据成为自动化软件开发的机遇.与此同时,深度学习也在软件工程领域开始得到应用.如何将深度学习技术用于大规模代码的学习,并实现机器自动编写程序,是人工智能与软件工程领域的共同期望.机器自 ...
    本站小编 Free考研考试 2022-01-02
  • 示例演化驱动的学生程序自动修复
    摘要:已有的程序自动化调试研究大多面向工业软件,而学生程序调试具有缺陷数多、类型复杂等特有难点问题,因此,针对学生程序设计应用背景,研究程序自动修复方法,利用模板示例程序指导补丁的演化.改进了遗传编程算法,包括适应度的计算、变异体的生成方式和变异位置及操作的选择方式,使其更加适合修复学生程序.提出了 ...
    本站小编 Free考研考试 2022-01-02
  • C/C++程序缺陷自动修复与确认方法
    摘要:在计算机软件中,程序缺陷不可避免且极有可能造成重大损失.因此,尽早发现并排除程序中潜在的缺陷,是学术界和工业界的普遍共识.目前的程序缺陷自动修复方法大都遵循缺陷定位、修复候选项生成、选择及验证的流程,但在修复实际程序时存在修复率低、无法保证修复结果的正确性等问题.提出了一种基于程序合成的C/C ...
    本站小编 Free考研考试 2022-01-02
  • C程序内存泄漏智能化检测方法
    摘要:内存泄漏在采用显式内存管理机制的C语言中是一种常见的代码缺陷,内存泄漏的检测方法目前主要是静态分析与动态检测.动态检测开销大,且高度依赖测试用例;静态分析目前被学术界和工业界广泛应用,但是存在大量误报,需要人工对检测结果进行确认.内存泄漏静态分析的误报通常是由于对指针、分支语句和全局变量分析的 ...
    本站小编 Free考研考试 2022-01-02
  • 代码坏味对软件演化影响的实证研究
    摘要:代码坏味是指程序设计中存在的不良设计模式或设计缺陷.坏味的存在,被认为会阻碍软件的演化与维护.近年来,研究人员致力于探究坏味产生的影响以及坏味与软件演化之间的关系.已有研究表明,代码坏味会随着软件的演化而不断发生变化.通常,软件的演化将涉及源文件的增加、修改与删除这3类具体操作,了解代码坏味与 ...
    本站小编 Free考研考试 2022-01-02
  • 基于图嵌入的软件项目源代码检索方法
    摘要:源代码检索是软件工程领域的一项重要研究问题,其主要任务是检索和复用软件项目API(applicationprograminterface,应用程序接口).随着软件项目的规模越来越大、越来越复杂,当前,源代码检索一方面需要提高基于自然语言API查询的准确性,另一方面需要定位和展示目标API及其相 ...
    本站小编 Free考研考试 2022-01-02
  • 企业级海量代码的检索与管理技术
    摘要:在大型IT企业中,尤其像Google或者百度,代码搜索已是软件开发过程中不可或缺且频繁的活动,其通过借鉴或复用已有代码,加速开发过程的速度.多年以来,已有大量的研究人员关注代码搜索,且设计出很多优秀的工具.但是已有的研究和工具主要是在小规模或者编程语言单一的代码数据集上,没有从企业实际搜索需求 ...
    本站小编 Free考研考试 2022-01-02
  • 代码克隆检测研究进展
    摘要:代码克隆(codeclone),是指存在于代码库中两个及以上相同或者相似的源代码片段.代码克隆相关问题是软件工程领域研究的重要课题.代码克隆是软件开发中的常见现象,它能够提高效率,产生一定的正面效益.但是研究表明,代码克隆也会对软件系统的开发、维护产生负面的影响,包括降低软件稳定性,造成代码库 ...
    本站小编 Free考研考试 2022-01-02
  • 面向云应用系统的容错即服务优化提供方法
    摘要:通过提供高效且持续可用的容错服务以保障云应用系统的可靠运行是至关重要的.采用容错即服务的模式,提出了一种优化的云容错服务动态提供方法,从云应用组件的可靠性及响应时间等方面描述云应用容错需求,以常用的复制、检查点和NVP(N-versionprogramming)等容错技术为基础,充分考虑容错服 ...
    本站小编 Free考研考试 2022-01-02