一种基于程序切片的反代码迷惑算法.pdfVIP

一种基于程序切片的反代码迷惑算法.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于程序切片的反代码迷惑算法半??言??朊曰蠛统绦蚯衅?际?钟诚?朱正平?张莲?浜>?摘要:代码迷惑技术是一种最有前途的程序代码保护技术之一.已有的反代码迷惑技术一般都是谓词和增加无效代码的代码迷惑变换算法.实验结果表明此算法具有较好的反代码迷惑效果.移动代码的安全问题是移动计算领域的基础问题。代码迷惑技术【??】为解决这类问题提供了一些新的方向。代码迷惑技术还能为传统密码学提供理论支持,它在“白盒加密”、同形加密利“随机预言模型”加密上字的多重身份进行分析。文献【?刻岢鲆恢只?谥葱新肪兑?氐娜砑??∷惴ā?已有的反代码迷惑技术的研究主要针对采用汇编语言或者??语言开发的程序,它们解决的都是某种代码迷惑技术。到目前为止,很少有专门研究针对??镅猿绦虻姆创?朊曰蠹际酰?埠苌儆凶?叛芯靠?击某类代码迷惑的技术。增加无效代码是一种增加不改变上下文关系的无用代码的技术,这种技术在已有的各种代码迷惑器的序代码运行的某处具有已知的结果。不透明谓词分为?啵孩儆勒嫖酱省6杂谌魏问淙搿N酱识际钦娴摹??阄鞔笱Ъ扑慊?氲缱有畔⒀г海?懔侥夏?????恪N鞔笱?耸麓Γ?懔侥夏????针对汇编语言程序代码或者??语言程序代码设计的。本文提出一种基于??镅猿绦虻亩钥共煌该?关键词:反代码迷惑技术程序切片不透明谓词’???有重要的应用价值。另一方面,对代码迷惑技术的攻击能够促进代码迷惑技术的发展。此方面的研究还比较少。文献【?垦?究了针对汇编语言程序代码的静态模式匹配技术。这种技术把多种代码迷惑方式进行结构化,通过计算代码??贾械哪J嚼慈范ù?胧欠袷褂肨??奥朊曰蟊浠弧N南住?】提出一种对抗函数间接跳转技术的算法,此算法使用抽象栈技术来寻找山病毒技术常刚的函数间接跳转。文献【?恐饕U攵訨??镅猿绦虼?胫械ッ?实现中十分常用。不透明谓词是用来进行控制迷惑的另一种技术。不透明谓词指的是某个布尔表达式在程②永假谓词。对于任何输入,谓词都是假的。③不定谓词。谓词可以为真也可以为假。比如对于如下代码段:????????????;’基金项目?阄骺蒲?〗?桂科自????:作者简介?映希?校??琇??淌冢?饕Q芯扛呖尚湃砑?际酰海籯?平,男,硕十,主要研究软件密码技术;张莲,女,工程师,主要研究??络信息安全;卿海军,男。硕卜生,主要研究软件密码技术。‘一 诔绦蚯衅?姆创?朊曰笏惴?捌涫笛樾阅???反代码迷惑算法??蔡?治龊???玫胶??锩娴目刂莆酵??頟,每个控制谓词都有?鍪粜裕?直鸨硎疚U娴???藁?鱦?一次豳数,记录函数的输入值序列鄯谓词集会?忻扛鑫酱实慕峁???菸酱时U婕伲???灾氐?拥姆绞浇?刹街??得到的所有切片进行合并以获得一个函数切片结果。。??治龊??衅?峁?5玫角衅?峁?械闹糁莆酱始?螾’,??荘的子集。分别计算属于??奈酱?为真和为假的次数,如果谓词为真的次数为??敲丛谇衅?峁?猩境?飧隹刂莆节?推淇刂频乃?有代码;如果谓词为缓的次数为??敲淳挖鄯榔?崂踔猩境?飧鑫酱省?在算法的步骤????胫兴?械目刂莆酱识急患窃谾米。所谓的控制谓词就是判断语句和循环语句里??《?其中条件语匀里的谓词“??本褪且桓隹馗钗即省?刂莆节伎刂苹沙嚏训亩熳!?算法步骤??墓丶?蔷】赡芩婊?氐饔煤??C看蔚饔玫氖淙胫敌蛄卸己鸵丫?鱿止?氖淙胫敌蛄薪?行比较,如果某次输入值序列没有出现过.酃么就认为它是随机的。步骤????是算法的主要步骤。善先必须找到代妈幸所在的???语匀。每个???语句都会涉及到一些变斌,对这个???语句以及这些变景进行动态程序切片处理,会得到一个切片的结果。把所有这些?其串第??信卸嫌锞渲械摹?甶?????峙?’就是一个不透明谓谣,阂为对于任何?此担琻???的僵都是?幕笆???哉飧鑫酱士隙ㄊ羌俚摹?程序切片技术??且恢指?菅≡竦挠镆謇醇蚧?绦虻募际酢3绦蚯衅?墓?叹褪巧境?肴嗣歉行巳さ?语义无芙的彩序片断。这种技术有着十分??泛的庵胡,它最常羽在代码调试中,这燕因为它能够极大地篱化有效?媛辏?沟么?肴菀追治觥3绦蚯衅?治?种:静态秽序切片、动态程序切片、条州:切片和自由程序切片。动态程序切片根据某个具体的输入来建立程序切片。其切片标准定义为一个?W椋??ㄓ锞湮?置、交鼙集合和输入数据亭利,输入数据序苑是一个多元组,每个输入对应一个变鼙。为了方便讨论起见,假设需要分柝豹裂序代玛是~个完整的硇数,它是某个程?褐康囊还?郑???墓?能和系统平台没有关系。算法??诔绦蚯衅?姆创?朊曰笏惴?次数和为假的次数。增加对应属性的值。???莶街??得到的输入值序列。对所有返回语句及其涉及到的所有变麓进行程序切片,并记录所有切片的结果。??馗丛诵胁街??到??愎欢啻巍???勾紊岣ド鲜雒看窝?凤降降拈晔?衅?峁??面的条件谓词。比如,对予下列语句;???????%????

文档评论(0)

ouyangxiaoxin + 关注
实名认证
文档贡献者

一线鞋类设计师,喜欢整理收集文档。

1亿VIP精品文档

相关文档