ISO认证证书上UKAS、RVA、CNAS、IAF标志是什么意思呢?

ISO认证证书上UKAS、RVA、CNAS、IAF标志是什么意思呢?,第1张

英国认可服务组织(UKAS)是英国政府承认的负责对某一组织的胜任能力进行评审和认可的国家专门机构。认可的范围包括测量、测试和检测机构以及质量体系、产品和人员的认证机构,这种认可提供了国际互认。

英国UKAS已被英国政府授权使用带有皇家皇冠图样的认可标志,得到UKAS认可的机构有权使用此标志。UKAS所有审核员均为质量管理方面有经验的专家,他们全部通过了其审核领域的正规培训课程,所有的实验室审核员均为经过考核的测量方面的专家。至2000年5月,UKAS已经认可了500家测量实验室,1500家测试实验室,80家认证机构和70家检测机构。

UKAS

英国UKAS已签署了多项国际协议,以确保UKAS的认可结果得到国际上的承认,最终达到降低贸易壁垒的结果。UKAS是欧洲认可合作组织(EA),国际实验室认可合作组织(ILAC)和国际认可论坛(IAF)的主席会员,它同EA签署了互认协议,并接受依照国际标准进行的常规同行评审以使该互认协议不断得到保持

URS

荷兰认可理事会(RVA)是国际上历史悠久的、享有盛名的、权威的认证组织认可机构。该机构主要从事实验室、检验机构、认证机构的认可。其前身是RVC,1996年更名为RVA。早在1980年ISO9000系列标准问世之前就开始从事质量体系认证机构的认可活动,当时的审核依据主要是美国军用标准—质量保证大纲和北大西洋公约的军用标准,1987年以后则转为ISO9000系列标准。RVA是目前世界上对认证机构认可最多的组织,并最富有国际性色彩。在其认可的近70个质量体系认证机构中,有半数以上的认证机构在荷兰国外,主要分布于欧洲、美洲和亚洲等数十个国家。

CNAS

中国合格评定国家认可委员会(China National Accreditation Service for Conformity Assessment,CNAS)是根据《中华人民共和国认证认可条例》的规定,由国家认证认可监督管理委员会批准设立并授权的国家认可机构,统一负责对认证机构、实验室和检查机构等相关机构的认可工作。

PE格式非常重用叫做RVA的.RVA,全写为"relative virtual address",用于在不知道基地址的 条件下描述内存地址.其值需加到基地址上以获得线性地址. 基地址是PE镜像所要加载到的地址,每次加载都可能变化. 例:假如一个可执行文件加载到了地址0x400000执行代码的起始RVA为0x1560.那么执行代码的有效 起始地址为0x401560.如果文件加载到0x100000,执行码的起始地址应为0x101560. 因为PE文件的段不必按加载镜像的排列方式排列而使事情变的复杂. 例如,文件的区段通常为512字节对齐,但加载镜像或许按4096字节对齐.(参见区段对齐和文件对齐) 所以在找PE文件中特定RVA的信息时,必须假设文件己加载并算出偏移量,在文件中跳过偏移量. 举个例子,假设知道执行码起始地址的RVA为0x1506,想要反汇编这段代码.要找到文件中的地址, 先要找到".code"段起始地址的RVA为0x1000长度为16384这样就知道RVA-0x1560是在这个区段中 偏移0x560.找出区段在文件中是以512字节对齐的而".code"段在文件中的起始地址为0x800,你就知 道了执行码在文件中的起始地址为0x800+0x560=0xd60. 进行反汇编找到一个对线地址为0x1051d0的变量的访问.线地址在载入二进制档时如果默认地址已被 使用则会给出替换地址.查出默认地址是0x100000,则要处理的是虚地址0x51d0.这是在起始于虚地址 0x5000长度为2048字节的数据段.文件中的起始地址偏移量为0x4800.现在可以找到变量在文件中的 偏移量了

相对虚拟地址

在可执行文件中,许多地方都需要被指定一个在内存中的地址。例如在使用全局变量时需要它的地址。PE文件可以被加载到进程地址空间中的任何地方。虽然它有一个首选地址,但你却不能依赖可执行文件一定会被加载到那个地址。因此就需要按一定方式指定地址,使它们并不依赖于可执行文件的加载地址。

为了避免在PE文件中硬编码内存地址,因此就使用了RVA。RVA只是一个相对于PE文件在内存中的加载位置的偏移。例如假定一个EXE文件被加载在0x400000处,而它的代码节在0x401000处。那么这个代码节的RVA就是:

(目标地址)0x401000 - (加载地址)0x400000 = (RVA)0x1000

要把一个RVA转换成实际地址,只需要简单地逆着上述过程进行:将RVA与实际加载地址相加就能得到实际的内存地址。顺便说一下,按照PE格式中的说法,实际的内存地址被称为虚拟地址(Virtual Address,VA)。另外一种考虑VA的方式就是把它当成RVA加上首选加载地址。不要忘了我前面说过加载地址与HMODULE是一回事。

想在内存中探索一些DLL内部的数据结构吗?这里就是方法——用DLL的名称作为参数调用GetModuleHandle函数,它返回的HMODULE就是这个DLL的加载地址,你可以利用你学的关于PE文件结构的知识在这个模块中找到你想找到的一切。

数据目录

在可执行文件中有许多数据结构需要被快速地定位。导入表、导出表、资源以及基址重定位信息等就是一些明显的例子。所有这些广为人知的结构都是以同样的方式被定位的,这些位置被称为数据目录。

struct _IMAGE_DATA_DIRECTORY {

DWORD VirtualAddress

DWORD Size

} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY

#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES16

数据目录是一个有16个(WINNT.H中定义为IMAGE_NUMBEROF_DIRECTORY_ENTRIES)元素的结构数组。每个数组元素所指代的内容已经被预先定义好了。WINNT.H文件中的这些IMAGE_DIRECTORY_ENTRY_xxx定义就是数据目录的索引(从0到15)。下表描述了每个IMAGE_DIRECTORY_ENTRY_xxx值所指代的内容。由它们指向的许多数据结构将在本文的第二部分中详细描述。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11913044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存