[发明专利]一种反编译数据流分析中的寄存器清除方法及系统有效
申请号: | 201210283230.4 | 申请日: | 2012-08-10 |
公开(公告)号: | CN102855139A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 姚力;李少腾;楼轶;胡瑛俊;吴幸;陆春光;刘金硕;郑稳 | 申请(专利权)人: | 浙江省电力公司电力科学研究院 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 反编译 数据流 分析 中的 寄存器 清除 方法 系统 | ||
1.一种反编译数据流分析中的寄存器清除方法,其特征在于,包括:
打开寄存器清除之前汇编语言的代码文件并读取所述代码文件中的所有函数语句;
对所读取的函数语句依次进行判断,判断函数语句中是否包括寄存器名称,如果是,则构建二叉树并将该函数语句输入到所述二叉树中;
对包含有寄存器名称的函数语句依次进行判断,判断该函数语句中是否包括二叉树右孩子结束标识,如果是,则对构建的二叉树进行消元处理以去除所述二叉树中的寄存器名称,生成最简二叉树,根据所述最简二叉树生成高级语言的函数语句;否则,继续判断后续函数语句中是否包括寄存器名称。
2.根据权利要求1所述的方法,其特征在于,所述寄存器名称为:EAX、AX、BX、CX、DX、SP、SI、BP或DI。
3.根据权利要求1或2所述的方法,其特征在于,所述打开寄存器清除之前汇编语言的代码文件并读取所述代码文件中的所有函数语句,包括:
打开寄存器清除之前汇编语言的代码文件;
根据所述代码文件中的所有函数语句构建单链表;
遍历所述单链表。
4.根据权利要求1所述的方法,其特征在于,当所述寄存器名称为EAX时,所述二叉树右孩子结束标识为“eax;”。
5.根据权利要求1所述的方法,其特征在于,所述构建二叉树并将该函数语句输入到所述二叉树中,包括:
构建二叉树;
将该函数语句中等号左边的代码输入到所述二叉树中的左孩子中;
将该函数语句中等号右边的代码输入到所述二叉树中的右孩子中。
6.根据权利要求1所述的方法,其特征在于,所述进行消元处理以去除所述二叉树中的寄存器名称,生成最简二叉树,包括:
使用顶层根节点的右孩子中的代码替换顶层根节点下一层节点的右孩子中的寄存器名称并删除所述顶层根节点的下一层节点。
7.一种反编译数据流分析中的寄存器清除系统,其特征在于,包括:读取单元、寄存器名称判断单元、二叉树构建单元、结束标识判断单元、消元单元和高级语言生成单元,
所述读取单元,用于打开寄存器清除之前汇编语言的代码文件并读取所述代码文件中的所有函数语句;
所述寄存器名称判断单元,用于对所读取的函数语句依次进行判断,判断函数语句中是否包括寄存器名称,如果是,则触发所述二叉树构建单元;
所述二叉树构建单元,用于构建二叉树并将该函数语句输入到所述二叉树中;
所述结束标识判断单元,用于对包含有寄存器名称的函数语句依次进行判断,判断该函数语句中是否包括二叉树右孩子结束标识,如果是,则触发所述消元单元;否则发送一判断指令到所述寄存器名称判断单元,使所述寄存器名称判断单元继续判断后续函数语句中是否包括寄存器名称;
所述消元单元,用于对构建的二叉树进行消元处理以去除所述二叉树中的寄存器名称,生成最简二叉树;
所述高级语言生成单元,用于根据所述最简二叉树生成高级语言的函数语句。
8.根据权利要求7所述的系统,其特征在于,所述读取单元包括:文件打开单元、单链表构建子单元和单链表遍历子单元,
所述文件打开子单元,用于打开寄存器清除之前汇编语言的代码文件;
所述单链表构建子单元,用于根据所述代码文件中的所有函数语句构建单链表;
所述单链表遍历子单元,用于遍历所述单链表。
9.根据权利要求7所述的系统,其特征在于,所述二叉树构建单元包括:二叉树构建子单元、左孩子子单元和右孩子子单元,
所述二叉树构建子单元,用于构建二叉树;
所述左孩子子单元,用于将该函数语句中等号左边的代码输入到所述二叉树中的左孩子中;
所述右孩子子单元,用于将该函数语句中等号右边的代码输入到所述二叉树中的右孩子中。
10.根据权利要求7所述的系统,其特征在于,所述消元单元具体设置为:
使用顶层根节点的右孩子中的代码替换顶层根节点下一层节点的右孩子中的寄存器名称并删除所述顶层根节点的下一层节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江省电力公司电力科学研究院,未经浙江省电力公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210283230.4/1.html,转载请声明来源钻瓜专利网。