centerplain的个人博客分享 http://blog.sciencenet.cn/u/centerplain

博文

学习XML的笔记

已有 2600 次阅读 2011-4-19 11:46 |系统分类:科研笔记

这几天突击看了孙鑫讲的XML,收获如下:
1、XML是一种可扩展的标记语言,该语言要符合一定的格式规定,比如:开始标签、结束标签。在一个XML文档中,一般会有一个根元素,若干个元素及子元素,每个元素又可以定义其具有的属性以及属性的取值、默认值等,整个XML描述的信息其实就构成了一颗树;
2、XML文档除了要符合一定的格式,还会有一定的语法,也就是说,元素和元素之间是什么关系、元素和属性之间是什么关系以及属性之间是什么关系,这些关系都由DTD(文档类型定义)或者由一个特殊的XML文档schema来具体说明。一个XML的DTD可以来自于外部,也可以定义在XML文档内部,schema的文档后缀是.xsd,表示是xml schema definition,功能比DTD强大,支持的数据类型比较多;
3、XML解析器可以用于对XML文档进行格式以及语法的检查,目前常用的一些XML解析器大都支持两种API,DOM(W3C的)和SAX(XML社区的),基于这两种API,用户可以方便的在应用程序中对XML文档中的数据进行访问、操做等工作。
 
    在反编译过程中,我们要从IDA中提取相关的信息,并将其转化为语义等价的中间语言,这个转换过程需要用到语义字典,组成语义字典的基本单元是指令语义描述模板,通常是一组有序的中间语句,即对应每条汇编指令都有一组有序的中间语句模板,在转换的时候,只需要将汇编指令中的实际操作数替换模板中的通用操作数即可。
 
    在实现的过程中,可以用xml来存放语义字典、以及由IDA反汇编得到的信息。用xml的最大优点是:方便扩展!当中间语言不能满足对某个硬件平台指令系统的描述的时候,需要对中间语言进行扩展,这时,只需要在相应的语义字典.xml文档中添加相应的DTD文档类型定义或者修改相应的schema.xsd文档,xml解析器就可以正确解析其数据,而中间代码的转换部分不用做任何修改。


https://blog.sciencenet.cn/blog-544280-434910.html

上一篇:DDE的详细报告:Howard
下一篇:开题报告终于改完啦!
收藏 IP: 221.15.201.*| 热度|

1 黄富强

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 06:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部