Polyethylene中文名: 聚乙烯
英文名: POLYETHYLENE
英文名2:PE
分子式: (C2H4)n
结构式:
分子量:
CAS号: 9002-88-4
RTECS号: TQ3325000
HS编码:
UN编号: 3314,塑料成型化合物
危险货物编号:
IMDG规则页码:
Polyethylene
PE,全名为Polyethylene,是结构最简单的高分子有机化合物,当今世界应用最广泛的高分子材料,由乙烯聚合而成,根据密度的不同分为高密度聚乙烯、中密度聚乙烯和低密度聚乙烯。低密度聚乙烯较软,多用高压聚合;高密度聚乙烯具有刚性、硬度和机械强度大的特性,多用低压聚合。高密度聚乙烯可以做容器、管道,也可以做高频的电绝缘材料,用于雷达和电视。大量使用的常为低密度(高压)聚乙烯。聚乙烯为蜡状,有蜡一样的光滑感,不染色时,低密度聚乙烯透明,而高密度聚乙烯不透明,
聚乙烯是通过乙烯( CH2=CH2 )的加成反应和聚合反应,由重复的–CH2–单元连接而成的高聚合链。聚乙烯的性能取决于它的聚合方式;在中等压力(15-30大气压)有机化合物催化条件下进行Ziegler-Natta聚合而成的是高密度聚乙烯(HDPE)。这种条件下聚合的聚乙烯分子是线性的,且分子链很长,分子量高达几十万。如果是在高压力(100-300MPa),高温(190–210 C),过氧化物催化条件下自由基聚合,生产出的则是低密度聚乙烯(LDPE),它是支化结构的。
聚乙烯不溶于水,吸水性很小,就是对一些化学溶剂,如甲苯、醋酸等,也只有在70℃以上温度时才略有溶解。但是微粒状的聚乙烯,可以在15℃~40℃之间随温度的变化熔化或凝固,温度升高时熔化,吸收热量;温度降低时凝固,放出热量。又因为它吸水量很小,不易潮湿,有绝缘性能,因此是很好的建筑材料。
理化性质
外观与性状: 有韧性的树脂质颗粒或粉末,白色,有蜡味。
主要用途:
熔点:
沸点:
相对密度(水=1):
相对密度(空气=1):
饱和蒸汽压(kPa):
溶解性: 浮在水上,不溶。
临界温度(℃):
临界压力(MPa):
燃烧热(kj/mol):
燃烧爆炸危险性
避免接触的条件:
燃烧性: 可燃
建规火险分级:
闪点(℃): 231℃
自燃温度(℃):
爆炸下限(V%):
爆炸上限(V%):
危险特性: 与强氧化剂接触能引起燃烧和爆炸。与氟、四氟化氙接触剧烈反应。与硝酸、氯化钠、三硝基甲烷不能配伍。
燃烧(分解)产物:
稳定性:
聚合危害:
禁忌物:
灭火方法:
包装与储运
危险性类别:
危险货物包装标志:
包装类别:
储运注意事项: ERG指南:171 ERG指南分类:物质(低至中等危害的)
毒性危害
接触限值:
侵入途径:
毒性:
健康危害: IARC评价:3组,动物证据充分;人类证据不足
急救
皮肤接触: 脱去并隔离被污染的衣服和鞋。确保医务人员了解该物质相关的个体防护知识,注意自身防护。
眼睛接触: 如果皮肤或眼睛接触该物质,应立即用清水冲洗至少20min。
吸入: 移患者至空气新鲜处,就医。如果患者呼吸停止,给予人工呼吸。如果呼吸困难,给予吸氧。
食入:
防护措施
工程控制:
呼吸系统防护:
眼睛防护:
防护服:
手防护:
其他:
泄漏处置:
特性以及用途
高密度PE是最老的线性PE,在1957年推出。其特征是密度在0.940以上,具有刚性、韧性好的抗环境应力开裂性(ESCR)和低温性能。并在许多主要市场中广泛应用。一些实例是吹塑包装物、模塑零件、挤压管材、型材和滚塑大型中空制品。
Protecting earthingPE线,英文全称protecting earthing,简体中文名称称之为[保护导体],也就是我们通常所说的[地线]
接地的线,把设备不应当带电,或者说应当对地无电位差的导体部位接地的线,他就叫地线,PE线。
按照GB9089.2标准中的学术用语解释
PE线简体中文名为[保护导体],他是一个独立于供电线路的导体,并且他存在对地低电阻的特性。比如我们将电饭锅的外壳接地,在电力接线标准中,应当优先使用带PE线的系统保护设备和人员的安全。,PE线在通常情况下不带电流,若带电流则被保护器件存在漏电。
而他所说的[保护接零线],英文缩写是PEN,即简体中文中学术语中的[保护中性导体]
PEN线是将原中性线准确的,良好的接地,同时将需要保护的设备的外壳等连接于PEN线,
所以,PEN线同时具有上述所说的PE线的接地性质,也具有N线[中性线,零线]的带动负载的性质
不过PEN通常是为了节省材料以及在特殊地方应用的,按照电力线路部署的有关标准,应当最大可能的使用PE+N线系统,即部署完全独立的PE保护线,而不是PEN这种将N线和PE线捆绑于一起的
PEN系统一旦遇到接地问题,N线有时候由于负载不均衡,是会带电的,就很容易造成人身伤害了。
所以切记,如果可能,应当尽最大能力部署独立的PE保护线,即使不部署PE保护也最好不要使用PEN,PEN线我个人认为,除非特定领域需要,否则仅仅是应付检查的东西,他甚至比不部署保护线还要危险
按照数据中心部线标准,PEN方式的保护,最大的忌讳,是永远不能容忍这样部署的
比如计算机等精密设备,如果外壳带电,同时各线路板也连接外壳进行保护,他们设计时候认为外壳应当是绝对的等电位的,而恰恰由于这样连接线,一旦遇到一些比如闪电等情况,就可能瞬间导致电子设备的损坏,根本没有挽回的余地
市盈率(PRICE / EARNING PER SHARE)PE = PRICE / EARNING PER SHARE
PE是指股票的本益比,也称为“利润收益率”。本益比是某种股票普通股每股市价与每股盈利的比率。所以它也称为股价收益比率或市价盈利比率(市盈率)
市盈率PE分为静态市盈率PE和动态市盈率PE
:静态PE=股价/每股收益(EPS)(年) 动态PE=股价*总股本/下一年净利润(需要自己预测)
市盈率把股价和利润连系起来,反映了企业的近期表现。如果股价上升,但利润没有变化,甚至下降,则市盈率将会上升。
一般来说,市盈率水平为:
0-13 - 即价值被低估
14-20 - 即正常水平
21-28 - 即价值被高估
28+ - 反映股市出现投机性泡沫
股市的市盈率
股息收益率
上市公司通常会把部份盈利派发给股东作为股息。上一年度的每股股息除以股票现价,是为现行股息收益率。如果股价为50元,去年股息为每股5元,则股息收益率为10%,此数字一般来说属于偏高,反映市盈率偏低,股票价值被低估。
一般来说,市盈率极高(如大于100倍)的股票,其股息收益率为零。因为当市盈率大于100倍,表示投资者要超过100年的时间才能回本,股票价值被高估,没有股息派发。
一、怎样计算PE
PE(市盈率)是一间公司股票的每股市价与每股盈利的比率。其计算公式如下:
市盈率 =每股市价/每股盈利
目前,几家大的证券报刊在每日股市行情报表中都附有市盈率指标,其计算方法为:
市盈率 =每股收市价格/上一年每股税后利润
对于因送红股、公积金转增股本、配股造成股本总数比上一年年末数增加的公司,其每股税后利润按变动后的股本总数予以相应的摊薄。
以东大阿派为例,公司1998年每股税后利润0.60元,1999年4月实施每10股转3股的公积金转增方案,6月30日收市价为43.00元,则市盈率为
43/0.60/(1+0.3)=93.17(倍) 公司行业地位、市场前景、财务状况。
以市盈率为股票定价,需要引入一个"标准市盈率"进行对比--以银行利率折算出来的市盈率。在1999年6月第七次降息后,我国目前一年期定期存款利率为2.25%,也就是说,投资100元,一年的收益为2.25元,按市盈率公式计算:
100/2.25(收益)=44.44(倍)
如果说购买股票纯粹是为了获取红利,而公司的业绩一直保持不变,则股利的收适应症与利息收入具有同样意义,对于投资者来说,是把钱存入银行,还是购买股票,首先取决于谁的投资收益率高。因此,当股票市盈率低于银行利率折算出的标准市盈率,资金就会用于购买股票,反之,则资金流向银行存款,这就是最简单、直观的市盈率定价分析。
二、正确看待市盈率指标
在股票市场中,当人们完全套用市盈率指标去衡量股票价格的时候,会发现市场变得无法理喻:股票的市盈率相差悬殊,并没有向银行利率看齐;市盈率越高的股票,其市场表现越好。是市盈率指标没有实际应用意义吗?其实不然,这只是投资者没能正确把握对市盈率指标的理解和应用而已。
1.市盈率指标对市场具有整体性的指导意义
市场的资金永远向收益率高的地方流动,就股票市场的整体平均市盈率而言,基本上是与银行利率水平看齐的。在降息以前,我国股市平均市盈率达到35-40倍就显得偏高了,而经过7次降息后,股市平均市盈率上升至40倍,则被视为"恢复性"的上涨。
2.衡量市盈率指标要考虑股票市场的特性。
与银行储蓄相比,股票市场具有高风险、高收益的特征。股票投资的收益,除了股息收入外,还存在买卖价差产生的损益。股票定价适当高于银行存款标准,体现了风险与收益成正比的原则。
3.以动态眼光看待市盈率
市盈率指标计算以公司上一年的盈利水平为依据,其最大的缺陷在于忽略了对公司未来盈利状况的预测。从单个公司来看,市盈率指标对业绩较稳定的公用事业、商业类公司参考较大,但对业绩不稳定的公司,则易产生判断偏差。以上面提到的东大阿派为例,由于公司市场前景广阔,具有很高的成长性,受到投资者的追捧,股价上升,市盈率居高不下,但以公司每年80%的利润增长速度,以现价购入,一年后的市盈率已经大幅下降;相反,一些身处夕阳产业的上市公司,目前市盈率低到20倍左右,但公司经营状况不佳,利润呈滑坡趋势,以现价购入,一年后的市盈率可就奇高无比了。
市盈率高,在一定程度上反映了投资者对公司增长潜力的认同,不仅在中国股市如此,在欧美、香港成熟的投票市场上同样如此。从这个角度去看,投资者就不难理解为什么高科技板块的股票市盈率接近或超过100倍,而摩托车制造、钢铁行业的股票市盈率只有20倍了。当然,这并不是说股票的市盈率越高就越好,我国股市尚处于初级阶段,庄家肆意拉抬股价,造成市盈率奇高,市场风险巨大的现象时有发生,投资者应该从公司背景、基本素质等方面多加分析,对市盈率水平进行合理判断。
----------------------------------------------------------
产品/项目工程PE 是一个工种,英文是product Engineering 产品工程, 但也有人翻译成project Engineering项目工程.
product Engineering 产品工程,是技术员,就叫PE技术员;是工程师,就叫PE工程师。这个职位在工厂里主要是解决生产过程中出现的问题,及做作业指导书。属于职位比较低级的。
project Engineering项目工程。是专对某个产品,进行统筹,及专案管理。往往在公司中的级别较高。
------------------------------------------------------------
PE工程师有一些主要的职责
如:新产品的导入、试产的安排、生产指导,现场异常问题的及时排除(遇到异常立即有临时对策),生产工艺的改善、产品性能及结构方面的改善、包括工艺指导书的编写等。
总之PE工程师对于生产具有绝对的权威性。
相当于工程技术的工程师——PE的侧重点是现场的生产
PE须对生产工艺、产品性能、结构十分的了解。
可以说在一个工厂中对生产最熟悉的人就是PE,作到生产中任何事情都在PE的掌握中
不过现在也有了PIE工程师
做PE与IE相结合的事情。。。
----------------------------------------------------------
私募股权投资基金Private Equity(简称“PE”)在中国通常称为私募股权投资,从投资方式角度看,依国外相关研究机构定义,是指通过私募形式对私有企业,即非上市企业进行的权益性投资,在交易实施过程中附带考虑了将来的退出机制,即通过上市、并购或管理层回购等方式,出售持股获利。有少部分PE基金投资已上市公司的股权(如后面将要说到的PIPE),另外在投资方式上有的PE投资如Mezzanine投资亦采取债权型投资方式。不过以上只占很少部分,私募股权投资仍可按上述定义。
广义的私募股权投资为涵盖企业首次公开发行前各阶段的权益投资,即对处于种子期、初创期、发展期、扩展期、成熟期和Pre-IPO各个时期企业所进行的投资,相关资本按照投资阶段可划分为创业投资(Venture Capital)、发展资本(development capital)、并购基金(buyout/buyin fund)、夹层资本(Mezzanine Capital)、重振资本(turnaround),Pre-IPO资本(如bridge finance),以及其他如上市后私募投资(private investment in public equity,即PIPE)、不良债权distressed debt和不动产投资(real estate)等等(以上所述的概念也有重合的部分)。狭义的PE主要指对已经形成一定规模的,并产生稳定现金流的成熟企业的私募股权投资部分,主要是指创业投资后期的私募股权投资部分,而这其中并购基金和夹层资本在资金规模上占最大的一部分。在中国PE多指后者,以与VC区别。PE概念划分见表1所示。
这里着重介绍一下并购基金和夹层资本。
[1]并购基金是专注于对目标企业进行并购的基金,其投资手法是,通过收购目标企业股权,获得对目标企业的控制权,然后对其进行一定的重组改造,持有一定时期后再出售。
并购基金与其他类型投资的不同表现在,风险投资主要投资于创业型企业,并购基金选择的对象是成熟企业;其他私募股权投资对企业控制权无兴趣,而并购基金意在获得目标企业的控制权。并购基金经常出现在MBO和MBI中。
夹层资本,是指在风险和回报方面,介于优先债权投资(如债券和贷款)和股本投资之间的一种投资资本形式。对于公司和股票推荐人而言,夹层投资通常提供形式非常灵活的较长期融资,这种融资的稀释程度要小于股市,并能根据特殊需求作出调整。而夹层融资的付款事宜也可以根据公司的现金流状况确定。夹层资本一般偏向于采取可转换公司债券和可转换优先股之类的金融工具。
PE的主要特点如下:
1. 在资金募集上,主要通过非公开方式面向少数机构投资者或个人募集, 它的销售和赎回都是基金管理人通过私下与投资者协商进行的。另外在投资方式上也是以私募形式进行,绝少涉及公开市场的操作,一般无需披露交易细节。
2. 多采取权益型投资方式,绝少涉及债权投资。PE投资机构也因此对被投资企业的决策管理享有一定的表决权。反映在投资工具上,多采用普通股或者可转让优先股,以及可转债的工具形式。
3. 一般投资于私有公司即非上市企业,绝少投资已公开发行公司,不会涉及到要约收购义务。
4. 比较偏向于已形成一定规模和产生稳定现金流的成形企业 ,这一点与VC有明显区别。
5. 投资期限较长,一般可达3至5年或更长,属于中长期投资。
6. 流动性差,没有现成的市场供非上市公司的股权出让方与购买方直接达成交易。
7. 资金来源广泛,如富有的个人、风险基金、杠杆并购基金、战略投资者、养老基金、保险公司等。
8. PE投资机构多采取有限合伙制,这种企业组织形式有很好的投资管理效率,并避免了双重征税的弊端。
9. 投资退出渠道多样化,有IPO、售出(TRADE SALE) 、兼并收购(M&A)、标的公司管理层回购等等。
与VC等概念的区别:
PE与VC虽然都是对上市前企业的投资,但是两者在投资阶段、投资规模、投资理念和投资特点等方面有很大的不同。主要区别如下:
很多传统上的VC机构现在也介入PE业务,而许多传统上被认为专做PE业务的机构也参与VC项目,也就是说PE与VC只是概念上的一个区分,在实际业务中两者界限越来越模糊。比如著名的PE机构如凯雷(Carlyle)也涉及VC业务,其投资的携程网、聚众传媒等便是VC形式的投资。
另外我们也要搞清PE基金与内地所称的“私募基金”的区别,如上所述,PE基金主要以私募形式投资于未上市的公司股权,而我们所说的“私募基金”则主要是指通过私募形式,向投资者筹集资金,进行管理并投资于证券市场(多为二级市场)的基金,主要是用来区别共同基金(mutual fund)等公募基金的。
中国资本市场中的PE:
如以狭义PE概念衡量(即把VC排除在外),则如前面所述,中国大陆出现PE投资是很晚的事情。1999年国际金融公司(IFC)入股上海银行可认为初步具备了PE特点,不过业界大多认为,中国大陆第一起典型的PE案例,是2004年6月美国著名的新桥资本(New bridge Capital),以12.53亿元人民币,从深圳市政府手中收购深圳发展银行的17.89%的控股股权,这也是国际并购基金在中国的第一起重大案例,同时也藉此产生了第一家被国际并购基金控制的中国商业银行。由此发端,很多相似的PE案例接踵而来, PE投资市场渐趋活跃。
2004年末,美国华平投资集团等机构,联手收购哈药集团55%股权,创下第一宗国际并购基金收购大型国企案例;进入2005年后,PE领域更是欣欣向荣,不断爆出重大的投资案例,其特点是国际著名PE机构与国内金融巨头联姻,其投资规模之大让人咋舌。首先是2005年第三季度,国际著名
问题:什么是私募股权投资(PE)基金?私募股权投资 PE基金是什么意思?
PE机构参与了中行、建行等商业银行的引资工作,然后在2005年9月9日,凯雷投资集团对太平洋人寿4亿美元投资议案已经获得太平洋保险集团董事会通过,凯雷因此将获得太保人寿24.975%股权。这也是迄今为止中国最大的PE交易。另外,凯雷集团收购徐工机械绝对控股权的谈判也进入收尾期,有望成为第一起国际并购基金获大型国企绝对控股权案例。
此外,国内大型企业频频在海外进行并购活动,也有PE的影子。如联想以12.5亿美元高价并购IBM的PC部门,便有3家PE基金向联想注资3.5亿美元。此前海尔宣布以12.8亿美元,竞购美国老牌家电业者美泰克(Maytag),以海尔为首的收购团队也包括两家PE基金。
在中国,PE基金投资比较关注新兴私营企业,由于后者的成长速度很快,而且股权干净,无历史遗留问题,但一般缺乏银行资金支持,从而成为PE基金垂青的目标。同时,有些PE基金也参与国企改革,对改善国企的公司治理结构,引入国外先进的经营管理理念,提升国企国际化进程作出了很大的贡献。
目前在国内活跃的PE投资机构,绝大部分是国外的PE基金,国内相关的机构仍非常少,只有中金直接投资部演变而来的鼎晖(CDH)和联想旗下的弘毅投资等少数几家。这一方面由于PE概念进入中国比较晚,另一方面PE投资一般需要雄厚的资金实力,相对于国外PE动辄一个项目投资几亿美金,国内大多数企业或个人只能自愧不如,鲜有能力涉足这个行业。
现在国内活跃的PE投资机构大致可以归为以下几类:
一是专门的独立投资基金,如 The Carlyle Group,3i Group etc;
二是大型的多元化金融机构下设的直接投资部,如Morgan Stanley Asia, JP Morgan Partners ,Goldman Sachs Asia, CITIC Capital etc;
三是中外合资产业投资基金的法规出台后,新成立的私募股权投资基金,如弘毅投资,申滨投资等;
四是大型企业的投资基金,服务于其集团的发展战略和投资组合,如GE Capital 等;
五 其他如Temasek,GIC。
PE投资中国之驱动力及当前不利因素
中国高速成长的经济和不断完善的投资环境,无疑是PE投资中国的巨大驱动力,这主要表现在以下几个方面:
1.中国作为“金砖四国”(BRICs,即巴西、俄罗斯、印度和中国英文首写字母连写而成)之一,持续、高速增长的经济蕴藏了巨大的投资机会。
2.基础设施建设逐步完善,全国信息化程度提高,大大改善了投资的硬件环境。
3.法律体制逐步健全:《公司法》和《证券法》的修订,创业投资相关法律也将要制订。
4.加入WTO后更多行业将向外资私人资本部分全面开放,如零售业、金融业和电信业等。
5.资本市场的不断健全:中小企业板的设立(创业板前奏),股改(全流通的实现)。
6.国企改制,国退民进,国家鼓励中小国企实施MBO为PE提供了巨大机会。
不利因素有,一,国内的退出机制仍不理想,没有创业板,全流通亦有待解决。二,近日外管局出台的两
问题:什么是私募股权投资(PE)基金?私募股权投资 PE基金是什么意思?
个文件(11号文和29号文)对离岸资本运作,红筹上市等国外退出方式有负面影响。目前国内PE基金投资套牢的案例不少。第三,国内有些行业对外资及私人资本投资比例亦有限制。第四,在法律环境方面,目前《公司法》有些规定对PE投资不利,比如对外投资比例设限,双重征税,有限合伙制的缺失等。最后,国内诚信体系不健全,诚信意识有待完善。
中国PE业务展望:
处于工业化转型期高速发展的中国经济和不断完善的投资环境,为PE提供了广阔的舞台。尤其在以下几个领域,PE更加有用武之地:
1.为日益活跃的中小企业、民营企业的并购、扩展提供资金。
2.内地企业境内境外公开上市前的Pre-IPO支持。
3.银行及公司重组。
4.近10万个国企的改革,国企民营化将是未来PE 的关注点。PE基金有望从以前被动的少数股权投资进入到购买控制权阶段,甚至是100%买断。华平对哈药的投资,以及凯雷集团谈判收购徐工机械,都是顺应了这一新趋势。
5.跨国境的收购兼并。随着国内企业的壮大和国际化意愿的日益强烈,越来越多的国内企业将走出国门进行境外收购兼并,而这也为PE基金提供了广阔的业务机会。
6.其他领域如不良资产处理,房地产投资等等也为PE提供了绝好的机会。
Windows PEWindows PreInstallation Environment(Windows PE)直接从字面上翻译就是“Windows预安装环境”,微软在2002年7月22日发布,它的原文解释是:“Windows预安装环境(Windows PE)是带有限服务的最小Win32子系统,基于以保护模式运行的Windows XP Professional内核。它包括运行Windows安装程序及脚本、连接网络共享、自动化基本过程以及执行硬件验证所需的最小功能。”换句话说,你可把Windows PE看作是一个只拥有最少核心服务的Mini操作系统。微软推出这么一个操作系统当然是因为它拥有与众不同的系统功能,如果要用一句话来解释,我认为与Win9X/2000/XP相比,Windows PE的主要不同点就是:它可以自定义制作自身的可启动副本,在保证你需要的核心服务的同时保持最小的操作系统体积,同时它又是标准的32位视窗API的系统平台。当然,现在这么说也许难以理解,没有关系,下面让我们来仔细研究它。
Windows PE概览
即使有刚才的解释,你一定还是对这个全新概念的Mini操作系统一头雾水,没关系,在这里我将演示一下其运行的全过程,相信看过之后你或许就会有大致的了解。大多数人获得的Windows PE光碟(包括我手上这张ISO镜像光碟)应该是一张“Windows XP OPK”CD,意思就是Windows XP OEM预安装工具包CD。实际上,Windows XP OPK CD是Windows PE 32位版本的一个可引导副本,也就是说,这张CD已经是个用Windows PE定义制作的操作系统了,我们可直接用它来引导系统。先看看这张CD的目录结构吧,总共有352MB,是不是有些大呢?其实由于这是个副本(至少包含了不少驱动程序),大小是由当时自定义制作决定的,若是Windows PE的32位非自定义版本,其在磁盘上的镜像大约为120MB。
1.引导Windows PE
笔者考虑到网络环境等问题,主要的使用环境是VMware虚拟机和Virtual PC虚拟机,不过这两种虚拟机环境与实际PC环境几乎没有区别(就是说如果你不清楚虚拟机也没关系,就当是在真实PC上直接运行)。
将BIOS中设置成光驱引导,并开始启动系统,当屏幕画面上出现“Press any key boot from cd”时,按任意键从光驱上的Windows PE引导启动。如果你的存储设备驱动不被支持,在启动时按下F6键可加载特殊设备的驱动。当启动到桌面时系统会做一些如调整分辨率的工作,最后打开默认的CMD命令行解释工具,大家看看,是货真价实的图形操作环境哦。
可以看到桌面上空空如也,不要指望可以拿鼠标点来点去,毕竟是个什么应用程序都没有安装;另外尽管光碟上带有的可执行的命令行工具有限,但明显可以自己添加,看看这是什么?没错,是我们最熟悉的扫雷游戏(现在知道题头所指了吧,呵呵),拿鼠标先玩玩吧,这是笔者从大家熟悉的WinXP操作系统中加入的(方法很简单,用ISO工具直接拷入刚才的镜像文件就可以了)。
那么还是先回到CMD命令行工具中吧。默认的目录是I386system32,输入命令行“dir *.exe /w”可查看有哪些可运行的程序。下面我们实际研究一下对个人用户有实际意义的Windows PE特性的操作。
在光碟镜像中可同时看到32位和64位操作系统的工具,对于个人用户来讲,你可用它直接引导没有安装任何系统的机器,并在其上实现32位系统的许多功能,这在后面会一一道来。
2.Windows PE对网络的支持
刚才dir时我们看到了ping命令,熟悉这个命令的读者应该都知道,只有安装了TCP/IP协议才能使用,那么不管三七二十一,先来ping自己试试吧,在CMD中键入“ping 127.0.0.1”,回车搞定,显然是可ping通的,这证明TCP/IP协议确实已在运行。再试一试光碟上另一个命令IPConfig,键入运行,看到IP地址已经自动分配好了。既然网络确实已经连接,那让我们来实际操作使用吧(这里可能有不少从视窗系统开始接触计算机的朋友会对操作不知所措,其实并没有想象中那么困难,你可以在CMD中使用命令工具带“/?”参数来查询具体使用方法,如果你机器上本来就装有XP,那么在帮助中心查询就更方便了,多实验一下,掌握命令行以后你会发现方便很多)。
现在我的物理机和虚拟机构成了一个虚拟网络,使用光碟镜像中的net命令,在虚拟机中键入“net view”查看已连接的服务器,这里显示的服务器“XQ-B6QAS26953 EC”,名字表示虚拟机已通过网络连接了我的物理机器。我的物理机器上有一个名为TUKU的文件夹已经共享,所以再键入“net use e:XQ-B6QAS26953ECTUKU”,意思是将物理机器上的共享目录TUKU镜像为虚拟机器上的E盘,成功后可在虚拟机里自由地访问共享目录,这时就可通过这个来做远程安装等工作。net命令还有不少参数,自己可以查阅并多加尝试,才可以发挥Windows PE强大的网络环境功能,如果只是简单地访问服务器,上面的两个命令参数基本足够了。不过这里要记住用Windows PE的机器可访问其他操作系统的机器,而逆操作是不能的,这是由于Windows PE本身的限制,我们后面再讲这个问题。事实说明,Windows PE启动后就可以使用网络环境。
3.利用Windows PE创建、删除、格式化和管理NTFS文件系统分区
对于个人用户来说这个功能很是实用和方便。但不少朋友在dir完以后就叫苦,怎么只有format.com,没有fdisk啊,根本没办法分区嘛。其实这是个误解,Windows XP中针对磁盘管理工作有专用的命令行工具DiskPart.exe,它是一种文本模式命令解释程序,能让你通过使用脚本或从命令提示符直接输入来管理对象(磁盘、分区或卷),Windows PE使用的当然也是DiskPart。
在CMD模式下键入“diskpart”并回车进入DiskPart命令行解释。键入“list disk”,显示有两块硬盘,分别为磁盘0和磁盘1。键入“select disk=0”执行,意思是选择指定磁盘,并将焦点转移到此磁盘,接下来的操作就都是针对它的(后面的操作都是一样,在磁盘、分区或卷上使用DiskPart命令前,必须首先将对象列表,然后选择要给予焦点的对象,只有对象拥有焦点时,键入的任何DiskPart命令才对该对象进行操作)。键入“detail disk”可以查看磁盘0的细节信息,现在磁盘0整个是一个活动分区C,格式为FAT32,容量为16G。下面我们以实际操作将磁盘0分为两个区,分别为NTFS格式的8G主分区C和FAT32格式8G逻辑分区D,而将磁盘1整个转为FAT32格式的分区E来演示Windows PE对磁盘的管理操作:
(1)执行“select disk=0”,将焦点转到磁盘0。执行“select partition 1”,将焦点转到磁盘0的分区活动C上面。
(2)执行“delete partition”将原来的分区C删除。
(3)执行“create partition primary size=8000”回车,在磁盘0上建立一个新的8000MB的主分区,焦点会自动转到新建立的分区上。
(4)接着执行“create partition extended”回车,将磁盘0上剩余的磁盘空间建立为扩展分区。
(5)完成上一步后再执行“create partition logic”回车,将刚建立的扩展分区创建为一个逻辑分区。
(6)至此,我们就已经把原来一个活动分区C的磁盘0创建为有一个主分区和一个逻辑分区了,不过这两个分区还没有驱动器号,执行“select partition 1”将焦点转到主分区1,然后执行“assign letter=C”,将驱动器号C:分配给主分区。执行“active”回车将主分区设为活动使其可以引导系统。
(7)接下来执行“select partition 3”将焦点转到逻辑分区,执行“assign”回车,意思是系统将下一个可用的驱动器号分配给逻辑分区,由于驱动器号D、E均被占用(D为磁盘1分区占用,E为光驱占用),所以系统将F分配给了逻辑分区。不过没关系,我们先不管驱动器号的顺序,到这里我们对磁盘0的操作就结束了,剩下的目标是将磁盘1的活动分区D转换为分区E。
(8)执行“select disk 1”将焦点转到磁盘1,执行“select partition 1”将焦点转到活动分区D。
(9)由于磁盘1的D分区是活动的主分区,所以设其驱动器号为E,显然是要将它重新建立为一个非主分区的驱动器,那么它就不会占据驱动器号D而将它让给磁盘0的逻辑分区了。执行“delete partition”删除原来分区D,执行“create partition extended”将磁盘1上所有的磁盘空间建立为扩展分区。
(10)完成上步后再执行“create partition logic”将刚建立的扩展分区创建为一个逻辑分区。
(11)最后执行“assign”自动分配驱动器号,系统仍然把D分配给了它(不过在机器重新启动后系统会自动调整将D分配给磁盘0的逻辑分区,磁盘1的逻辑分区会使用驱动器E,而光驱就顺延到F了,重启一次系统这些改变都会自动实现)。
(12)现在我们对机器上硬盘的重新分区工作就结束了,执行“exit”退出DiskPart命令行解释工具,然后执行“format c: /fs:ntfs”,将刚才建立的DISK 0主分区格式化为NTFS文件格式的分区,同理执行“format d: /fs:fat32”、“format f: /fs:fat32”将分区D、F格式化,我们最终的操作就完成了。
(13)完成后执行“exit”重新启动机器,可以再次进入“DiskPart”来查看分区情况是否正确。
上面的操作基本包括了对磁盘的创建、删除、格式化和管理,如果你再仔细读读帮助说明,保证你在掌握它强大的功能以后不再想使用Fdisk去管理磁盘。实际上你如果在使用Windows XP,这些知识都非常实用。此外“DiskPart”工具最方便的地方是支持脚本,在这里就不详细说明了。
上面我们已经将Windows PE特性的基本操作都实践了一下,应该可以体会到Windows PE对个人的方便之处,但是就像上文所说的那样,Windows PE只是有限功能的Mini操作系统,要正确使用Windows PE,当然也要了解它的一些限制。
1.为了防止将它用作盗版操作系统,在连续使用24小时后Windows PE将自动退出并重启。
2.你可从Windows PE计算机通过网络直接访问服务器和共享。但不能从网络上的另一个位置访问Windows PE计算机上的任何文件或文件夹。Windows PE通过TCP/IP及其上的NetBIOS获得到达文件服务器的网络连接,不支持其他方法(如IPX/SPX网络协议)。
3.因为涉及反盗版,所以只能从Windows XP Professional CD建立Windows PE的自定义版本。而不能从Windows XP Home Edition或Windows 2002 Server操作系统家族的任何成员建立。
4.Windows PE太大,不能放在软盘上。Windows PE仅包括可用Win32 API的子集(包括I/O(磁盘和网络)和核心Win32 API)。如果Win32下运行的服务基于Win32 API子集,则它在Windows PE是否可用需具体分析。这里不详细列出Windows PE不支持的API了,反正rundll32.exe和shell.dll等是不被支持的,想要在Windows PE下面玩Quake的朋友还是趁早放弃。
Windows PE的作用不少朋友看到这儿无论是否有收获,肯定都会想Windows PE到底对自己有什么明确的作用,这里不妨总结一二。
1.方便易用的启动工具盘
通过刚才的叙述,大家可以看出,Windows PE启动相当快捷,而且对启动环境要求不高;最可贵的是,虽然名为启动盘,其功能却几乎相当于安装了一个Windows XP的“命令行版本”——别忘了网络支持哦。因此,对于个人计算机用户,只要将其刻录在一张光碟上,便可放心地去解决初始化系统之类的问题;而对小型网络环境(如网吧等)用户来说,这一功能尤其实用。
2.有趣的硬盘使用功能
自定义的Windows PE不仅可放到那些可移动存储设备如CD上,还可以放在硬盘上使用。因为许多朋友会认为将Windows PE的自定义版本放在硬盘上没有什么意义,其实不然。把Windows PE放在硬盘上应该是最为有趣的地方,且不说你的操作系统损坏无法进入的情况下启动硬盘上的Windows PE可以方便地修复,关键是由于Windows PE在硬盘上,所以在Windows PE环境下安装应用程序就有了可能。呵呵,撇开题外话不讲,这里看一下如何把自定义的Windows PE放到硬盘上吧(只能在硬盘上放置Windows PE的32位版本)。
首先要安装恢复控制台:
(1)将Windows XP Professional CD放在CD-ROM驱动器中,这里指定其为cd_drive。
(2)在命令行CMD窗口中运行cd_drivei386winnt32.exe /cmdcons。
然后将Windows PE自定义可引导副本放置在硬盘上,如下操作:
(1)在目标硬盘上,创建“C:Minint”的目录(这里必须将目录命名为“Minint”)。
(2)将Windows PE“根目录i386”下的所有内容复制到C:Minint。
(3)从Windows PE根目录下将Winbom.ini复制到目标硬盘的根目录。
(4)在目标硬盘上,将“C:Cmdconsxtsetup.sif”的只读属性改为读/写。
(5)在目标硬盘上,将“C:Minintxtsetup.sif”复制到“C:Cmdcons”进行覆盖。
(6)重新启动目标计算机。在“引导”菜单上,选择引导到“命令控制台”,计算机将使用Windows PE引导。
3.Windows XP OPK CD的本职工作
上面说了其实我们拿到的是Windows PE的一个可执行副本,即Windows XP OPK(Windows XP OEM预安装工具包)CD。从名字都知道它原来的本职工作是为了方便OEM工作的。如果你在Windows操作系统环境下打开光碟,它就会自动运行Autorun为你的系统安装一个“Windows安装管理器”的工具包。利用它,你可以轻易制造出带有计算机厂商OEM标志的Windows安装镜像。虽然这是Windows XP OPK CD的主要本职工作,但显然对我们个人没什么意义,当然,如果你想把手上的Windows安装CD都打上自己独有的印记,并在朋友的机器上安装时炫一下,那么使用它是个好主意。当然自己的“印记”绝非OEM标志那么简单,实际上你还可任意设定Windows PE携带的软件,并可设置这些软件在Windows PE启动时运行;理想的情形下你甚至可以为自定义的Windows PE版本加上类似于Windows Explorer的图形外壳程序——要不怎么叫专为厂商OEM设计呢?
体育的英文缩写physical education
也可以写为P.E.
Windows操作系统下的可执行格式对 PE 的一些说明:PE 是 Portable Excutable 的缩写,是指“可移植可执行”文件,是 32 位 Windows (包括 OS/2 )可执行文件的标准格式。以前的 16 位 Windows 可执行文件的格式称为 NE ,即 New Excutable “新可执行”文件。参考: NE 文件格式
注意:本文档内所有代码用C/C++语言编写。
一、简介
PE文件最前面是一个DOS可执行文件(STUB),这使PE文件成为一个合法的MS-DOS可执行
文件。
DOS文件头后面是一个32位的PE文件标志0X00004550(IMAGE_NT_SIGNATURE)。
接着就是PE的文件头了,包含的信息有该程序运行平台、有多少段(sections)、文件
链接的时间、它是一个可执行文件(EXE)还是一个动态链接库(DLL)或是其他。
后面紧接着有一个“可选”头部(这个部分总是存在,但是因为COFF在库(Libraries)
中用了这个词,在一可执行模块中并没有用这个词,但是仍被叫做可选的)。这可部分包含程
序加载的更多的信息:开始地址、保留堆栈数量、数据段大小等等。
可选头中还有一个重要的域是一叫做“数据目录表”(data directories)的数组;表
中的每一项是一个指向某一个段的指针。例如:如果某程序有一个输出目录表(export dire
ctory ),那你就会在数据目录表中找到一个为IMAGE_DIRECTORY_ENTRY_EXPORT的指针,并且
它将指向某一个段。
可选头的下面就是“段”(sections)了,通过一个叫做“段头”(section headers)
的结构索引。实际上,段的内容才是你要真正执行的程序,上面介绍的所有的文件头及目录表
等信息就是为了能正确的找到它。
每一个段都有一些有关的标志,例如它包含什么数据(“初始化数据”或其他),它能
否被共享等,及它数据本身的特征。大多数情况下(并不是全部),每个段会被一个或多个目
录表指向,目录表可通过可选头的“数据目录表”的入口找到,就象输出函数表或基址重定位
表。也有没有目录表指向的段,如可执行代码或初始化数据。
下面介绍一下相关虚拟地址(Relative Virtual Addresses)
PE格式文件中经常用到RVA,即相关虚拟地址,用在不知道基地址的情况下表示一个内存
地址。它需要加上基地址才能得到线性地址(Linear address)。
例如:假设一个可执行程序调入内存0x400000处并且程序从RVA 0x1560处开始执行。那
么正确的开始地址是0x401560。如果可执行程序调入0x100000处,则开始地址为0x101560。
因为PE文件的每一个段不必按同样的边界对齐方式调入,因此RVA地址的计算变得比较复
杂。例如,在文件中每一个段往往按512个字节的方式对齐,而在内存中可能以4096字节的方
式对齐。这方面的介绍可见下面的“SectionAlignment”、“FileAlignment”。举个例子,
假设你知道一个程序从RVA 0x1560开始执行,你想从那儿反汇编它。你发现内存中的段对齐方
式为4096并且.code段开始于内存RVA 0x1560并且有16384字节长;那么你可以知道RVA 0x156
0在这个段的0x560处。你又发现这个段在文件中以512字节方式对齐并且.code开始于文件0x8
00处,那现在你知道了可执行程序开始于0x800+0x560 = 0xd60处。
整个文件结构如下:
+-------------------+
| DOS-stub |
+-------------------+
| file-header |
+-------------------+
| optional header |
|- - - - - - - - - -|
| |
| data directories |
| |
+-------------------+
| |
| section headers |
| |
+-------------------+
| |
| section 1 |
| |
+-------------------+
| |
| section 2 |
| |
+-------------------+
| |
| ... |
| |
+-------------------+
| |
| section n |
| |
+-------------------+
二、DOS头(DOS-stub )
众所周知DOS头的概念是从16位的WINDOWS可执行程序(NE格式)中来的,这个部分主要
用在OS/2可执行程序、自解压文档及其他应用程序。在PE格式文件中,大多数程序的这个部分
中只有大约100个字节的代码,只输出一个诸如“this program needs windows NT ”之类的
信息。
你可以通过一个叫做IMAGE_DOS_HEADER的结构来识别一个合法的DOS头。这个结构的头两
个字节一定是“MZ”(#define IMAGE_DOS_SIGNATURE "MZ")。怎么才能找到PE开始的标志呢
?你可以通过该结构的一个叫做“e_lfanew”(offset 60,32bits) 的成员来找到它。在O
S/2及16位WINDOWS程序中这个标志是一个16位的字;在PE程序中,它是一个32位的双字,值为
0x00004550(#define IMAGE_NT_SIGNATURE 0x00004550)。
typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header
WORD e_magic; // Magic number
WORD e_cblp; // Bytes on last page of file
WORD e_cp; // Pages in file
WORD e_crlc; // Relocations
WORD e_cparhdr; // Size of header in paragraphs
WORD e_minalloc; // Minimum extra paragraphs needed
WORD e_maxalloc; // Maximum extra paragraphs needed
WORD e_ss; // Initial (relative) SS value
WORD e_sp; // Initial SP value
WORD e_csum; // Checksum
WORD e_ip; // Initial IP value
WORD e_cs; // Initial (relative) CS value
WORD e_lfarlc; // File address of relocation table
WORD e_ovno; // Overlay number
WORD e_res[4]; // Reserved words
WORD e_oemid; // OEM identifier (for e_oeminfo)
WORD e_oeminfo; // OEM information; e_oemid specific
WORD e_res2[10]; // Reserved words
LONG e_lfanew; // File address of new exe header
} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
三、文件头(File Header)
通过DOS头,你可以找到一个叫做IMAGE_FILE_HEADER的结构,如下;下面我分别介绍一
下。
typedef struct _IMAGE_FILE_HEADER {
WORD Machine; //0x04
WORD NumberOfSections; //0x06
DWORD TimeDateStamp; //0x08
DWORD PointerToSymbolTable; //0x0c
DWORD NumberOfSymbols; //0x10
WORD SizeOfOptionalHeader; //0x14
WORD Characteristics; //0x16
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
Machine:表示该程序要执行的环境及平台,现在已知的值如下:
IMAGE_FILE_MACHINE_I386(0x14c)
Intel 80386 处理器以上
0x014d
Intel 80486 处理器以上
0x014e
Intel Pentium 处理器以上
0x0160
R3000(MIPS)处理器,高位在前
IMAGE_FILE_MACHINE_R3000(0x162)
R3000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_R4000(0x166)
R4000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_R10000(0x168)
R10000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_ALPHA(0x184)
DEC Alpha AXP处理器
IMAGE_FILE_MACHINE_POWERPC(0x1f0)
IBM Power PC,低位在前
NumberOfSections:段的个数,段的概念我们将在下面介绍。
TimeDateStamp:文件建立的时间。你可用这个值来区分同一个文件的不同的版本,即使
它们的商业版本号相同。这个值的格式并没有明确的规定,但是很显然的大多数的C编译器都
把它定为从1970.1.1 00:00:00以来的秒数(time_t )。这个值有时也被用做绑定输入目录表
,这将在下面介绍。
注意:一些编译器将忽略这个值。
PointerToSymbolTable 及 NumberOfSymbols:用在调试信息中,我不太清楚它们的用途
,不过发现它们总为0。
SizeOfOptionalHeader:可选头的长度(sizeof IMAGE_OPTIONAL_HEADER)你可以用它
来检验PE文件的正确性。
Characteristics:是一个标志的集合,其中大部分的位用在目标文件(OBJ)或库文件
(LIB)中:
Bit 0 (IMAGE_FILE_RELOCS_STRIPPED):置1表示文件中没有重定向信息。每个段都
有它们自己的重定向信息。这个标志在可执行文件中没有使用,在可执行文件中是用一个叫做
基址重定向目录表来表示重定向信息的,这将在下面介绍。
Bit 1 (IMAGE_FILE_EXECUTABLE_IMAGE):置1表示该文件是可执行文件(也就是说
不是一个目标文件或库文件)。
Bit 2 (IMAGE_FILE_LINE_NUMS_STRIPPED):置1表示没有行数信息;在可执行文件
中没有使用。
Bit 3 (IMAGE_FILE_LOCAL_SYMS_STRIPPED):置1表示没有局部符号信息;在可执行
文件中没有使用。
Bit 4 (IMAGE_FILE_AGGRESIVE_WS_TRIM):
Bit 7 (IMAGE_FILE_BYTES_REVERSED_LO)
Bit 15 (IMAGE_FILE_BYTES_REVERSED_HI):表示文件的字节顺序如果不是机器所期
望的,那么在读出之前要进行交换。在可执行文件中它们是不可信的(操作系统期望按正确的
字节顺序执行程序)。
Bit 8 (IMAGE_FILE_32BIT_MACHINE):表示希望机器为32位机。这个值永远为1。
Bit 9 (IMAGE_FILE_DEBUG_STRIPPED):表示没有调试信息,在可执行文件中没有使
用。
Bit 10 (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP):置1表示该程序不能运行于可移
动介质中(如软驱或CD-ROM)。在这种情况下,OS必须把文件拷贝到交换文件中执行。
Bit 11 (IMAGE_FILE_NET_RUN_FROM_SWAP):置1表示程序不能在网上运行。在这种
情况下,OS必须把文件拷贝到交换文件中执行。
Bit 12 (IMAGE_FILE_SYSTEM):置1表示文件是一个系统文件例如驱动程序。在可执
行文件中没有使用。
Bit 13 (IMAGE_FILE_DLL):置1表示文件是一个动态链接库(DLL)。
Bit 14 (IMAGE_FILE_UP_SYSTEM_ONLY):表示文件被设计成不能运行于多处理器系
统中。
四、可选头(Optional Header)
文件头下面就是可选头,这是一个叫做IMAGE_OPTIONAL_HEADER的结构。它包含很多关于
PE文件定位的信息。下面分别介绍:
typedef struct _IMAGE_OPTIONAL_HEADER {
//
// Standard fields.
//
WORD Magic; //0x18
BYTE MajorLinkerVersion; //0x1a
BYTE MinorLinkerVersion; //0x1b
DWORD SizeOfCode; //0x1c
DWORD SizeOfInitializedData; //0x20
DWORD SizeOfUninitializedData; //0x24
DWORD AddressOfEntryPoint; //0x28
DWORD BaseOfCode; //0x2c
DWORD BaseOfData; //0x30
//
// NT additional fields.
//
DWORD ImageBase; //0x34
DWORD SectionAlignment; //0x38
DWORD FileAlignment; //0x3c
WORD MajorOperatingSystemVersion; //0x3e
WORD MinorOperatingSystemVersion; //0x40
WORD MajorImageVersion; //0x42
WORD MinorImageVersion; //0x44
WORD MajorSubsystemVersion; //0x46
WORD MinorSubsystemVersion; //0x48
DWORD Win32VersionValue; //0x4c
DWORD SizeOfImage; //0x50
DWORD SizeOfHeaders; //0x54
DWORD CheckSum; //0x58
WORD Subsystem; //0x5c
WORD DllCharacteristics; //0x5e
DWORD SizeOfStackReserve; //0x60
DWORD SizeOfStackCommit; //0x64
DWORD SizeOfHeapReserve; //0x68
DWORD SizeOfHeapCommit; //0x6c
DWORD LoaderFlags; //0x70
DWORD NumberOfRvaAndSizes; //0x74
IMAGE_DATA_DIRECTORY DataDirectory;
} IMAGE_OPTIONAL_HEADER, *PIMAGE_OPTIONAL_HEADER;
Magic:这个值好象总是0x010b。
MajorLinkerVersion及MinorLinkerVersion:链接器的版本号,这个值不太可靠。
SizeOfCode:可执行代码的长度。
SizeOfInitializedData:初始化数据的长度(数据段)。
SizeOfUninitializedData:未初始化数据的长度(bss段)。
AddressOfEntryPoint:代码的入口RVA地址,程序从这儿开始执行。
BaseOfCode:可执行代码起始位置,意义不大。
BaseOfData:初始化数据起始位置,意义不大。
ImageBase:载入程序首选的RVA地址。这个在址可被Loader改变。
SectionAlignment:段加载后在内存中的对齐方式。
FileAlignment:段在文件中的对齐方式。
MajorOperatingSystemVersion及MinorOperatingSystemVersion:操作系统版本,Load
er并没有用它。
MajorImageVersion及MinorImageVersion:程序版本。
MajorSubsystemVersion及MinorSubsystemVersion:子系统版本号,这个域系统支持;
例如:如果程序运行于NT下,子系统版本号如果不是4.0的话,对话框不能显示3D风格。
Win32VersionValue:这个值好象总是为0。
SizeOfImage:程序调入后占用内存大小(字节),等于所有段的长度之和。
SizeOfHeaders:所有文件头的长度之和,它等于从文件开始到第一个段的原始数据之间
的大小。
CheckSum:校验和。它仅用在驱动程序中,在可执行文件中可能为0。它的计算方法Mic
rosoft不公开,在imagehelp.dll中的CheckSumMappedFile()函数可以计算它。
Subsystem:NT子系统,可能是以下的值:
IMAGE_SUBSYSTEM_NATIVE (1)
不需要子系统。用在驱动程序中。
IMAGE_SUBSYSTEM_WINDOWS_GUI(2)
WIN32 graphical程序(它可用AllocConsole()来打开一个控制台,但是不能在
一开始自动得到)。
IMAGE_SUBSYSTEM_WINDOWS_CUI(3)
WIN32 console程序(它可以一开始自动建立)。
IMAGE_SUBSYSTEM_OS2_CUI(5)
OS/2 console程序(因为程序是OS/2格式,所以它很少用在PE)。
IMAGE_SUBSYSTEM_POSIX_CUI(7)
POSIX console程序。
Windows95程序总是用WIN32子系统,所以只有2和3是合法的值。
DllCharacteristics:Dll状态。
SizeOfStackReserve:保留堆栈大小。
SizeOfStackCommit:启动后实际申请的堆栈数,可随实际情况变大。
SizeOfHeapReserve:保留堆大小。
SizeOfHeapCommit:实际堆大小。
LoaderFlags:好象没有用。
NumberOfRvaAndSizes:下面的目录表入口个数,这个值也不可靠,你可用常数IMAGE_N
UMBEROF_DIRECTORY_ENTRIES来代替它,值好象总等于16。
DataDirectory:是一个IMAGE_DATA_DIRECTORY数组,数组元素个数为IMAGE_NUMBEROF_
DIRECTORY_ENTRIES,结构如下:
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
VirtualAddress:起始RVA地址。
Size:长度。
每一个目录表代表以下的值:
IMAGE_DIRECTORY_ENTRY_EXPORT (0)
IMAGE_DIRECTORY_ENTRY_IMPORT (1)
IMAGE_DIRECTORY_ENTRY_RESOURCE (2)
IMAGE_DIRECTORY_ENTRY_EXCEPTION (3)
IMAGE_DIRECTORY_ENTRY_SECURITY (4)
IMAGE_DIRECTORY_ENTRY_BASERELOC (5)
IMAGE_DIRECTORY_ENTRY_DEBUG (6)
IMAGE_DIRECTORY_ENTRY_COPYRIGHT (7)
IMAGE_DIRECTORY_ENTRY_GLOBALPTR (8)
IMAGE_DIRECTORY_ENTRY_TLS (9)
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG (10)
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (11)
IMAGE_DIRECTORY_ENTRY_IAT (12)
后记:原文为新浪程序员论坛网友 野草 从英文版中译出,在此表示感谢。此文可能没有译完,据说 MSDN 中有此英文版。
PE (Pacific English 太平洋英语)
太平洋英语地处北京,她是中国英语培训市场上的一朵奇葩,是全球已被验证的东方人英语学习的最佳模式。
她采用电话这个媒介终端,通过VOIP与海外专业英语外教持续沟通学习的模式,有效地克服了传统面对面英语授课的诸多弊端。
在日本和韩国,使用电话培训英语的模式已经逐渐取代了面对面英语授课。
Anytime Anywhere(随时随地)是太平洋英语相对于传统英语培训模式的独特之处!