??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲精品中文字幕三区,亚洲乱码中文字幕久久孕妇黑人,久久综合久久综合久久http://www.shnenglu.com/geforcex/category/435.htmlzh-cnFri, 23 May 2008 19:38:15 GMTFri, 23 May 2008 19:38:15 GMT60数据加密技术介l?/title><link>http://www.shnenglu.com/geforcex/articles/7766.html</link><dc:creator>geforceX</dc:creator><author>geforceX</author><pubDate>Sun, 28 May 2006 03:42:00 GMT</pubDate><guid>http://www.shnenglu.com/geforcex/articles/7766.html</guid><wfw:comment>http://www.shnenglu.com/geforcex/comments/7766.html</wfw:comment><comments>http://www.shnenglu.com/geforcex/articles/7766.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/geforcex/comments/commentRss/7766.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/geforcex/services/trackbacks/7766.html</trackback:ping><description><![CDATA[我们l常需要一U措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代Q信息可以帮助团体或个hQ他们受益Q同P信息也可以用来对他们构成威胁Q造成破坏。在竞争Ȁ烈的大公怸Q工业间谍经怼获取Ҏ的情报。因此,在客观上需要一U强有力的安全措施来保护机密数据不被H取或篡攏V数据加密与解密从宏观上讲是非常单的Q很Ҏ理解。加密与解密的一些方法是非常直接的,很容易掌握,可以很方便的Ҏ密数据进行加密和解密?<br />  一Q数据加密方?<br /><br />  在传l上Q我们有几种Ҏ来加密数据流。所有这些方法都可以用Y件很Ҏ的实玎ͼ但是当我们只知道密文的时候,是不Ҏ破译q些加密法的(当同时有原文和密文时Q破译加密算法虽然也不是很容易,但已l是可能的了Q。最好的加密法对系l性能几乎没有影响Qƈ且还可以带来其他内在的优炏V例如,大家都知道的PKZIPQ它既压~数据又加密数据。又如,DBMS的一些Y件包L包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用L密码。所有这些加密算法都要有高效的加密和解密能力?<br /><br />  q运的是Q在所有的加密法中最单的一U就是“置换表”算法,q种法也能很好辑ֈ加密的需要。每一个数据段QL一个字节)对应着“置换表”中的一个偏U量Q偏U量所对应的值就输出成ؓ加密后的文g。加密程序和解密E序都需要一个这L“置换表”。事实上Q?0x86 CPUpd有一个指令‘XLAT’在gU来完成q样的工作。这U加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被Ҏ获得Q那q个加密Ҏ完全被识破了。更q一步讲Q这U加密算法对于黑客破译来讲是相当直接的,只要扑ֈ一个“置换表”就可以了。这U方法在计算机出C前就已经被广泛的使用?<br /><br />  对这U“置换表”方式的一个改q就是?个或者更多的“置换表”,q些表都是基于数据流中字节的位置的,或者基于数据流本n。这Ӟ破译变的更加困难Q因为黑客必L的做几ơ变换。通过使用更多的“置换表”,q且按伪随机的方式用每个表Q这U改q的加密Ҏ已经变的很难破译。比如,我们可以Ҏ有的偶数位置的数据用A表,Ҏ有的奇数位置使用B表,即黑客获得了明文和密文Q他想破译这个加密方案也是非常困隄Q除非黑客确切的知道用了两张表?<br /><br />  与用“置换表”相cMQ“变换数据位|”也在计机加密中用。但是,q需要更多的执行旉。从输入中读入明文放C个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这U方法L和一些别的加密算法؜合用,q就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词Q变换v字母的顺序,slient 可以变ؓlistenQ但所有的字母都没有变化,没有增加也没有减,但是字母之间的顺序已l变化了?<br /><br />  但是Q还有一U更好的加密法Q只有计机可以做,是?字节循环UM和XOR操作。如果我们把一个字或字节在一个数据流内做循环UMQ用多个或变化的方向(左移或右U)Q就可以q速的产生一个加密的数据。这U方法是很好的,破译它就更加困难Q而且Q更q一步的是,如果再用XOR操作Q按位做异或操作Q就׃破译密码更加困难了。如果再使用伪随机的ҎQ这涉及到要产生一pd的数字,我们可以使用Fibbonaci数列。对数列所产生的数做模q算Q例如模3Q,得到一个结果,然后循环UMq个l果的次敎ͼ破译ơ密码变的几乎不可能Q但是,使用Fibbonaci数列q种伪随机的方式所产生的密码对我们的解密程序来讲是非常Ҏ的?<br /><br />  在一些情况下Q我们想能够知道数据是否已经被篡改了或被破坏了,q时需要生一些校验码Qƈ且把q些校验码插入到数据中。这样做Ҏ据的防伪与程序本w都是有好处的。但是感染计机E序的病毒才不会在意q些数据或程序是否加q密Q是否有数字{֐。所以,加密E序在每ơload到内存要开始执行时Q都要检查一下本w是否被病毒感染Q对与需要加、解密的文g都要做这U检查!很自Ӟq样一U方法体制应该保密的Q因为病毒程序的~写者将会利用这些来破坏别h的程序或数据。因此,在一些反病毒或杀病毒软g中一定要使用加密技术?<br /><br />  循环冗余校验是一U典型的校验数据的方法。对于每一个数据块Q它使用位@环移位和XOR操作来生一?6位或32位的校验?Q这使得丢失一位或两个位的错误一定会D校验和出错。这U方式很久以来就应用于文件的传输Q例?XMODEM-CRC?q是Ҏ已经成ؓ标准Q而且有详l的文档。但是,Z标准CRC法的一U修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的?<br /><br />  二.Z公钥的加密算?<br /><br />  一个好的加密算法的重要特点之一是具有这U能力:可以指定一个密码或密钥Qƈ用它来加密明文,不同的密码或密钥产生不同的密文。这又分ZU方式:对称密钥法和非对称密钥法。所谓对U密钥算法就是加密解密都使用相同的密钥,非对U密钥算法就是加密解密用不同的密钥。非常著名的PGP公钥加密以及RSA加密Ҏ都是非对U加密算法。加密密钥,卛_钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲Q几乎没有真正不可逆的法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b?那么我们可以Z‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下Q对于每一U操作,我们可以得到一个确定的|或者该操作没有定义Q比如,除数?Q。对于一个没有定义的操作来讲Q基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对U加密算法,扑ֈ那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理旉?<br /><br />  RSA加密法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到U钥Q但q个q算所包含的计量是非常巨大的Q以至于在现实上是不可行的。加密算法本w也是很慢的Q这使得使用RSA法加密大量的数据变的有些不可行。这׃得一些现实中加密法都基于RSA加密法。PGP法(以及大多数基于RSA法的加密方?使用公钥来加密一个对U加密算法的密钥Q然后再利用一个快速的对称加密法来加密数据。这个对U算法的密钥是随Z生的Q是保密的,因此Q得到这个密钥的唯一Ҏ是使用U钥来解密?<br /><br />  我们举一个例子:假定现在要加密一些数据用密钥?2345’。利用RSA公钥Q用RSA法加密q个密钥?2345’,q把它放在要加密的数据的前面Q可能后面跟着一个分割符或文仉度,以区分数据和密钥Q,然后Q用对U加密算法加密正文,使用的密钥就是?2345’。当Ҏ收到Ӟ解密E序扑ֈ加密q的密钥Qƈ利用RSAU钥解密出来Q然后再定出数据的开始位|,利用密钥?2345’来解密数据。这样就使得一个可靠的l过高效加密的数据安全地传输和解密?<br /><br />  一些简单的ZRSA法的加密算法可在下面的站点扑ֈQ?<br /><br />ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa <br /><br />  三.一个崭新的多步加密法 <br /><br />  现在又出C一U新的加密算法,据说是几乎不可能被破译的。这个算法在1998q??日才正式公布的。下面详l的介绍q个法: <br /><br />  使用一pd的数字(比如?28位密钥)Q来产生一个可重复的但高度随机化的伪随机的数字的序列。一ơ?56个表,使用随机数序列来产生密码转表Q如下所C: <br /><br />  ?56个随机数攑֜一个距阵中Q然后对他们q行排序Q用这样一U方式(我们要记住最初的位置Q用最初的位置来生一个表Q随意排序的表,表中的数字在0?55之间。如果不是很明白如何来做Q就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的256字节的表。让q个随机C生器接着来生这个表中的其余的数Q以至于每个表是不同的。下一步,使用"shotgun technique"技术来产生解码表。基本上_如果 a映射到bQ那么b一定可以映到aQ所以b[a[n]] = n.Qn是一个在0?55之间的数Q。在一个@环中赋|使用一?56字节的解码表它对应于我们刚才在上一步生的256字节的加密表?<br /><br />  使用q个ҎQ已l可以生这L一个表Q表的顺序是随机Q所以生这256个字节的随机C用的是二ơ伪随机,使用了两个额外的16位的密码.现在Q已l有了两张{换表Q基本的加密解密是如下这样工作的。前一个字节密文是q个256字节的表的烦引。或者,Z提高加密效果Q可以用多?位的|甚至使用校验和或者CRC法来生烦引字节。假定这个表?56*256的数l?会是下面的样子: <br /><br />crypto1 = a[crypto0][value] <br /><br />  变量""crypto1""是加密后的数据,""crypto0""是前一个加密数据(或着是前面几个加密数据的一个函数|。很自然的,W一个数据需要一个“种子”,q个“种子?是我们必记住的。如果?56*256的表Q这样做会增加密文的长度。或者,可以使用你生出随机数序列所用的密码Q也可能是它的CRC校验和。顺便提及的是曾作过q样一个测? 使用16个字节来产生表的索引,?28位的密钥作ؓq?6个字节的初始?U子"。然后,在生出q些随机数的表之后,可以用来加密数据,速度辑ֈ每秒?00k个字节。一定要保证在加密与解密旉使用加密的g的烦引,而且q两ơ一定要匚w?<br /><br />  加密时所产生的伪随机序列是很随意的,可以设计成想要的M序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些ASCII码的序列Q如“eeeeeeee"可能被{化成一些随机的没有M意义的ؕ码,每一个字节都依赖于其前一个字节的密文Q而不是实际的倹{对于Q一个单个的字符的这U变换来_隐藏了加密数据的有效的真正的长度?<br /><br />  如果实不理解如何来产生一个随机数序列Q就考虑FIBBONACCI数列Q?个双字(64位)的数作ؓ产生随机数的U子Q再加上W三个双字来做XOR操作?q个法产生了一pd的随机数。算法如下: <br /><br />unsigned long dw1, dw2, dw3, dwMask; <br /><br />int i1; <br /><br />unsigned long aRandom[256]; <br /><br />dw1 = {seed #1}; <br /><br />dw2 = {seed #2}; <br /><br />dwMask = {seed #3}; <br /><br />// this gives you 3 32-bit "seeds", or 96 bits total <br /><br />for(i1=0; i1 < 256; i1++) <br /><br />{ <br /><br />dw3 = (dw1 + dw2) ^ dwMask; <br /><br />aRandom[i1] = dw3; <br /><br />dw1 = dw2; <br /><br />dw2 = dw3; <br /><br />} <br /><br />如果想生一pd的随机数字,比如_?和列表中所有的随机C间的一些数Q就可以使用下面的方法: <br /><br />int __cdecl MySortProc(void *p1, void *p2) <br /><br />{ <br /><br />unsigned long **pp1 = (unsigned long **)p1; <br /><br />unsigned long **pp2 = (unsigned long **)p2; <br /><br />if(**pp1 < **pp2) <br /><br />return(-1); <br /><br />else if(**pp1 > *pp2) <br /><br />return(1); <br /><br />return(0); <br /><br />} <br /><br />... <br /><br />int i1; <br /><br />unsigned long *apRandom[256]; <br /><br />unsigned long aRandom[256]; // same array as before, in this case <br /><br />int aResult[256]; // results go here <br /><br />for(i1=0; i1 < 256; i1++) <br /><br />{ <br /><br />apRandom[i1] = aRandom + i1; <br /><br />} <br /><br />// now sort it <br /><br />qsort(apRandom, 256, sizeof(*apRandom), MySortProc); <br /><br />// final step - offsets for pointers are placed into output array <br /><br />for(i1=0; i1 < 256; i1++) <br /><br />{ <br /><br />aResult[i1] = (int)(apRandom[i1] - aRandom); <br /><br />} <br /><br />... <br /><br />  变量""aResult""中的值应该是一个排q序的唯一的一pd的整数的数组Q整数的值的范围均在0?55之间。这样一个数l是非常有用的,例如Q对一个字节对字节的{换表Q就可以很容易ƈ且非常可靠的来生一个短的密钥(l常作ؓ一些随机数的种子)。这样一个表q有其他的用处,比如_来生一个随机的字符Q计机游戏中一个物体的随机的位|等{。上面的例子其本n而言q没有构成一个加密算法,只是加密法一个组成部分?<br /><br />  作ؓ一个测试,开发了一个应用程序来试上面所描述的加密算法。程序本w都l过了几ơ的优化和修改,来提高随机数的真正的随机性和防止会生一些短的可重复的用于加密的随机数。用q个E序来加密一个文Ӟ破解q个文g可能会需要非常巨大的旉以至于在现实上是不可能的?<br /><br />四.l论Q?<br /><br />  ׃在现实生zMQ我们要保一些敏感的数据只能被有相应权限的h看到Q要保信息在传输的q程中不会被改Q截取,q就需要很多的安全pȝ大量的应用于政府、大公司以及个hpȝ。数据加密是肯定可以被破解的Q但我们所惌的是一个特定时期的安全Q也是_密文的破解应该是_的困难,在现实上是不可能的,其是短旉内?<br /><img src ="http://www.shnenglu.com/geforcex/aggbug/7766.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/geforcex/" target="_blank">geforceX</a> 2006-05-28 11:42 <a href="http://www.shnenglu.com/geforcex/articles/7766.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DES法?/title><link>http://www.shnenglu.com/geforcex/articles/7762.html</link><dc:creator>geforceX</dc:creator><author>geforceX</author><pubDate>Sun, 28 May 2006 02:50:00 GMT</pubDate><guid>http://www.shnenglu.com/geforcex/articles/7762.html</guid><wfw:comment>http://www.shnenglu.com/geforcex/comments/7762.html</wfw:comment><comments>http://www.shnenglu.com/geforcex/articles/7762.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/geforcex/comments/commentRss/7762.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/geforcex/services/trackbacks/7762.html</trackback:ping><description><![CDATA[ <img height="10" src="http://www.infosecurity.org.cn/article/images/2005061301/200561320243474877801.gif" width="10" border="0" /> <font color="#003399"> <b>1 ?/b> </font> <br />  DES是Data Encryption StandardQ数据加密标准)的羃写。它是由IBM公司研制的一U加密算法,国国家标准局?977q公布把它作为非部门使用的数据加密标准,二十q来Q它一直活跃在国际保密通信的舞CQ扮演了十分重要的角色[10]?br />  DES是一个分l加密算法,他以64位ؓ分组Ҏ据加密。同时DES也是一个对U算法:加密和解密用的是同一个算法。它的密匙长度是56位(因ؓ每个W?位都用作奇偶校验Q,密匙可以是Q意的56位的敎ͼ而且可以L时候改变。其中有极少量的数被认ؓ是弱密匙Q但是很Ҏ避开他们。所以保密性依赖于密钥?br /><b><font color="#003399"><img height="10" src="http://www.infosecurity.org.cn/article/images/2005061301/200561320243474877801.gif" width="10" border="0" /> 2 法框架[11]</font></b>Q?br />  DES?4(bit)位的明文分组Mq行操作QMl过一个初始置换IP|换成m0Q将m0明文分成左半部分和右半部分m0=(L0,R0)Q各32位长。然后进?6轮完全相同的q算Q这些运被UCؓ函数fQ在q算q程中数据与密匙l合。经q?6轮后Q左Q右半部分合在一Lq一个末|换Q这样就完成了[12]?br />  在每一轮中Q密匙位UMQ然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,q过一个异或操作替代成新的32位数据,在将其置换换一ơ。这四步q算构成了函数f。然后,通过另一个异或运,函数f的输Z左半部分l合Q其l果成ؓ新的叛_部分Q原来的叛_部分成ؓ新的左半部分。将该操作重?6ơ,实C。具体图4所C?br /><br />     <img src="http://www.shnenglu.com/images/cppblog_com/geforcex/275/r_200561320243475877802.jpg" /><br /><br />                               ? DES法框图<br /><br /><b><font color="#003399"><img height="10" src="http://www.infosecurity.org.cn/article/images/2005061301/200561320243474877801.gif" width="10" border="0" /> 3 DES解密</font></b><br />  在经q所有的代替、置换、异或盒循环之后Q你也许认ؓ解密法与加密算法完全不同。恰恰相反,l过_ֿ选择的各U操作,获得了一个非常有用的性质Q加密和解密使用相同的算法?br />DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1,K2,K3?K16那么解密密匙是K16,K15,K14…K1?br /><b><font color="#003399"><img height="10" src="http://www.infosecurity.org.cn/article/images/2005061301/200561320243474877801.gif" width="10" border="0" /> 4 DES的几U工作方?/font></b><br />  <font color="#cc3300">W一U电子密本方式(ECBQ?/font><br />   明文分成n?4比特分组Q如果明文长度不?4比特的倍数Q则在明文末֡充适当数目的规定符受对明文l用l定的密钥分别进行加密,行密文C=(C0,C1,…?Cn-1)其中Ci=DES(K,xi),i=0,1,?.,n-1?br />  <font color="#cc3300">W二U密文分l链接方式(CBCQ?/font><br />   在CBC方式下,每个明文lxi在加密前与先一l密文按位模二加后,再送到DES加密QCBC方式克服了ECB方式报内l重的缺点,但由于明文组加密前与一l密文有养I因此前一l密文的错误会传播到下一l?br />  <font color="#cc3300">W三U密文反馈方式(CFBQ,可用于序列密?/font><br />   明文XQ?x0,x1,…?xn-1)Q其中xi由t个比特组?<t?4。cfb实际上将des作ؓ一个密钥流发生器,在t比特密文的反馈下Q每ơ输出t比特乱数对t比特明文q行加密。由于cfb是密文反馈,它对密文错误较敏感,t比特密文中只要有一个比牚w误,׃Dq箋Ct 比特出错?br="">   <font color="#cc3300">W四U输出反馈方式(OFBQ,可用于序列密?/font><br />   与CFB唯一不同的是OFB是直接取DES输出的t个比特,而不是取密文的t个比特,其余都与CFB相同。但它取的是DES的输出,所以它克服了CFB的密文错误传播的~点 </t?4。cfb实际上将des作ؓ一个密钥流发生器,在t比特密文的反馈下Q每ơ输出t比特乱数对t比特明文q行加密。由于cfb是密文反馈,它对密文错误较敏感,t比特密文中只要有一个比牚w误,׃Dq箋Ct><img src ="http://www.shnenglu.com/geforcex/aggbug/7762.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/geforcex/" target="_blank">geforceX</a> 2006-05-28 10:50 <a href="http://www.shnenglu.com/geforcex/articles/7762.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提高RS-485|络可靠性的若干措施http://www.shnenglu.com/geforcex/articles/3526.htmlgeforceXgeforceXSun, 26 Feb 2006 07:56:00 GMThttp://www.shnenglu.com/geforcex/articles/3526.htmlhttp://www.shnenglu.com/geforcex/comments/3526.htmlhttp://www.shnenglu.com/geforcex/articles/3526.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/3526.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/3526.html徐U(Maxim北京办事处)


    性标准RS-485作ؓ一U多炏V差分数据传输的甉|规范现已成ؓ业界应用最为广泛的标准通信接口之一。这U通信接口允许在简单的一对双l线上进行多炏V双向通信、它所h的噪声抑制能力、数据传输速率、电~长度及可靠性是其他标准无法比拟的。正因ؓ此,许多不同领域都采用RS-485作ؓ数据传输链\。例如汽车电子、电信设备、局域网、蜂H基站、工业控制、A器A表等{。这Ҏ准得到广泛接受的另外一个原因是它的通用性。RS-485标准只对接口的电气特性做定,而不涉及接插件、电~或协议Q在此基上用户可以徏立自q高层通信协议?/FONT>

管RS-485标准已被q泛接受Q但是对于它在实际应用中的一些具体问题ƈ没有得到深入q泛的认识,甚至存在着U种误区Q以至于影响到整个系l的性能。本文在回顾RS-485标准的基上,重点讨论几个实际应用中常被忽视的问题?/FONT>

RS-485标准回顾

RS-485标准最初由电子工业协会QEIAQ于1983q制订ƈ发布Q后由TIA-通讯工业协会修订后命名ؓTIA/EIA-485-AQ不q工E师q是习惯地称之ؓRS-485。RS-485由RS-422发展而来Q后者是为I补RS-232之不提出的。ؓ改进RS-232通信距离短、速率低的~点QRS-422定义了一U^衡通信接口Q将传输速率提高?0MbpsQ传输距dg长到4000英尺Q速率低于100kbpsӞQƈ允许在一条^衡线上连接最?0个接收器。RS-422是一U单机发送、多机接收的单向、^衡传输规范,为扩展应用范_随后又ؓ其增加了多点、双向通信能力Q即允许多个发送器q接到同一条ȝ上,同时增加了发送器的驱动能力和冲突保护Ҏ,扩展了ȝ共模范围Q这是后来的EIA RS-485标准?/FONT>

RS-485是一个电气接口规范,它只规定了^衡驱动器和接收器的电Ҏ,而没有规定接插g、传输电~和通信协议。RS-485标准定义了一个基于单对^衡线的多炏V双向(半双工)通信链\Q是一U极为经、ƈh相当高噪声抑制、传输速率、传输距d宽共模范围的通信q_。RS-485接口的主要特点如下:

  • q伟输Q?
  • 多点通信Q?
  • 驱动器输出电压(带蝲Q:≥|1.5V|;
  • 接收器输入门限:u200mVQ?
  • -7V?12Vȝ共模范围Q?
  • 最大输入电:1.0mA/-0.8mAQ?2Vin/-7VinQ;
  • 最大ȝ负蝲Q?2个单位负载(ULQ;
  • 最大传输速率Q?0MbpsQ?
  • 最大电~长度:4000英尺?

|络配置

RS-485支持半双工或全双工模式,|络拓扑一般采用终端匹配的ȝ型结构,不支持环形或星Ş|络。最好采用一条ȝ各个节点串接v来,从ȝ到每个节点的引出UK度应量短,以便使引出线中的反射信号Ҏȝ信号的媄响最低。图1所CZؓ实际应用中常见的一些错误连接方式(aQcQeQ和正确的连接方式(bQdQfQ。aQcQe三种不恰当的|络q接管在某些情况下Q短距离、低速率Q仍然可以正常工作,但随着通信距离的g长或通信速率的提高,其不良媄响会来严重,主要原因是信号在各支路末端反后与原信号叠加Q造成信号质量下降。除此之外还应注意ȝҎ阻抗的q箋性,在阻抗不q箋点也会发生信L反射。例如,ȝ的不同区D采用不同电~、某一D|ȝ上有q多收发器紧靠在一起安装、或者是有过长分支线引出ȝ旉会出现阻抗不q箋炏VMQ应该提供一条单一、连l的信号通道作ؓȝ?/FONT>

?:几种错误的网l连接方式及正确的方?/FONT>

有关ȝ上允许连接的收发器数标准q没有做定,但规定了最大ȝ负蝲?2个单位负载(ULQ。每单位负蝲的最大输入电ؓ1.0mA/-0.8mAQ相当于U?2kΩ。ؓ了扩展ȝ节点敎ͼ器g生厂商增大收发器输入电阅R例如MAX487QMAX1487的输入电d加至48kΩ以上Q?/4ULQ,节点数就可增加至128个,96kΩ输入电阻的MAX1483允许节点数可?56个?/FONT>

ȝ匚w

是否对RS-485ȝq行l端匚w取决于数据传输速率、电~长度及信号转换速率。UART是在每个数据位的中点采样数据的,只要反射信号在开始采h衰减到够低可以不考虑匚w。有一条经验性的准则可以用来判断在什么样的数据速率和电~长度时需要进行匹配:当信L转换旉Q上升或下降旉Q超q电信号沿ȝ单向传输所需旉?倍以上时可以不加匹配。例如具有限斜率Ҏ的RS-485接口MAX483输出信号的上升或下降旉最ؓ250nsQ典型双l线上的信号传输速率Uؓ0.2m/nsQ?4AWG PVC늼Q,那么只要数据速率?50kbps以内、电~长度不过16cI采用MAX483作ؓRS-485接口时就可以不加l端匚w?/FONT>

当考虑l端匚wӞ有多U匹配方案可以选择。最单的是在ȝ两端各接一只阻值等于电~特性阻抗的电阻Q图2aQ。大多数双绞U特性阻抗大U在100Ω?20Ω之间。这U匹配方法简单有效,但有一个缺点,匚w电阻要消耗较大功率,对于功耗限制比较严格的pȝ不太适合。另外一U比较省늚匚w方式是RC匚wQ图2bQ。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匚w质量间进行折街除上述两种外,q有一U采用二极管的匹配方案(?cQ。这U方案虽未实现真正的"匚w"Q但它利用二极管的钳位作用迅速削弱反信P辑ֈ改善信号质量的目的。节能效果显著?/FONT>

?Q几U终端匹配方?/FONT>

引出U?/B>

RS-485ȝ上的每个收发器通过一D引出线接入ȝQ引出线q长Ӟ׃信号在引出线中的反射Q也会媄响ȝ上的信号质量。和前面的讨ZPpȝ所能允许的引出UK度也和信L转换旉、数据速率有关。下面的l验公式可以用来估算引出U的最大长度:

Lmax=QtRISE×0.2m/nsQ?10

以MAX483ZQ对应于250ns的上?下降旉Qȝ允许的最大引出线长度Uؓ5c?/FONT>

从以上的分析可以看出Q减~信L前后沿斜率有利于降低对于ȝ匚w、引出线长度的要求,改善信号质量Q同Ӟq信号中的高频成分降低Q减电辐,因此Q有些器件生产厂商在RS-485接口器g中增加了摆率限制电\来减~信号前后沿Q但q种做法也限制了数据传输速率。由此看来,在选择接口器gӞq不是速率高好Q应该根据系l要求,选择最低速率的器件?/FONT>

失效保护

RS-485标准规定接收器门限ؓu200mV。这栯定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当ȝ电压在?00mV中间时接收器输出状态不定。由于UART以一个前?0"触发一ơ接收动作,所以接收器的不定态可能会使UART错误地接收一些数据,Dpȝ误动作。当ȝI闲、开路或短\旉有可能出CU电压差低于200mV的情况,必须采取一定措施避免接收器处于不定态。传l的做法是给ȝ加偏|,当ȝI闲或开路时Q利用偏|电dȝ偏置在一个确定的状态(差分电压?00mVQ。但q种Ҏ仍然不能解决ȝ短\时的问题Qؓ此,有些器g刉商接攉限移?200mV/-50mVQy妙地解决了这个问题。例如Maxim公司为MAX3080pdRS-485接口Q不但省M外部偏置电阻Q而且解决了ȝ短\情况下的失效保护问题?/FONT>

地线与接?/B>

电子pȝ的接地是一个非常关键而又常常被忽视的问题Q接地处理不当经怼D不能E_工作甚至危及pȝ安全。对于RS-485|络来讲也是一P没有一个合理的接地pȝ可能会ɾpȝ的可靠性大打折扣,其是在工作环境比较恶劣的情况下Q对于接地的要求更ؓ严格。有关RS-485|络的接地问题很有资料提及Q在设计者中也存在着很多误区Q致佉K信可靠性降低、接口损坏率较高。一个典型的错误观点是认ؓRS-485通信链\不需要信号地Q而只是简单地用一对双l线各个接口的"A"?B"端连接v来。这U处理方法在某些情况下也可以工作Q但l系l埋下了隐患Q主要有以下两方面的问题Q?/FONT>

?:地电位差D的共模干扰问?/FONT>

  • 共模q扰问题。的,RS-485接口采用差分方式传输信号Qƈ不需要相对于某个参照Ҏ信Ppȝ只需两U之间的电位差就可以了。但应该注意的是Q收发器只有在共模电压不出一定范_-7V?12VQ的条g下才能正常工作。当共模电压出此范围就会媄响通信的可靠,直至损坏接口。如?所C,当发送器A向接收器B发送数据时Q发送器A的输出共模电压ؓVOSQ由于两个系l具有各自独立的接地pȝQ存在着地电位差VGPD。那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS-485标准规定VOS?VQ但VGPD可能会有很大q度Q十几伏甚至数十伏)Qƈ可能伴有强干CP致接收器共模输入VCM出正常范围Qƈ在信L上生干扰电,d影响正常通信Q重则损坏接口?/P>

  • 늣辐射QEMIQ问题。驱动器输出信号中的共模部分需要一个返回通\Q如果没有一个低ȝq回通道Q信号地Q,׃以辐的形式q回源端Q整个ȝ׃像一个巨大的天线向外辐射늣波?/P>

因此Q尽是差分传输Q对于RS-485|络来讲Q一条低ȝ信号地还是必不可的。如?a所C,一条低ȝ信号地将两个接口的工作地q接hQ共模q扰电压VGPD被短路。这条信号地可以是额外的一对线Q非屏蔽双绞U)、或者是屏蔽双绞U的屏蔽层。值得注意的是Q这U做法仅寚wd共模q扰有效Q由于干扰源内阻大,短接后不会Ş成很大的接地环\甉|Q对于通信不会有很大媄响。当共模q扰源内阻较低时Q会在接地线上Ş成较大的环\甉|Q媄响正帔R信。笔者认为,可以采取以下三种措施Q?/FONT>

?:地线与接地方?/FONT>

1、若q扰源内M是非常小Q可以考虑在接地线上加限流电阻限制q扰甉|。接地电ȝ增加可能会共模电压升高Q但只要控制在适当的范围内׃会媄响正帔R信Q图4bQ;

2、采用Q地技术,隔断接地环\。当共模q扰内阻很小时上q方法已不能奏效Q此时可以考虑引入干扰的节点Q例如处于恶劣的工作环境的现ZA表)置hQ也是pȝ的电路地与机x大地隔离Q,q样隔断了接地环\Q不会Ş成很大的环\甉|Q图4cQ;

3、采用隔L口。有些情况下Q出于安全或其他斚w的考虑Q电路地必须与机x大地相连Q不能悬,q时可以采用隔离接口来隔断接地回路,但是仍然应该有一条地U将隔离侧的公共端与其它接口的工作地相连Q图4dQ?/P>

瞬态保?/B>

前面提到的接地措施只对低频率的共模干扰有保护作用Q对于频率很高的瞬态干扰就无能为力了。因为引U电感的作用Q对于高频瞬态干扰来Ԍ接地U实际等同于开路。这L瞬态干扰可能会有成百上千伏的电压,但持l时间很短。在切换大功率感性负载(甉|、变压器、电器{)、闪늭q程中都会生幅度很高的瞬态干扎ͼ如果不加以适当防护׃损坏接口。对于这U瞬态干扰可以采用隔L旁\的方法加以防护?/FONT>

?a所CZؓ隔离保护Ҏ。这U方案实际上瞬态高压{Ud隔离接口中的电隔d上,׃隔离层的高绝~电阻,不会产生损害性的涌甉|QvC护接口的作用。通常采用高频变压器、光耦等元g实现接口的电气隔,已有器g厂商所有这些元仉成在一片IC中,使用h非常便,如Maxim公司的MAX1480/MAX1490Q隔ȝ压可以到2500V。这U方案的优点是可以承受高电压、持l时间较长的瞬态干扎ͼ实现h也比较容易,~点是成本较高?/FONT>

?b所CZؓ旁\保护Ҏ。这U方案利用瞬态抑制元Ӟ如TVS、MOV、气体放늮{)危x的瞬态能量旁路到大地Q优Ҏ成本较低Q缺Ҏ保护能力有限Q只能保护一定能量以内的瞬态干扎ͼ持箋旉不能很长Q而且需要有一条良好的q接大地的通道Q实现v来比较困难?/FONT>

实际应用中可以将二者结合v来灵z运用(?cQ。隔L口对大幅度瞬态干扰进行隔,而旁路元件保护隔L口不被过高的瞬态电压击Iѝ?/FONT>

?Q瞬态保护方?/FONT>

l论

RS-485标准定义了一个极为坚固和可靠的通信链\Q具有高噪声抑制、宽共模范围、长传输距离、冲H保护等Ҏ,但一个真正可靠的RS-485|络q有赖于合理的应用。合理的|络布局、信号通道的连l性、周全的保护措施{,在设计之初就应该有一个M规划?/FONT>



geforceX 2006-02-26 15:56 发表评论
]]>
灰鸽子第四章Q双齐下,手工和Y件清除灰鸽子http://www.shnenglu.com/geforcex/articles/2343.htmlgeforceXgeforceXSun, 01 Jan 2006 03:41:00 GMThttp://www.shnenglu.com/geforcex/articles/2343.htmlhttp://www.shnenglu.com/geforcex/comments/2343.htmlhttp://www.shnenglu.com/geforcex/articles/2343.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/2343.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/2343.html灰鸽子第四章Q双齐下,手工和Y件清除灰鸽子

一.灰鸽子的手工?BR>  ׃灰鸽子拦截了API调用Q在正常模式下服务端E序文g和它注册的服?BR>
均被隐藏,也就是说你即使设|了“显C所有隐藏文件”也看不到它们。此?BR>
Q灰鸽子服务端的文g名也是可以自定义的,q都l手工检带来了一定的困难

?BR>  但是Q通过仔细观察我们发现Q对于灰鸽子的检仍然是有规律可循的。从

上面的运行原理分析可以看出,无论自定义的服务器端文g名是什么,一般都?BR>
在操作系l的安装目录下生成一个以“_hook.dll”结文g。通过q一点,?BR>
们可以较为准手工检出灰鸽?服务端?BR>  ׃正常模式下灰鸽子会隐藏自w,因此灰鸽子的操作一定要在安全模

式下q行。进入安全模式的Ҏ是:启动计算机,在系l进入Windows启动画面?BR>
Q按下F8?或者在启动计算机时按住Ctrl键不?Q在出现的启动选项菜单中,

选择“Safe Mode”或“安全模式”?BR>  1、由于灰鸽子的文件本w具有隐藏属性,因此要设|Windows昄所有文?BR>
。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,

取消“隐藏受保护的操作系l文件”前的对勾,q在“隐藏文件和文g夹”项?BR>
选择“显C所有文件和文g夹”,然后点击“确定”?BR>
  2、打开Windows的“搜索文件”,文g名称输入“_hook.dll”,搜烦位置?BR>
择Windows的安装目录(默认98/xp为C:\windowsQ?k/NT为C:\WinntQ?

3、经q搜索,我们在Windows目录Q不包含子目录)下发C一个名?BR>
Game_Hook.dll的文件?BR>
4、根据灰鸽子原理分析我们知道Q如果Game_Hook.DLL是灰鸽子的文Ӟ则在?BR>
作系l安装目录下q会有Game.exe和Game.dll文g。打开Windows目录Q果然有q?BR>
两个文gQ同时还有一个用于记录键盘操作的GameKey.dll文g?BR> 

  l过q几步操作我们基本就可以定q些文g是灰鸽子 服务端了Q下面就

可以q行手动清除?BR>二、灰鸽子的手工清?BR>  l过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式?BR>
操作Q主要有两步Q?、清除灰鸽子的服务;2删除灰鸽子程序文件?BR>  注意Qؓ防止误操作,清除前一定要做好备䆾?BR>  Q一Q、清除灰鸽子的服?BR>注意清除灰鸽子的服务一定要在注册表里完成,Ҏ册表不熟悉的|友h熟悉

的h帮忙操作Q清除灰鸽子的服务一定要先备份注册表Q或者到UDOS下将注册?BR>
文g更名Q然后在L册表删除灰鸽子的服务。因为病毒会和EXE文gq行兌
  2000QXPpȝQ?BR>  1、打开注册表编辑器Q点几Z开始”-》“运行”,输入“Regedit.exe?BR>
Q确定。)Q打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services?BR>
册表V?BR>  2、点击菜单“编辑”-》“查䏀,“查扄标”输入“game.exe”,点击

定Q我们就可以扑ֈ灰鸽子的服务(此例为Game_ServerQ每个hq个服务?BR>
名称是不同的Q。 

  3、删除整个Game_ServerV?BR>  98QmepȝQ?BR>  ?X下,灰鸽子启动项只有一个,因此清除更ؓ单。运行注册表~辑器,

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,

我们立即看到名ؓGame.exe的一,Game.exe删除即可?BR>
  Q二Q、删除灰鸽子E序文g
  删除灰鸽子程序文仉常简单,只需要在安全模式下删除Windows目录下的

Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文gQ然后重新启动计?BR>
机。至此,灰鸽子VIP 2005 服务端已l被清除q净?BR>以上介绍的方法适用于我们看到的大部分灰鸽子木马及其变种Q然而仍有极数

变种采用此种Ҏ无法和清除。同Ӟ随着灰鸽子新版本的不断推出,作?BR>
可能会加入一些新的隐藏方法、防删除手段Q手工检和清除它的隑ֺ也会来

大?BR>三、防止中灰鸽子病毒需要注意的事项
1. l系l安装补丁程序。通过Windows Update安装好系l补丁程?关键更新?BR>
安全更新和Service pack)Q其中MS04-011、MS04-012、MS04-013、MS03-001?BR>
MS03-007、MS03-049、MS04-032{都被病毒广泛利用,是非常必要的补丁E序
  2. l系l管理员帐户讄_复杂_强壮的密码,最好能?0位以上,?BR>
?数字+其它W号的组合;也可以禁?删除一些不使用的帐?BR>  3. l常更新杀毒YӞ病毒库)Q设|允许的可设|ؓ每天定时自动更新?BR>
安装q合理用网l防火墙软gQ网l防火墙在防病毒q程中也可以起到臛_?BR>
要的作用Q能有效地阻挡自来网l的d和病毒的入R。部分盗版Windows用户?BR>
能正常安装补丁,q点也比较无奈,q部分用户不妨通过使用|络防火墙来q行

一定防?BR>  4. 关闭一些不需要的服务Q条件允许的可关闭没有必要的׃nQ也包括C$?BR>
D${管理共享。完全单机的用户可直接关闭Server服务。这些都可以用winxpȝ

{优化Y件关闭?BR>WinXP ȝ v4.9.3 中文注册?BR>
http://www.366tian.net/soft/data/soft/219.html
  5. 不要随便打开或运行陌生、可疑文件和E序Q如邮g中的奇怪附Ӟ外挂

E序{?BR>五、灰鸽子QHuigezi、GpigeonQ专用检清除工?BR>软g名称Q?灰鸽子(Huigezi、GpigeonQ专用检清除工?
界面语言Q?体中?
软gcdQ?国软g
q行环境Q?/Win9X/Me/WinNT/2000/XP/2003
授权方式Q?免费软g
软g大小Q?414KB
软g介: q鸽子工作室开发的,针对灰鸽子专用清除器!可以清除VIP2005?BR>
灰鸽子服务端E序(包括杀毒Y件杀不到的灰鸽子服务?和灰鸽子 [辐射正式版]

?DLL版服务端 牉|版服务端
q行DelHgzvip2005Server.exe文g清除VIP2005版灰鸽子服务端程序,q行

un_hgzserver.exe文g清除灰鸽?[辐射正式版] ?DLL版服务端 牉|版服务端
下蝲地址Q?BR>
http://www.366tian.net/soft/data/soft/875.html


l束语:写完了这教E,我也该准备重装系l了Q因为我q行了自q成的?BR>
马,体验C它的强大功能Q不x工去清除了,直接重装了?BR>    本文章本人收集的资料以及自己的心得体会,转蝲h明来?BR>
http://bbs.5qzone.netQ如果文章有늊你的版权Q请告诉我,我删?/FONT>




geforceX 2006-01-01 11:41 发表评论
]]>
灰鸽子第三章Q服务端工作方式http://www.shnenglu.com/geforcex/articles/2342.htmlgeforceXgeforceXSun, 01 Jan 2006 03:40:00 GMThttp://www.shnenglu.com/geforcex/articles/2342.htmlhttp://www.shnenglu.com/geforcex/comments/2342.htmlhttp://www.shnenglu.com/geforcex/articles/2342.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/2342.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/2342.html灰鸽子第三章Q服务端工作方式

灰鸽子是国内一ƾ著名后门。比起前辈冰沟뀁黑z来Q灰鸽子可以说是国内后门

的集大成者。其丰富而强大的功能、灵zd变的操作、良好的隐藏性其他后门

都相形见l。客L易便L操作使刚入门的初学者都能充当黑客。当使用?BR>
合法情况下时Q灰鸽子是一ƾ优U的远E控制Y件。但如果拿它做一些非法的?BR>
Q灰鸽子成了很强大的黑客工兗这好比火药,用在不同的场合,lhcd

来不同的影响。对灰鸽子完整的介绍也许只有灰鸽子作者本够说清楚Q在?BR>
我们只能q行要介l?BR>  灰鸽子客L和服务端都是采用Delphi~写。黑客利用客LE序配置出服

务端E序。可配置的信息主要包括上U类型(如等待连接还是主动连接)、主?BR>
q接时用的公网IPQ域名)、连接密码、用的端口、启动项名称、服务名U?BR>
Q进E隐藏方式,使用的壳Q代理,图标{等?BR>  服务端对客户端连接方式有多种Q得处于各U网l环境的用户都可能中?BR>
Q包括局域网用户Q通过代理上网Q、公|用户和ADSL拨号用户{?BR>  下面介绍服务端:
  配置出来的服务端文g文g名ؓG_Server.exeQ这是默认的Q当然也可以?BR>
zQ缓蠛诳屠靡磺邪旆ㄓ掌没C诵蠫_Server.exeE序。具体采用什么办?BR>
Q读者可以充分发挥想象力Q这里就不赘q?BR>G_Server.exeq行后将自己拯到Windows目录?98/xp下ؓpȝ盘的windows?BR>
录,2k/NT下ؓpȝ盘的Winnt目录)Q然后再从体内释放G_Server.dll?BR>
G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll?BR>
G_Server_Hook.dll三个文g怺配合l成了灰鸽子服务端,  

G_Server_Hook.dll负责隐藏灰鸽子。通过截获q程的API调用隐藏灰鸽子的文g

、服务的注册表项Q甚xq程中的模块名。截L函数主要是用来遍历文件?BR>
遍历注册表项和遍历进E模块的一些函数。所以,有些时候用h觉种了毒Q但

仔细查却又发C了什么异常。有些灰鸽子会多释放Z个名?BR>
G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exeq个名称q不?BR>
定,它是可以定制的,比如当定制服务端文g名ؓA.exeӞ生成的文件就?BR>
A.exe、A.dll和A_Hook.dll?BR>  Windows目录下的G_Server.exe文g自己注册成服务Q?Xpȝ写注册表?BR>
动项Q,每次开机都能自动运行,q行后启动G_Server.dll和G_Server_Hook.dll

q自动退出。G_Server.dll文g实现后门功能Q与控制端客Lq行通信Q?BR>
G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不?BR>
病毒文gQ也看不到病毒注册的服务V随着灰鸽子服务端文g的设|不同,

G_Server_Hook.dll有时候附在Explorer.exe的进E空间中Q有时候则是附在所?BR>
q程中?BR>  灰鸽子的作者对于如何逃过杀毒Y件的查杀׃很大力气。由于一些API函数

被截P正常模式下难以遍历到灰鸽子的文g和模块,造成查杀上的困难。要?BR>
载灰鸽子动态库而且保证pȝq程不崩溃也很麻烦,因此造成了近期灰鸽子在互

联网上泛滥的局面?/FONT>

geforceX 2006-01-01 11:40 发表评论
]]>
灰鸽子第二章Q好马配好鞍Q服务端正确配置http://www.shnenglu.com/geforcex/articles/2341.htmlgeforceXgeforceXSun, 01 Jan 2006 03:39:00 GMThttp://www.shnenglu.com/geforcex/articles/2341.htmlhttp://www.shnenglu.com/geforcex/comments/2341.htmlhttp://www.shnenglu.com/geforcex/articles/2341.html#Feedback13http://www.shnenglu.com/geforcex/comments/commentRss/2341.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/2341.html灰鸽子第二章Q好马配好鞍Q服务端正确配置

灰鸽子是一ƾ要交钱的YӞ也就是说Q你使用VIP版的话是要交l作者每q几?BR>
块钱的用费Q不作Q何评论)

因此|上也就有很多高手破解灰鸽子Q让灰鸽子可以不用到灰鸽子的官方|站q?BR>
行验证,从而可以不用交钱就可以使用Q?BR>相关版本有:影子鹰破解专用版Q爱儿破解版Q以及华夏黑客联盟的灰鸽?BR>
sunray破解版?BR>
今天我们q"灰鸽子sunray破解?来向大家详细解析q款木马的服务端配置?BR>
式,只可实验Q不可做坏事Q大家不喜欢误q这一章?BR>
W一节:未雨l缪Q实验准备?BR>    W一,关闭杀毒YӞq点不用我说了吧~~~因ؓ是木马,下蝲了之后如

果杀毒Y件监控开着的话肯定会被删除的?   
    W二Q当然是下蝲灰鸽子的软g啦~~~上网找,有很多~~~

   
    W三Q申请一个免费的主页I间Qؓ什么要呢?因ؓ灰鸽子是可以反弹

式链接的Q也是_服务端通过登陆你的主页的特定文件就可以dq接C

的电脑让你控制了。(q一点,{一下会详细解说Q?BR>
W二节:实战开始?BR>
把我们刚才下来的文g解压到某个文件夹Q记住,不要Ҏ件夹的名字,后面?BR>
用到?BR>
解压的文仉面有以下几个文gQ?BR>H_Client.exe q个是客L的主要文Ӟ可以配置文gQ生成服务端Q可以远

E控制客L?BR>http.exe q个是本地http服务器,因ؓ我们的灰鸽子是破解版的,通常正式?BR>
的灰鸽子会到官方的服务器上去验证你的软g是否正版Q所以这个Y件就是用?BR>
在本机子上徏一个服务器Q骗qY件的Q从而达到破解的目的?BR>sunray.exe q个里面其实也就只是一个hostQ它?/FONT>http://www.huigezi.comq?BR>
个网站的域名本地解析到本机,而不是解析到官方|站?BR>vip_2005_0113.rar q个是验证的软gQ当我们的Y件解析到本机的时候它׃

下蝲q一个到客户端,用来验证用的?BR>其它的文件还有config2005.aspQOperate.ini q有四个文g夹,他们分别?BR>
(dat images login sound)我也不知道什么用的。应该是配置用的?BR>

    W一步:在你的电脑上新徏一个ip.txt的文本文Ӟ内容如下Q?BR>
http://huigezi212.126.131.43:8000end
其中212.126.131.43q个是我的电脑IP地址Q?000是连接的端口Q你可以把它?BR>
成你自己的IP地址Q端口一般不要去改动Q然后把q个文g上传C刚才甌?BR>
I间,如果你的电脑是动态IP的话Q那你就要经常更新这个文件的内容Q然后上?BR>
到空_它的目的是客L上线的话׃去这个网站读取这个文Ӟ然后d?BR>
你取得连接?BR>    W二步,首先q行 sunray.exeQ然后运?http.exe 点开始服务!
    W三步,q行客户端,也就是H_Client.exeq个文gQ我们可以看C
下界面,如图1

点击配置服务E序Q用来生成服务端Q如?
    点击“自动上U쀝选项Q有几个要点要说的,
   
    1Q“备用自动上U,URL转向域名或网|Ӟq里呢,填写你刚才申

请到的网站空间地址和ip.txtQ比如http://你的|站地址/ip.txt
Q当Ӟ如果你是固定IP的话呢,可以写你的IP地址Q那么前面的甌I间Q上

传文件几步可以省略)
    2Q?“自动连接密码”,q个是表CZ可以q接到的电脑所要用到的?BR>
码,如果为空的话Q也没什么大不了的,多是别h也可以用你的“肉鸡?BR>    3Q“配|说明”徏议你把“只使用备用自动上线”前的勾打上Q因为我

们的软g是破解版的,官方的那个服务器我们是用不了啦~~~
    4Q“用户名U”“用户密码”这两个地方乱填些数字进d行了Q破?BR>
版用不了正式版的服务器的Q它是服务器用来验证软g是否“正版”用的?BR>

    “安装选项”选项卡,修改一下名字,以免被发玎ͼ其它的自q

着办,看着喜欢选吧~~~^_^
    “启动项”这个很重要Q徏议你修改一下名字,它主要是服务端随pȝ

自动启动用的Q也是自q着办。其中的“生成服务”这一ҎZ辑ֈ隐藏?BR>
的,q也是我们经常说的手工清除木马的关键。也是长期以来很多h说无法清?BR>
灰鸽子的原因Q因为它写成了服务,q个的优先是系l的,所有用这台电

脑的用户都会启动木马?BR>    “代理服务”,dQ就是你控制的电脑可以给我们做ؓ一C理服?BR>
器,说不定h家公布出来的代理服~务器地址有一部分是这些电脑的哦~~~
    “高U选项”这里主要是用来对付杀毒Y件和防火墙用的,默认是插?BR>
IEXPLORERQ启动隐藏文仉藏插入的IEq程Q以及用UPX压羃Q这里就不用?BR>
改它的,默认p?BR>    "服务器图标”是用来伪装用的Q你自己选项自己喜欢的图标吧~~~

配置好了qȝ成服务器QY件会优先从官斚w证,但没效,出错了后׃?BR>
地服务器验证Q这是我们要本机徏http服务器的原因。好了,到此Q服务端?BR>
生成了,不要q行它,q行了你׃中木马的Q(不准做坏事)

软g使用ҎQ当别h中了你的木马后,它会从你的网站读取ip.txtq个文gQ?BR>
然后dq接C的电脑,如果你此时也打开了客L的话Q连接徏立成功,?BR>
可以控制q台电脑了。具体有什么内容你自己摸烦Q?BR>如果你是动态IP地址的话Q那么你要每ơ把新的ip.txt上传到网站上去~~~

21_256015.jpg

geforceX 2006-01-01 11:39 发表评论
]]>
灰鸽子第一章:软g相关介绍http://www.shnenglu.com/geforcex/articles/2340.htmlgeforceXgeforceXSun, 01 Jan 2006 03:37:00 GMThttp://www.shnenglu.com/geforcex/articles/2340.htmlhttp://www.shnenglu.com/geforcex/comments/2340.htmlhttp://www.shnenglu.com/geforcex/articles/2340.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/2340.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/2340.html灰鸽子第一章:软g相关介绍Q这些是来自文g的介l来?BR>
灰鸽?[VIP 专业版]

  1.只用一个端口来传输所有通讯数据Q普通同cY仉用到了两个或两个?BR>
上的端口来完成!

  2.支持可以控制Internetq接׃n、HTTP透明代理上网的电脑!软g?BR>
取系l设定的代理服务器信息,无需用户讄Q?BR>
  3.无需知道服务端IPQ自动上U功能让服务端自动上U报道!灰鸽子专用的

上线pȝ无需您注册免费域名才能?同时也提供了备用上线方式Q在我们的专

用上U系l出现故障时Q您可以使用备用上线方式来用自动上U功能。在使用

专用上线pȝӞ你还可以控制q程电脑通过Socks5代理来中转自动上Uѝ?BR>
  4.自动上线可以在第一ơ设|分l,自定义上U图像,上线备注{,q样?BR>
可以让你轻而易丄扑ֈ目标LQ同时设|连接密码保证了服务L的安全?BR>
Q同时具用牵手版的搜索符合条件主机的功能Q?BR>
  a.从主机窗口筛选:可以列出只有某个H口的一批主?可以L扑ֈ哪些?BR>
在玩某个游戏Q?BR>
  b.从主E筛选:可以列出q行了某个程序的一批主?例如QQ.exe,可

以找到打开了QQ的自动上U主机有哪些了!

  5.文g理Q管理远E电脑的文gpȝ,支持复制、粘贴、删除,断点下蝲?BR>
上传文g或文件夹Q文件内容均以加密方式传输,保通讯的安全?

  6.q程控制命oQ包括远E系l信息、剪切板信息、进E管理、窗口管理?BR>
键盘记录、服务管理、管理管理、MS-DOS模拟、代理服务控Ӟ

  7.注册表编辑器Q可以像操作本机注册表一L~辑q程注册表?BR>
  8.常用命oq播Q让你控制主Z多主机更多的方便Q详l的在线LU表

昄了:LIP地址Q地址位置Q电脑名Uͼpȝ版本,备注{信?

  9.除了h语音监听、语韛_送,q有q程视频监控功能Q只有远E计机

有摄像头Q且正常打开没有被占用,那么你可以看?q程摄像头捕L囄Q还

可以把远E摄像头捕获的画面存为Mpeg-1格式.q程语音也可以录制成Wav声音?BR>
件?BR>
  10.可以讄服务端开放Socks5代理服务器功能和HTTP代理服务功能Q无需W?BR>
三方软g支持Q支持Windows9x/ME/2000/Xp/2003?BR>
  11.软g附带有四Ƒ֮用工P

    a. EXE工具 : 可以修改MEXE文g图标Q支持真彩色Q?BR>    b. 内网端口映射?: 它允怽局域网内的服务映射到internet上,?BR>
你在局域网内部也能使用自动上线功能Q?BR>    c. FTP服务?: 可以开本机FTP服务Q?BR>    d. Web服务?: 可以建立一个简单的Web服务器!

  12.服务端程序在 Windows 2000 / xp / 2003 可以以服务启?支持发送多

U组合键,比如:Ctrl+Alt+del{等,适用于管理服务器L!q程屏幕捕获q可?BR>
录制为Mpeg-1文g格式.

  13.全中文友好操作界面,让你一目了Ӟ漂亮皮肤让用时也倍感亲切Q?BR>


功能单介l:
?】对q程计算机文件管理:模枋 Windows 资源理器,可以Ҏ件进行复?BR>
、粘贴、删除,重命名、远E运行等,可以上传下蝲文g或文件夹,操作单易?BR>
?
?】远E控制命令:查看q程pȝ信息、剪切板查看、进E管理、服务管理、共

享管理!
?】捕获屏q:不但可以q的捕莯E电脑屏q,q能把本地的鼠标及键盘传

动作送到q程实现实时控制功能Q?
?】视频语韻I可以监控q程摄像?q有语音监听和发送功能,可以和远E主

行语韛_话!
?】telnet(l端).
?】注册表模拟器:q程注册表操作就像操作本地注册表一h?
?】命令广播:可以对自动上U主行命令广播,如关机、重启、打开|页Q?BR>
{选符合条件的机等Q点一个按钮就可以让N台机器同时关机或q行其它操作Q?
?】服务端以服务方式启动,支持发送多U组合键Q可以轻杄理远E服务器Q?
?】专用的自动上线pȝQ直接用灰鸽子注册ID卛_实现q程服务端自动上U?BR>
Q?BR>?0】多U自动上U方式:专用上线、DNS解析域名、固定IP{,用户自由选择Q?

注册灰鸽子Y件后享有Q?BR>

⒈n用Y件的所有功?没有M限制!
⒉能使用对应的灰鸽子注册版本Q能得到此版后期修正的正式版?
⒊可以用我们的专用上线pȝQ无需其它域名和空间支?
⒋得到我们更好的技术服?

注:[VIP版] 包括 VIP2005、Version 1.2、Version 2.0 !

[企业版]用户只能使用企业版!不能使用其它版本Q?BR>5.加入会员后,会自动加入官方论坛。n受官Ҏ术支?/FONT>
stuphoto.jpg

geforceX 2006-01-01 11:37 发表评论
]]>
NSIS常见问题集锦 http://www.shnenglu.com/geforcex/articles/1463.htmlgeforceXgeforceXThu, 01 Dec 2005 05:31:00 GMThttp://www.shnenglu.com/geforcex/articles/1463.htmlhttp://www.shnenglu.com/geforcex/comments/1463.htmlhttp://www.shnenglu.com/geforcex/articles/1463.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/1463.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/1463.html  {:!define MUI_ABORTWARNING 把这句去掉就可以了?/P>

 

  问:如何显C的“setup 安?..”中的“setup”去掉,除了用自定义字串来修改这个地方以外,如何把这个setup搞成其他的?比如“安装程序现在将...?/P>

  {:DirText "安装E序安?$(^NameDA) 在下列文件夹。要安装C同文件夹Q单?[览(B)] q择其他的文件夹?$_CLICK"

 

  问:如何定义Ƣ迎面的标题字体大?/P>

  {:使用以下脚本

E序代码
!define MUI_PAGE_CUSTOMFUNCTION_SHOW ChageFONT
!insertmacro MUI_PAGE_WELCOME

Function ChageFONT
GetDlgItem $0 $MUI_HWND 1201
createFont $1 "Tahoma" "11" "700"
SendMessage $0 ${WM_SETFONT} $1 0

 


  问:d版本?/P>

引用内容
VIProductVersion "1.2.3.4"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Test Application"
VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Test Application is a trademark of Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "?Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Test Application"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "1.2.3"

  在脚本中加入上面的代码,则ؓ NSIS 生成?exe d版本信息。问题就是,能否让属性中语言昄为“中文(中国Q”?

  {:中文 ID ?2052??${LANG_ENGLISH} 改ؓ 2052?/P>

 

  问:?2052 之后实变成“中文(中国Q”了。但其他内容仍旧是ؕ码,不知有什么办法可以解军_Q?/P>

  {:版本信息讄语句Q放?!insertmacro MUI_LANGUAGE 的后面,NSIS 要注重次序的。如果用古典界面,攑֜ LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf" 的后面?/P>

 

  问:如何止昄 banner ?/P>

  {:囄的效果是因ؓ安装E序初始化的时候,也就?.onInit 函数里需要用到某个文件的时候安装程序需要搜索整个数据区块来把它解压出来Q当安装E序比较大的时候搜索比较费Ӟq个时候才昄解压癑ֈ比。一般都是用 ReserveFile 来避开q种搜烦。比?Function .onInit 里有Q?/P>

E序代码
InitPluginsDir
File "/oname=$PLUGINSDIR\io.ini" ".\io.ini"

  或者其他类似的话,安装E序需要搜索ƈ解压q个文g。一般在脚本头部加:

E序代码
ReserveFile ".\io.ini"

  q样 io.ini ׃存在数据区块的尾部,安装E序初始化的时候就不用搜烦整个数据区块了,相当于加快了安装E序的启动速度?/P>

 

  问:Ҏ以上Ҏ使用了,实不会再出现初始化的对话框了,但是在自定义?InstallOptions |C前Q程序还是会停顿一D|_请问q是ZQ如何避免?

  {:某些控g比较消耗时间的Q比如显C?ICON、位?{,如果 InstallOptions 里含有这些控件可能会停顿。如?InstallOptions 是第一个页面的话还要把 InstallOptions.dll 加入?ReserveFile 参数里。再或者就是进?InstallOptions 的时候含有比较复杂的指oQ比如@环等。一般在加入 ReserveFile ${NSISDIR}\Plugins\InstallOptions.dll 既可避免?/P>

 

  问:如何q行一个安装文?.inf

  {:ExecWait "RunDll32 advpack.dll,LaunchINFSection skins.inf,DefaultInstall"

 

  问:兌文g图标后,图标没变化?/P>

  {:h图标用, System::Call shell32.dll::SHChangeNotify(l, l, i, i) v (0x08000000, 0, 0, 0)

 

  问:我用NSIS做好了一个安装程序,因ؓ数据较多Q一共有400多MQ用的LZMA压羃方式Q做好后的安装程序约200MQ但是我发现在运行这个安装程序时会在pȝTEMP目录产生一个同安装后的全部内容同样大的临时文gQ一边运行一边加大,最后到400多MMQ,如果我做的程序小倒没什么,可是q个E序?00多MQ除了要写入安装的数据外q要同样大小的空间放临时文gQ这样子也实在是太花不来Q我惌问:有什么办法能让其在安装时不用这么多的时空间吗Q安装的脚本是用HM NIS Edit的向导生成的?/P>

  {:q是因ؓ NSIS 在用 LZMA 旉用了固实压羃Q何谓固实压~,其实是把所有文件统一h压羃Q所以这样压出来的文件更加的,同时也带来了一个问题,安装解压的时候,在时文件夹中生成一个时文Ӟ随着安装的进E逐渐增大Q到最后,需要时文件会变成跟原安装E序一样大Q也是_需要原安装E序 2 倍的I间才可以安装这个程序,所以对于安装大量文件时Q这是不适合的?BR>  NSIS 2.07 版本之前 LZMA 法是固实压~的Q没有非固实的选项Q如果需要这样做Q只有下载非固实压羃的编译器Q但?2.07 后的 NSIS ?LZMA 压羃已经改ؓ默认非固实压~了Q所以这个问题同时也不再存在。如果在制作量文g的安装时Q仍然想取用固实压羃可以加入 /SOLID 参数?BR>  像这P SetCompressor /SOLID lzma

 

  问:能不能在 Section 区段中实现读取INI文g状态来安装。若选中单选框1则安?中定义的文g。若不选中则不安装。若选中单选框2则安?定义的文件。若不选则不安装?/P>

  {:使用以下代码

E序代码
!include LogicLib.nsh
Section -post
SetOutPath $INSTDIR
!insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 2" "State"
${If} $INI_VALUE = 1
File /a ".\file\fileA.exe"
File /a ".\file\fileB.exe"
${EndIf}
!insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 3" "State"
${If} $INI_VALUE = 1
File /a ".\file\fileA.exe"
${EndIf}
SectionEnd


  或者用以下代?/P>

E序代码
!include LogicLib.nsh
Section -post
SetOutPath $INSTDIR
!insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 2" "State"
${If} $INI_VALUE = 1
;选中时执行的代码
File /a ".\file\fileA.exe"
File /a ".\file\fileB.exe"
${Else}
;不选中时执行的代码
File /a ".\file\fileA.exe"
${EndIf}
SectionEnd

 


  问:?NSIS 中如何设|工作目录,例如一些文件的快捷方式Q还有安装完一个Y件后q行一个程序,而这个程序需要检当前工作目录下的某个文Ӟq时候设|工作目录尤为重要,否则E序不能正常q行?/P>

  {:NSIS 中设定工作目录?SetOutPathQ例如在q行E序的代?ExecWait "$INSTDIR\test2.exe" 前放?SetOutPath $INSTDIRQ那?$INSTDIR 会成ؓ当前的工作目录,建立快捷方式也会把工作目录设?$INSTDIR。卸载之前运行某E序只需要把q行指o攑ֈ Function un.onInit 里就?/P>

 

  问:记得以前看到有帖子介l过可在NSIS中调?inf文g安装附加驱动E序Q具体实C码如下Ş式:

引用内容
ExecWait "RunDll32 advpack.dll,LaunchINFSection drivers.inf,DefaultInstall"

  偶在打包一东东时使用了这一ҎQ但遇到的问题时Q如果在卸蝲区段里设|能自动卸蝲安装q的驱动E序呢?

  {:能否卸蝲需要看 INF 文g里面是否有卸载的区段Q例如?NSIS 卸蝲 Windows Messenger 可以q样Q?/P>

E序代码
ExecWait "RunDll32 advpack.dll,LaunchINFSection $windir\INF\msmsgs.inf,BLC.Remove"

  关于 BLC.Remove 的来源,可以打开 msmsgs.inf 文g后,能找到名UCؓ BLC.Remove 的区D,该区D는于卸载。区D늚名称是编写者自己定制的。不同的inf文gQ区D名也可能不同。其他的 *.inf 文g也可以按照此cd法?/P>

 

问:Q问题如下)
  1、我做了一个可同时在简J英下执行的安装E序。但有个很大的困惑。刚开始时做的是简体中文版Q在中下当然没问题,但在?J下Q创建的中文E序l名和写注册表时昄的是q。于是想到写一个三者皆适合的安装程序?BR>  我的做法是这LQ在涉及到创Z文程序组和写注册表时Q加入一个判断,如果英文或繁体,则分别创文文件名和big5内码文g名。但在繁体winxp和英文win2k下测试后Q发现根本无法正常创建程序组Q也无法正常生成uninstall.exe文g。而写入注册表的中文字W,也不能在J体pȝ的注册表中正常显C,而是q?BR>  h高手Q这U多语言环境下该怎么处理Q才能正常显C呢Q?M能全部都l创建成英文的吧Q?BR>  2、另外有个小问题Q如何让nsis做的安装E序不显C具体的安装文g名,而只昄“正在复制文件……”? 象foobar那样Q可惜foobar也有个显Cl情늚按钮Q我惛_复制文gq程中完全不昄和提C复制的文件情c?/P>

{:Q解{如下)
  1、最单的处理办法是l需要处理的资源q行一个定义,然后使用 LangString 定义不同的资源。给个示例:

E序代码
Caption "$(CAPTION)"
LangString CAPTION ${1033} "DreamMail Installation"
LangString CAPTION ${2052} "DreamMail 安装向导"
LangString CAPTION ${1028} "DreamMail 杆旧"

  2、可以?DetailPrint Q示例,

E序代码
DetailPrint "正在复制文g..."

 


  问:NSIS对于安装卸蝲的ICO图标大小有什么要?~译的时候出C下错误提C:

引用内容
Error finding icon resources: installer, uninstaller icon size mismatch - see the Icon instructions documentation for more information -- failing!


  {:只要保证安装图标与卸载图标大相同即可?/P>

 

  问:如何屏蔽如下图中的安装程序校验?/P>

  {:CRCCheck on|off|force 指定安装前安装程序是否对自n执行一?CRC。注意,如果用户使用?/NCRC 命o行参敎ͼ且你没有指定 force 参数Ӟ不会执行 CRCQ这h可能D用户安装一个损坏的安装E序?BR>  安装E序 CRC 校验是默认打开的。可以在脚本中用 CRCCheck off 来默认禁止安装程序的 CRC 校验。不q这样做正如解释上说的可能安装会出现问题。作汉化的最好加上校验,免得安装E序的问题变成你汉化质量的问题?/P>

 

  问:在安装的时候不是可以选择多种语言么?但是我怎样实现当选择英文时就装英文版Q选择中文时就装中文版Q?/P>

  {:使用以下脚本Q?/P>

E序代码
StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +3
File "你需要安装的中文文g"
Goto lbl_finish
File "你需要安装的英文文g"
lbl_finish:

 


  问:lgA lgB lgC 均ؓ可选,A可单独安装,B或者C被选择的时候A必须被选择?/P>

  {:以下代码Q?/P>

E序代码
Section "lg A" aaa
 detailprint "A"
SectionEnd

Section "lg B" bbb
 detailprint "B"
SectionEnd

Section "lg C" ccc
 detailprint "C"
SectionEnd

Function .onSelChange
 SectionGetFlags ${bbb} $0
 SectionGetFlags ${ccc} $1
 IntOp $0 $0 & 1
 IntOp $1 $1 & 1
 IntCmp $0 1 0 +2
  SectionSetFlags ${aaa} 1
 IntCmp $1 1 0 +2
  SectionSetFlags ${aaa} 1
FunctionEnd


  解释QSectionGetFlags 表示获取某区D늚flags状态(是是否被勾选,选中q回gؓ1Q反之ؓ0Q。SectionGetFlags ${bbb} $0 表示获取序号?{bbb}的区D늚Flags状态ƈ把返回D出到变量 $0QC 区段相同。接着是 StrCmp Q解释同上楼。SectionSetFlags ${aaa} 1 表示讄序号?${aaa} 区段?Flags 状态ؓ 1Q即N?/P>

 

  问:怎么让“许可协议”页面的标题栏,如程序中的“MutliPages 演示”修改ؓ“MutliPages 演示Q许可协议”?/P>

  {:首先创徏一个函敎ͼ如下?/P>

E序代码
Function LicensePagePre
SendMessage $HWNDPARENT ${WM_SETTEXT} 0 "STR:我爱?
FunctionEnd

  然后在协议页面句?

E序代码
!insertmacro MUI_PAGE_LICENSE "c:\path\to\licence\YourSoftwareLicence.txt"

  之前加入如下语句

E序代码
!define MUI_PAGE_CUSTOMFUNCTION_PRE LicensePagePre

 


  问:比如Q我?a.exe 用nsis包装好,安装?c:\helloLib\a.exeQ完成后Q想把c:\helloLib\d到系l环境变量的path里头Q这P在Q何地方输入a.exe可执行。如何将路径d到系l环境变量中Q?/P>

  {:以下代码实现Q?/P>

E序代码
ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$0;C:\hellolib"

  另类Ҏ一Q写注册表,?/P>

E序代码
[HKEY_CLASSES_ROOT\Applications\a.exe\shell\open\command]
@="yourpath\a.exe"

  另类Ҏ二:

E序代码
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\a.exe]
@="c:\helloLib\a.exe"

 


  问:在NSIS中如何才能做到根据对于注册表键值的判断军_是否写入字串Q如果判断出某个key存在Q则写入相应的字Ԍ如果不存在,则不写入字串。例如:我先要判断“HKLM SOFTWARE\nsis”这个key存不存在。如果存在则写入字串“DispName:nsis”,应该是用“WriteRegStr HKLM "SOFTWARE\nsis" "DispName" "nsis"”。如果不存在q个keyQ则不写入注册表Ql下面的安装?/P>

  {:以下代码实现Q?/P>

E序代码
ReadRegStr $0 HKLM SOFTWARE\nsis ""
 IfErrors 0 +2
 Goto +2
WriteRegStr HKLM "SOFTWARE\nsis" "DispName" "nsis"

 


  问:如何制作安装包的时候需要调用系l函数来当前安装包q行的操作系l的内码c?/P>

  {:以下代码昄pȝ语言Q?/P>

E序代码
System::Call "Kernel32::GetSystemDefaultLangID(v ..) i .s"
Pop $0
IntOp $0 $0 & 0xFFFF
MessageBox MB_OK $0

 


  问:如何用NSIS注册字体Q?/P>

  {:以下代码Q?/P>

E序代码
!include WinMessages.nsh
Section "MainSection" SEC01
File /oname=$FONTS\tahoma.ttf tahoma.ttf
Push "$FONTS\tahoma.ttf"
System::Call "Gdi32::AddFontResource(t s) i .s"
Pop $0
IntCmp $0 0 0 +2 +2
MessageBox MB_OK "注册字体p|"
SendMessage ${HWND_BROADcast} ${WM_FONTCHANGE} 0 0
SectionEnd

 


  问:如何?NSIS 安装输入法?/P>

  {:以下代码Q?/P>

E序代码
SetOutPath $SYSDIR
File WBIME.ime
Push "五笔输入?
Push "$SYSDIR\WBIME.ime"
System::Call "Imm32::ImmInstallIME(t s, t s) i .s"
System::Call "Imm32::ImmIsIME(i s) i .s"
Pop $0
IntCmp $0 1 0 +3 +3
MessageBox MB_OK "输入法安装成?
Goto +2
MessageBox MB_OK "输入法安装失?



geforceX 2005-12-01 13:31 发表评论
]]>
|友寚w动开发前途的看法http://www.shnenglu.com/geforcex/articles/1345.htmlgeforceXgeforceXSun, 27 Nov 2005 12:17:00 GMThttp://www.shnenglu.com/geforcex/articles/1345.htmlhttp://www.shnenglu.com/geforcex/comments/1345.htmlhttp://www.shnenglu.com/geforcex/articles/1345.html#Feedback0http://www.shnenglu.com/geforcex/comments/commentRss/1345.htmlhttp://www.shnenglu.com/geforcex/services/trackbacks/1345.html如果你是冲钱来的Q我先劝你打住,因ؓq个行当Q从3K到十几K都有Q你报的希望太高Q恐怕失望会太大?

要n体好Q肯熬夜Q,有点智商Q不要太高,否则ȝI相对论Q,心理承受能力好点Q不然由于经帔RPҎ_分裂Q就可以了?

光会做驱?Q我是指Q有些驱动,特别是在WINDOWS下的驱动Q不需要什么很q东西高出来了,我自己做的一个驱动就是,别h在硬件上做了个STRINGQ我d来,分析一下,完了,完全和写应用E序没有什么区别) 应该是不会MONEY太多的,驱动也是E序Q不q就是运行在内核模式而已。你得知道很多HARDWARE的知识(比如PCIQUSB{ȝl构Q,或是|络的知识(TCP/IP协议Q防火墙{)Q这样你的开发能力才是高,老板才肯l你MONEY多多。不q,q够你学一些日子了?

方向Q嵌入试LINUX
1 嵌入试应用广
2 LINUX免费Q国内老板喜欢
3 即你不做LINUXQ也必须看,因ؓ做别的东西,l常是在LINUX里找点东西,ULq去
4 Q这点你肯定喜欢Q同水^的开发,LINUX开发h员普遍MONEY比WINDOWS开发h员高?


geforceX 2005-11-27 20:17 发表评论
]]>
vavavaþ| ɫþþۺ| þ99ֻоƷ| ˾ƷþѶ| Ʒҹþ| ɫۺϾþ| ˾Ʒþþþ7777| þøŮ߳MBA| ˾þþƷӰԺ| þþþþþþ뾫Ʒպ| 㽶þƵ| ޾Ʒרþþ | Ʒþ8xѹۿ| ۺϾƷ㽶þ| þþþ޾Ʒ| ŮƷþþþ| þùƷþþ| þƵվ| Ʒþþþһ| պƷھþ | þþþþþþ66ƷƬ| ɫAVԾþþþþ| þùƷ99Ʒ987| þþƷ޾Ʒ| þԭƷ| þþþþۺһĻ| þþþһƷ޹ۺAV | ҹҹþ| þù߳׽ѹۿ| þþþ97Һ| ˾ƷۺϾþþ| 91þþþþþ| ˬݾþþۺ鶹| þŷ޹ۺ| þþþùƷ| 88þþƷһëƬ| þ99ù龫Ʒ66| ŷƷһþ| ޹Ʒþþþþ| þۺϾɫۺվ| պһþ |