锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产69国产精品亚洲,欧美午夜理伦三级在线观看,亚洲精品久久久久久一区二区http://www.shnenglu.com/elva/archive/2008/05/14/49815.html鍙跺瓙鍙跺瓙Wed, 14 May 2008 05:45:00 GMThttp://www.shnenglu.com/elva/archive/2008/05/14/49815.htmlhttp://www.shnenglu.com/elva/comments/49815.htmlhttp://www.shnenglu.com/elva/archive/2008/05/14/49815.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/49815.htmlhttp://www.shnenglu.com/elva/services/trackbacks/49815.html闃呰鍏ㄦ枃

鍙跺瓙 2008-05-14 13:45 鍙戣〃璇勮
]]>
鍒╃敤閽╁瓙鎶鏈帶鍒惰繘紼嬪垱寤?/title><link>http://www.shnenglu.com/elva/archive/2008/04/08/46491.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Tue, 08 Apr 2008 03:17:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2008/04/08/46491.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/46491.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2008/04/08/46491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/46491.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/46491.html</trackback:ping><description><![CDATA[05騫寸殑鑰佹枃绔犱簡,浠婂ぉ鎵嶇湅鍒?涓鐩存兂鍋氳屾病鏈夊仛鍑烘潵鐨勪笢瑗?宸窛鍟?..<br>淇鍘熸枃涓浜涚炕璇戜笉鎭板綋鐨勫湴鏂?br><br>鍘熻嫳鏂囧湴鍧:<br><a >http://www.codeproject.com/KB/system/soviet_protector.aspx</a><br><br><br><a href="http://www.shnenglu.com/Files/elva/drivers/soviet_protector_src.zip"><a >Download source files - 10.8 Kb</a> </a><br><a href="http://www.shnenglu.com/Files/elva/drivers/soviet_protector_demo.zip"><a >Download demo project - 12.1 Kb</a> </a><br><br>涓銆?綆浠? <p>銆銆鏈榪戯紝鎴戜簡瑙e埌涓涓彨鍋歋anctuary鐨勭浉褰撴湁瓚g殑瀹夊叏浜у搧銆傚畠鑳藉闃繪浠諱綍紼嬪簭鐨勮繍琛?榪欎簺紼嬪簭娌℃湁鏄劇ず鍦ㄨ蔣浠跺垪琛ㄤ腑-璇ヨ〃涓殑紼嬪簭琚厑璁稿湪涓涓壒瀹氱殑鏈哄櫒涓婅繍琛屻傜粨鏋滐紝PC鐢ㄦ埛寰楀埌淇濇姢鑰屽厤浜庡悇縐嶆彃浠墮棿璋嶈蔣浠躲佽爼铏拰鐗規礇浼婃湪椹殑渚佃-灝辯畻鑳藉榪涘叆浠?濂圭殑璁$畻鏈猴紝瀹冧滑涔熸病鏈夋満浼氭墽琛岋紝騫跺洜姝ゆ病鏈夋満浼氬璇ユ満鍣ㄩ犳垚浠諱綍鎹熷銆傚綋鐒訛紝鎴戣寰楄繖涓壒寰佺浉褰撴湁瓚o紱騫朵笖錛屽湪紼嶄綔鎬濊冧互鍚庯紝鎴戝氨鏈変簡涓涓嚜宸辯殑瀹炵幇銆傚洜姝わ紝鏈枃灝嗘弿榪板浣曢氳繃閽╀綇鏈満API鐨勬柟寮忔潵瀹炵幇鐩戞帶涓涓繘紼嬬殑鍒涘緩騫跺湪緋葷粺綰т笂瀵逛箣榪涜鎺у埗銆?/p> <p>銆銆鏈枃澶ц儐鍋囪錛岀洰鏍囪繘紼嬫槸浠ヤ竴縐嶇敤鎴鋒ā寮?澶栧3鍑芥暟錛孋reateProcess()錛岀敤涓緋誨垪鐨勬湰鏈篈PI璋冪敤鐨勬墜宸ョ殑榪涚▼鍒涘緩錛岀瓑絳?鍒涘緩鐨勩傚敖綆′粠鐞嗚涓婏紝涓涓繘紼嬭兘澶熶互鍐呮牳鏂瑰紡鍚姩錛涗笉榪囦粠瀹為檯鏉ョ湅錛屽姝ょ殑鍙兘鎬ф槸鍙互蹇界暐涓嶈鐨勶紝鍥犳鎴戜滑涓嶅繀涓烘鎷呭績銆備負浠涔堬紵璇烽昏緫鍦版濊冧竴涓?涓轟簡浠ュ唴鏍告柟寮忓惎鍔ㄤ竴涓繘紼嬶紝鐢ㄦ埛蹇呴』瑁呰澆涓涓┍鍔ㄧ▼搴忥紝璇ラ┍鍔ㄧ▼搴忓弽榪囨潵棣栧厛瑕佹殫紺烘煇縐嶇敤鎴鋒ā寮忎唬鐮佺殑鎵ц銆傚洜姝わ紝涓轟簡闃叉鏈鎺堟潈紼嬪簭鐨勬墽琛岋紝鎴戜滑鍙互瀹夊叏鍦板湪緋葷粺綰т笂浠ョ敤鎴鋒ā寮忛檺鍒舵垜浠嚜宸辨帶鍒剁殑榪涚▼鐨勫垱寤恒?/p> <p>銆銆浜屻?瀹氫箟絳栫暐</p> <p>銆銆棣栧厛璁╂垜浠槑紜紝涔嬫墍浠ヨ繖鏍峰仛鐨勭洰鐨勬槸涓轟簡鍦ㄧ郴緇熺駭涓婄洃瑙嗗拰鎺у埗榪涚▼鍒涘緩銆?/p> <p>銆銆榪涚▼鍒涘緩鏄竴浠剁浉褰撳鏉傜殑浜嬫儏-瀹冨寘鍚浉褰撳鐨勫伐浣?濡傛灉浣犱笉鐩鎬俊鎴戯紝鍙互鍙嶆眹緙朇reateProcess()錛岃繖鏍蜂綘灝變細浜茬溂鐪嬪埌榪欑偣)銆備負浜嗗惎鍔ㄤ竴涓繘紼嬶紝鍙互浣跨敤涓嬪垪姝ラ錛?/p> <p>銆銆1.鍙墽琛屾枃浠跺繀欏昏浠ILE_EXECUTE瀛樺彇鏂瑰紡鎵撳紑銆?/p> <p>銆銆2.鍙墽琛屾槧鍍忓繀欏昏瑁呰澆榪汻AM銆?/p> <p>銆銆3.蹇呴』寤虹珛榪涚▼鎵ц瀵硅薄(EPROCESS錛孠PROCESS鍜孭EB緇撴瀯)銆?/p> <p>銆銆4.蹇呴』涓烘柊寤鴻繘紼嬪垎閰嶅湴鍧絀洪棿銆?/p> <p>銆銆5.蹇呴』寤虹珛榪涚▼鐨勪富綰跨▼鐨勭嚎紼嬫墽琛屽璞?ETHREAD錛孠THREAD鍜孴EBstructures)銆?/p> <p>銆銆6.蹇呴』涓轟富綰跨▼鍒嗛厤鍫嗘爤銆?/p> <p>銆銆7.蹇呴』寤虹珛榪涚▼鐨勪富綰跨▼鐨勬墽琛屼笂涓嬫枃銆?/p> <p>銆銆8.蹇呴』閫氱煡Win32瀛愮郴緇熸湁鍏寵鏂拌繘紼嬬殑鍒涘緩鎯呭喌銆?/p> <p>銆銆涓虹‘淇濊繖浜涙楠や腑鐨勪換浣曚竴姝ョ殑鎴愬姛錛屾墍鏈夊叾鍓嶉潰鐨勬楠ゅ繀欏繪槸鎴愬姛鎵ц鐨?浣犱笉鑳藉鍦ㄦ病鏈変竴涓彲鎵ц鍖哄彞鏌勭殑鎯呭喌涓嬪緩绔嬩竴涓彲鎵ц榪涚▼瀵硅薄錛涙病鏈夋枃浠跺彞鏌勭殑鎯呭喌涓嬩綘鏃犳硶鏄犲皠涓涓彲鎵ц鍖猴紝絳夌瓑)銆傚洜姝わ紝濡傛灉鎴戜滑鍐沖畾閫鍑轟換浣曡繖浜涙楠わ紝鎵鏈夊悗闈㈢殑姝ラ涔熶細澶辮觸錛屼互鑷充簬鏁翠釜榪涚▼鍒涘緩浼氬け璐ャ備笂闈㈡墍鏈夌殑姝ラ閮藉彲浠ラ氳繃璋冪敤鏌愪簺鏈満API鍑芥暟鐨勬柟寮忔潵瀹炵幇錛岃繖鏄彲浠ョ悊瑙g殑銆傚洜姝わ紝涓轟簡鐩戣鍜屾帶鍒惰繘紼嬪垱寤猴紝鎴戜滑鎵鏈夎鍋氱殑灝辨槸閽╀綇榪欎簺API鍑芥暟-瀹冧滑鏃犳硶鏃佽礬鎺夎鍒涘緩涓鏂拌繘紼嬫墍瑕佹墽琛岀殑浠g爜銆?/p> <p>銆銆鎴戜滑搴旇閽╀綇鍝簺鏈満API鍑芥暟鍛?灝界NtCreateProcess()浼間箮鏄棶棰樼殑鏈鏄劇劧鐨勭瓟妗堬紝浣嗘槸錛岃繖涓瓟妗堟槸閿欒鐨?鏈夊彲鑳戒笉闇瑕佽皟鐢ㄨ繖涓嚱鏁頒篃鍙互鍒涘緩涓涓柊鐨勮繘紼嬨備緥濡傦紝CreateProcess()鍙互鍦ㄤ笉璋冪敤NtCreateProcess()鐨勬儏鍐典笅鍒涘緩涓庤繘紼嬬浉鍏崇殑鍐呮牳妯″紡緇撴瀯.鍥犳錛岃繖鏍蜂互鏉ラ挬浣廚tCreateProcess()瀵規垜浠鏃犲府鍔┿?/p> <p>銆銆涓轟簡鐩戣榪涚▼鐨勫垱寤猴紝鎴戜滑蹇呴』閽╀綇NtCreateFile()鍜孨tOpenFile()錛屾垨鑰匩tCreateSection()涔嬩腑鐨勪竴涓?-涓嶇粡璋冪敤榪欎簺API鏄粷瀵規棤娉曡繍琛屼換浣曞彲鎵ц鏂囦歡鐨勩傚鏋滄垜浠喅瀹氱洃瑙嗗NtCreateFile()鍜孨tOpenFile()鐨勮皟鐢紝閭d箞鎴戜滑蹇呴』鍖哄埆寮榪涚▼鍒涘緩鍜屽父瑙勭殑鏂囦歡IO鎿嶄綔銆傝繖欏逛換鍔″茍涓嶆繪槸閭d箞瀹規槗銆備緥濡傦紝濡傛灉涓浜涘彲鎵ц鏂囦歡姝e湪琚互FILE_ALL_ACCESS瀛樺彇鏂瑰紡鎵撳紑錛屾垜浠鎬庝箞鍔烇紵榪欎粎鏄竴涓狪O鎿嶄綔榪樻槸涓涓繘紼嬪垱寤虹殑涓閮ㄥ垎錛熷湪榪欑偣涓婏紝鏄緢闅懼垽鏂殑-鎴戜滑闇瑕佷簡瑙h皟鐢ㄧ嚎紼嬩笅涓姝ヨ騫蹭粈涔堛傚洜姝わ紝閽╀綇NtCreateFile()鍜孨tOpenFile()鍙兘涓嶆槸鏈濂界殑閫夋嫨銆?/p> <p>銆銆閽╀綇NtCreateSection()鏄洿涓哄悎鐞嗙殑-濡傛灉鎴戜滑鍦ㄥ彂鐢熸妸鍙墽琛屾枃浠舵槧灝勪負鏄犲儚(SEC_IMAGE 灞炴?鐨勮姹傚彂鐢熸椂鎷︽埅瀵筃tCreateSection()鐨勮皟鐢?緇撳悎鍏佽鎵ц欏甸潰淇濇姢鐨勮姹傦紱閭d箞錛屾垜浠彲浠ョ‘淇¤榪涚▼灝嗚琚惎鍔ㄣ傚湪榪欎竴鐐逛笂錛屾垜浠槸鑳藉浣滃嚭鍐沖畾錛屽鏋滄垜浠笉鎯寵榪涚▼琚垱寤猴紝鍙互璁㎞tCreateSection()榪斿洖STATUS_ACCESS_DENIED銆傚洜姝わ紝涓轟簡瀹屽叏鎺у埗鐩爣鏈哄櫒涓婄殑榪涚▼鍒涘緩錛屾墍鏈夋垜浠鍋氱殑鏄湪緋葷粺綰т笂閽╀綇NtCreateSection()銆?/p> <p>銆銆璞℃潵鑷簬ntdll.dll涓殑浠諱綍鍏跺畠浠g悊涓鏍鳳紝NtCreateSection()鐢ㄦ湇鍔$儲寮曞姞杞紼AX錛屼嬌EDX鎸囧悜鍑芥暟鍙傛暟錛屽茍涓旀妸鎵ц鏉冧紶閫掑埌KiDispatchService()鍐呮牳妯″紡渚嬬▼(榪欐槸閫氳繃Windows NT/2000涓殑INT 0x2E鎸囦護鎴栬匴indows XP涓嬬殑SYSENTER鎸囦護瀹炵幇鐨?銆傚湪鏍¢獙瀹屽嚱鏁板弬鏁頒箣鍚庯紝KiDispatchService()鎶婃墽琛屾潈浼犻掑埌鏈嶅姟鐨勫疄闄呭疄鐜伴儴鍒?瀹冪殑鍦板潃鍙敤浜庢湇鍔℃弿榪拌〃(鎸囧悜榪欎釜琛ㄧ殑鎸囬拡鐢眓toskrnl.exe浣滀負KeServiceDescriptorTable鍙橀噺鎵杈撳嚭錛屾墍浠ュ畠瀵逛簬鍐呮牳妯″紡椹卞姩紼嬪簭鏄彲鐢ㄧ殑)涓傛湇鍔℃弿榪拌〃閫氳繃涓嬪垪緇撴瀯鎵鎻忚堪錛?br> </p> <p>銆銆struct SYS_SERVICE_TABLE { </p> <p>銆銆void **ServiceTable; </p> <p>銆銆unsigned long CounterTable; </p> <p>銆銆unsigned long ServiceLimit; </p> <p>銆銆void **ArgumentsTable; </p> <p>銆銆}; <br><br></p> <p>銆銆榪欎釜緇撴瀯涓殑ServiceTable瀛楁鎸囧悜涓涓暟緇?瀹冩嫢鏈夋墍鏈夊疄鐜扮郴緇熸湇鍔$殑鍑芥暟鐨勫湴鍧銆傚洜姝わ紝涓轟簡鍦ㄧ郴緇熺駭涓婇挬浣忎換浣曟湰鏈篈PI鍑芥暟錛屾墍鏈夋垜浠繀欏誨仛鐨勬槸鎶婃垜浠殑浠g悊鍑芥暟鐨勫湴鍧鍐欏叆琚獽eServiceDescriptorTable鐨凷erviceTable瀛楁鎵鎸囧悜鐨勬暟緇勭殑絎琲涓叆鍙?i鏄湇鍔$儲寮?銆?/p> <p>銆銆鑷蟲錛岀湅璧鋒潵鎴戜滑宸蹭簡瑙d簡鍦ㄧ郴緇熺駭涓婄洃瑙嗗拰鎺у埗榪涚▼鍒涘緩鐨勪竴鍒囥傜幇鍦ㄨ鎴戜滑寮濮嬪疄闄呯殑宸ヤ綔銆?/p> <strong>涓夈?鎺у埗榪涚▼鍒涘緩<br><br></strong>銆銆鎴戜滑鐨勮В鍐蟲柟妗堢敱涓涓唴鏍告ā寮忛┍鍔ㄧ▼搴忓拰涓涓敤鎴鋒ā寮忓簲鐢ㄧ▼搴忕粍鎴愩備負浜嗗紑濮嬬洃瑙嗚繘紼嬪垱寤猴紝鎴戜滑鐨勫簲鐢ㄧ▼搴忚鎶婃湇鍔$儲寮曪紙鐩稿簲浜嶯tCreateSection()錛変互鍙婁氦鎹㈢紦鍐插尯鐨勫湴鍧浼犻掑埌鎴戜滑鐨勯┍鍔ㄧ▼搴忋傝繖鏄敱涓嬪垪浠g爜鎵瀹屾垚鐨勶細<br><br> <table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1> <tbody> <tr> <td>//鎵撳紑璁懼<br>device=CreateFile("\\.\PROTECTOR",GENERIC_READ|GENERIC_WRITE, <br>0,0,OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM,0);<br>//寰楀埌NtCreateSection鐨勭儲寮曞茍鎶婂畠榪炲悓杈撳嚭緙撳啿鍖虹殑鍦板潃浼犻掔粰璁懼<br>DWORD * addr=(DWORD *)<br>(1+(DWORD)GetProcAddress(GetModuleHandle("ntdll.dll"),"NtCreateSection"));<br>ZeroMemory(outputbuff,256);<br>controlbuff[0]=addr[0];<br>controlbuff[1]=(DWORD)&outputbuff[0];<br>DeviceIoControl(device,1000,controlbuff,256,controlbuff,256,&dw,0);</td> </tr> </tbody> </table> <br>銆銆姝や唬鐮佹槸鏄劇劧鐨?鍞竴闇瑕佹敞鎰忕殑鏄垜浠緱鍒版湇鍔$儲寮曠殑鏂瑰紡銆傛墍鏈夋潵鑷簬ntdll.dll鐨勪唬鐞嗛兘浠庝竴琛屼唬鐮丮OV EAX,ServiceIndex寮濮?瀹冨彲浠ラ傜敤浜庝換浣曠増鏈拰椋庡懗鐨刉indows NT銆傝繖鏄竴鏉?瀛楄妭闀跨殑鎸囦護錛屼互MOV EAX鎿嶄綔鐮佷綔絎竴瀛楄妭錛屾湇鍔$儲寮曚綔涓虹暀涓嬬殑4瀛楄妭銆傚洜姝わ紝涓轟簡寰楀埌鐩稿簲浜庝竴浜涚壒鍒殑鏈満API鍑芥暟鐨勬湇鍔$儲寮曪紝鎵鏈変綘瑕佸仛鐨勬槸浠庤鍦板潃璇誨彇4涓瓧鑺傦紝-浣嶄簬浠庤繖涓唬鐞嗗紑濮?瀛楄妭璺濈鐨勫湴鏂廣?br><br>銆銆鐜板湪璁╂垜浠湅涓涓嬫垜浠殑椹卞姩紼嬪簭鍋氫粈涔堬紝褰撳畠鏀跺埌鏉ヨ嚜鎴戜滑鐨勫簲鐢ㄧ▼搴忕殑IOCTL鏃訛細<br><br> <table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1> <tbody> <tr> <td>NTSTATUS DrvDispatch(IN PDEVICE_OBJECT device,IN PIRP Irp)<br>{<br>銆UCHAR*buff=0; ULONG a,base;<br>銆PIO_STACK_LOCATION loc=IoGetCurrentIrpStackLocation(Irp);<br>銆if(loc->Parameters.DeviceIoControl.IoControlCode==1000)<br>銆{<br>銆銆buff=(UCHAR*)Irp->AssociatedIrp.SystemBuffer;<br>銆銆//閽╀綇鏈嶅姟璋冨害琛?br>銆銆memmove(&Index,buff,4);<br>銆銆a=4*Index+(ULONG)KeServiceDescriptorTable->ServiceTable;<br>銆銆base=(ULONG)MmMapIoSpace(MmGetPhysicalAddress((void*)a),4,0);<br>銆銆a=(ULONG)&Proxy;<br>銆銆_asm<br>銆銆{<br>銆銆銆mov eax,base<br>銆銆銆mov ebx,dword ptr[eax]<br>銆銆銆mov RealCallee,ebx<br>銆銆銆mov ebx,a<br>銆銆銆mov dword ptr[eax],ebx<br>銆銆}<br>銆銆MmUnmapIoSpace(base,4);<br>銆銆memmove(&a,&buff[4],4);<br>銆銆output=(char*)MmMapIoSpace(MmGetPhysicalAddress((void*)a),256,0);<br>銆}<br>銆Irp->IoStatus.Status=0;<br>銆IoCompleteRequest(Irp,IO_NO_INCREMENT);<br>銆return 0;<br>}</td> </tr> </tbody> </table> <br>銆銆姝e浣犳墍瑙侊紝榪欓噷娌℃湁浠涔堢壒鍒殑-鎴戜滑鍙槸閫氳繃MmMapIoSpace()鏉ユ妸浜ゆ崲緙撳啿鍖烘槧灝勫埌鍐呮牳涓紝鍙﹀鎶婃垜浠殑浠g悊鍑芥暟鐨勫湴鍧鍐欏埌鏈嶅姟琛?褰撶劧錛屾垜浠繖鏄湪鎶婂疄闄呯殑鏈嶅姟鎵ц鐨勫湴鍧淇濆瓨鍒板叏灞鍙橀噺RealCallee浠ュ悗榪欐牱鍋氱殑)銆備負浜嗘敼鍐欐湇鍔¤〃鐨勯傚綋鍏ュ彛錛屾垜浠氳繃MmMapIoSpace()鏉ユ槧灝勭洰鏍囧湴鍧銆備負浠涔堟垜浠榪欐牱鍋氾紵涓嶇鎬庝箞璇達紝鎴戜滑宸茬粡鍙互瀛樺彇鏈嶅姟琛ㄤ簡錛屼笉鏄悧錛熼棶棰樻槸錛屾湇鍔¤〃鍙兘椹葷暀鍦ㄤ竴孌靛彧璇誨唴瀛樹腑銆傚洜姝わ紝鎴戜滑蹇呴』媯鏌ヤ竴涓嬫槸鍚︽垜浠湁瀵圭洰鏍囩┖闂村啓鐨勬潈闄愶紝鑰屽鏋滄垜浠病鏈夎繖涓潈闄愶紝閭d箞鍦ㄦ敼鍐欐湇鍔¤〃涔嬪墠錛屾垜浠繀欏繪敼鍙橀〉闈繚鎶ゃ備綘涓嶈涓鴻繖鏍蜂互鏉ュ伐浣滃お澶氫簡鍚楋紵鍥犳錛屾垜浠粎鐢∕mMapIoSpace()鏉ユ槧灝勬垜浠殑鐩爣鍦板潃錛岃繖鏍蜂互鏉ワ紝鎴戜滑灝變笉蹇呮媴蹇冧換浣曠殑欏甸潰淇濇姢闂浜?浠庣幇鍦ㄥ紑濮嬶紝鎴戜滑鍋囧畾宸叉湁鍒扮洰鏍囬〉闈㈠啓鐨勬潈闄愪簡銆傜幇鍦ㄨ鎴戜滑鐪嬩竴涓嬫垜浠殑浠g悊鍑芥暟:<br><br> <table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1> <tbody> <tr> <td>//榪欎釜鍑芥暟鐢ㄦ潵紜畾鏄惁鎴戜滑搴旇鍏佽NtCreateSection()璋冪敤鎴愬姛<br>ULONG __stdcall check(PULONG arg)<br>{<br>銆HANDLE hand=0;PFILE_OBJECT file=0;<br>銆POBJECT_HANDLE_INFORMATION info;ULONG a;char*buff;<br>銆ANSI_STRING str; LARGE_INTEGER li;li.QuadPart=-10000;<br>銆//媯鏌ユ爣蹇椼傚鏋滄墍瑕佹眰鐨勫瓨鍙栨柟寮忎笉鏄疨AGE_EXECUTE,<br>銆//榪欏茍涓嶈绱?br>銆if((arg[4]&0xf0)==0)return 1;<br>銆if((arg[5]&0x01000000)==0)return 1;<br>銆//緇忕敱鏂囦歡鍙ユ焺寰楀埌鏂囦歡鍚?br>銆hand=(HANDLE)arg[6];<br>銆ObReferenceObjectByHandle(hand,0,0,KernelMode,&file,&info);<br>銆if(!file)return 1;<br>銆銆RtlUnicodeStringToAnsiString(&str,&file->FileName,1);<br>銆銆a=str.Length;buff=str.Buffer;<br>銆銆while(1)<br>銆銆{<br>銆銆銆if(buff[a]=='.'){a++;break;}<br>銆銆銆a--;<br>銆銆}<br>銆銆ObDereferenceObject(file);<br>銆銆//濡傛灉瀹冩槸涓嶅彲鎵ц鐨?榪欎篃涓嶈绱?br>銆銆//榪斿洖1<br>銆銆if(_stricmp(&buff[a],"exe")){RtlFreeAnsiString(&str);return 1;}<br>銆銆銆//鐜板湪錛屾垜浠璇㈤棶鐢ㄦ埛鐨勯夋嫨銆?br>銆銆銆//鎶婃枃浠跺悕鍐欏叆緙撳啿鍖猴紝騫剁瓑寰呯洿鍒扮敤鎴鋒樉紺哄搷搴?br>銆銆銆//(絎竴涓狣WORD涓?鎰忓懗鐫鎴戜滑鍙互緇х畫)<br>銆銆銆//鍚屾瀛樺彇璇ョ紦鍐插尯<br>銆銆銆KeWaitForSingleObject(&event,Executive,KernelMode,0,0);<br>銆銆銆//鎶婄紦鍐插尯鐨勫墠涓や釜DWORD緗負0錛?br>銆銆銆//鎶婂瓧絎︿覆澶嶅埗鍒拌緙撳啿鍖轟腑錛屽茍寰幆涓嬪幓錛岀洿鍒扮敤鎴鋒妸姣忎竴涓?br>銆銆銆//DWORD緗負1.<br>銆銆銆//絎簩涓狣WORD鐨勫兼寚鏄庣敤鎴風殑鍝嶅簲<br>銆銆strcpy(&output[8],buff);<br>銆銆RtlFreeAnsiString(&str);<br>銆銆a=1;<br>銆銆memmove(&output[0],&a,4);<br>銆銆while(1)<br>銆銆{<br>銆銆銆KeDelayExecutionThread(KernelMode,0,&li);<br>銆銆銆memmove(&a,&output[0],4);<br>銆銆銆if(!a)break;<br>銆銆}<br>銆銆memmove(&a,&output[4],4);<br>銆銆KeSetEvent(&event,0,0);<br>銆銆return a;<br>銆}<br>銆//浠呬繚瀛樻墽琛屼笂涓嬫枃騫惰皟鐢╟heck() <br>銆_declspec(naked) Proxy()<br>銆{<br>銆銆_asm{<br>銆銆銆//淇濆瓨鎵ц涓婁笅鏂囧茍璋冪敤check()<br>銆銆銆//-鍚庨潰鐨勪緷璧栦簬check()鎵榪斿洖鐨勫?br>銆銆銆// 濡傛灉榪斿洖鍊兼槸1錛岀戶緇疄闄呯殑璋冪敤銆?br>銆銆銆//鍚﹀垯錛岃繑鍥濻TATUS_ACCESS_DENIED<br>銆銆銆pushfd<br>銆銆銆pushad<br>銆銆銆mov ebx,esp<br>銆銆銆add ebx,40<br>銆銆銆push ebx<br>銆銆銆call check<br>銆銆銆cmp eax,1<br>銆銆銆jne block<br>銆銆銆//緇х畫瀹為檯鐨勮皟鐢?br>銆銆銆popad<br>銆銆銆popfd<br>銆銆銆jmp RealCallee<br>銆銆銆//榪斿洖STATUS_ACCESS_DENIED<br>銆銆銆block:popad<br>銆銆銆mov ebx, dword ptr[esp+8]<br>銆銆銆mov dword ptr[ebx],0<br>銆銆銆mov eax,0xC0000022L<br>銆銆銆popfd<br>銆銆銆ret 32<br>銆銆}<br>銆}</td> </tr> </tbody> </table> <br>銆銆Proxy()淇濆瓨瀵勫瓨鍣ㄥ拰鏍囧織錛屾妸涓涓寚鍚戞湇鍔″弬鏁扮殑鎸囬拡鍘嬪叆鏍堜腑騫惰皟鐢╟heck()銆傚叾瀹冪殑渚濊禆浜巆heck()鎵榪斿洖鐨勫箋傚鏋渃heck()榪斿洖TRUE(涔熷氨鏄紝鎴戜滑鎯寵緇х畫璇鋒眰)錛岄偅涔堬紝Proxy()灝嗘仮澶嶅瘎瀛樺櫒鍜屾爣蹇楋紝騫朵笖鎶婃帶鍒舵潈浜ょ粰鏈嶅姟瀹炵幇閮ㄥ垎銆傚惁鍒欙紝Proxy()灝嗘妸STATUS_ACCESS_DENIED鍐欏叆EAX錛屾仮澶岴SP騫惰繑鍥?浠庤皟鐢ㄨ呯殑瑙傜偣鏉ョ湅錛岃繖灝辮薄瀵筃tCreateSection()鐨勮皟鐢ㄥけ璐ヤ竴鏍?浠ラ敊璇姸鎬丼TATUS_ACCESS_DENIED榪斿洖銆?br> check()鍑芥暟鏄庢牱鍋氬嚭鍐沖畾鐨勶紵涓鏃﹀畠鏀跺埌涓涓寚鍚戞湇鍔″弬鏁扮殑鎸囬拡鍙傛暟錛屽畠灝卞彲浠ユ鏌ヨ繖浜涘弬鏁般傞鍏堬紝瀹冩鏌ユ爣蹇楀拰灞炴?濡傛灉鏈変竴閮ㄥ垎娌℃湁琚姹備綔涓轟竴涓彲鎵ц鏄犲儚鏄犲皠錛屾垨濡傛灉瑕佹眰鐨勯〉闈繚鎶や笉鍏佽鎵ц錛岄偅涔堟垜浠彲浠ョ‘瀹歂tCreateSection()璋冪敤涓庤繘紼嬪垱寤烘鏃犲叧緋匯傚湪榪欑鎯呭喌涓嬶紝check()鐩存帴榪斿洖TRUE銆傚惁鍒欙紝瀹冨皢媯鏌ヨ娼滃湪鏂囦歡鐨勬墿灞?姣曠珶錛孲EC_IMAGE灞炴у拰鍏佽鎵ц鐨勯〉闈繚鎶ゅ彲鑳借瑕佹眰鏉ユ槧灝勬煇涓狣LL鏂囦歡銆傚鏋滆娼滃湪鏂囦歡涓嶆槸涓涓?exe鏂囦歡錛岄偅涔堬紝check()灝嗚繑鍥濼RUE銆傚惁鍒欙紝瀹冪粰鐢ㄦ埛妯″紡浠g爜涓涓綔鍑哄喅瀹氱殑鏈轟細銆傚洜姝わ紝瀹冧粎鎶婃枃浠跺悕鍜岃礬寰勫啓鍒頒氦鎹㈢紦鍐插尯錛屽茍涓斿瀹冨驚鐜煡璇紝鐩村埌瀹冨緱鍒板搷搴斾負姝€?br><br>銆銆鍦ㄦ墦寮鎴戜滑鐨勯┍鍔ㄧ▼搴忓墠錛屾垜浠殑搴旂敤紼嬪簭鍒涘緩涓涓繍琛屼笅闈㈠嚱鏁扮殑綰跨▼錛?br><br> <table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1> <tbody> <tr> <td>void thread()<br>{<br>銆DWORD a,x; char msgbuff[512];<br>銆while(1)<br>銆{<br>銆銆memmove(&a,&outputbuff[0],4);<br>銆銆//濡傛灉浠涔堜篃娌℃湁錛孲leep() 10姣騫跺啀媯鏌?br>銆銆if(!a){Sleep(10);continue;}<br>銆銆//鐪嬭搗鏉ヨ薄鎴戜滑鐨勬潈闄愯璇㈤棶銆?<br>銆銆//濡傛灉琚鐤戠殑鏂囦歡宸茬粡瀛樺湪浜庣┖鐧藉垪琛ㄤ腑錛?br>銆銆// 鍒欑粰鍑轟竴涓Н鏋佺殑鍝嶅簲銆?br>銆銆char*name=(char*)&outputbuff[8];<br>銆銆for(x=0;x<stringcount;x++)<br>銆銆{<br>銆銆銆if(!stricmp(name,strings[x])){a=1;goto skip;}<br>銆銆}<br>銆銆//瑕佹眰鐢ㄦ埛鍏佽榪愯璇ョ▼搴?br>銆銆strcpy(msgbuff, "Do you want to run ");<br>銆銆strcat(msgbuff,&outputbuff[8]);<br>銆銆//濡傛灉鐢ㄦ埛鐨勭瓟澶嶆槸縐瀬鐨勶紝閭d箞鎶婅繖涓▼搴忔坊鍔犲埌絀虹櫧鍒楄〃涓?<br>銆銆if(IDYES==MessageBox(0, msgbuff,"WARNING",MB_YESNO|MB_ICONQUESTION|0x00200000L))<br>銆銆銆{a=1; strings[stringcount]=_strdup(name);stringcount++;}<br>銆銆else a=0;<br>銆銆// 鎶婂搷搴斿啓鍏ョ紦鍐插尯涓紝鑰岀敱椹卞姩紼嬪簭涔嬪悗鍙栧洖瀹?br>銆銆skip:memmove(&outputbuff[4],&a,4);<br>銆銆//鍛婅瘔椹卞姩紼嬪簭緇х畫<br>銆銆a=0;<br>銆銆memmove(&outputbuff[0],&a,4);<br>銆}<br>}</td> </tr> </tbody> </table> <br>銆銆榪欐浠g爜鏄樉鐒剁殑-鎴戜滑鐨勭嚎紼嬫瘡10姣鏌ヨ浜ゆ崲緙撳啿鍖恒傚鏋滃畠鍙戠幇鎴戜滑鐨勯┍鍔ㄧ▼搴忓凡緇忔妸瀹冪殑璇鋒眰瀵勫埌浜嗚緙撳啿鍖轟腑錛屽畠灝辨鏌ヨ鍏佽鍦ㄦ湰鏈轟笂榪愯鐨勭▼搴忓垪琛ㄤ腑鐨勬枃浠剁殑鏂囦歡鍚嶅拰璺緞銆傚鏋滃彂鐜板尮閰嶏紝瀹冪洿鎺ョ粰鍑轟竴涓狾K鍝嶅簲銆傚惁鍒欙紝瀹冩樉紺轟竴涓秷鎭獥鍙o紝璇㈤棶鐢ㄦ埛鏄惁鍏佽鏈夐棶棰樼殑紼嬪簭鎵ц銆傚鏋滃搷搴旀槸縐瀬鐨勶紝鎴戜滑灝辨妸鏈夐棶棰樼殑紼嬪簭娣誨姞鍒板厑璁稿湪鏈満涓婅繍琛岀殑杞歡鍒楄〃涓傛渶鍚庯紝鎴戜滑鎶婄敤鎴峰搷搴斿啓鍏ョ紦鍐插尯錛屼篃灝辨槸璇達紝鎶婂畠浼犻掑埌鎴戜滑鐨勯┍鍔ㄧ▼搴忋傚洜姝わ紝璇ョ敤鎴峰氨鑳藉畬鍏ㄦ帶鍒跺畠鐨凱C涓婄殑榪涚▼鐨勫垱寤?鍙鎴戜滑鐨勭▼搴忚繍琛岋紝鍦ㄦ病鏈夌敤鎴鋒墍緇欎簣鏉冮檺鐨勬儏鍐典笅錛岀粷瀵規病鏈夊姙娉曟潵鍚姩璇C涓婄殑浠諱綍榪涚▼銆?br><br>銆銆姝e浣犳墍瑙侊紝鎴戜滑璁╁唴鏍告柟寮忎唬鐮佺瓑寰呯敤鎴峰弽搴斻傝繖鏄惁鏄竴縐嶈仾鏄庣殑涓炬帾鍛紵涓轟簡鍥炵瓟榪欎釜闂錛屼綘蹇呴』闂綘鑷繁浣犳槸鍚︽鍦ㄥ牭浣忎換浣曞叧閿殑緋葷粺璧勬簮-涓鍒囬兘渚濊禆浜庡叿浣撶殑鎯呭喌銆傚湪鎴戜滑鐨勬儏鍐典笅錛屼竴鍒囧彂鐢熷湪IRQLPASSIVE_LEVEL綰т笂錛屽茍娌℃湁鍖呭惈瀵笽RPs鐨勫鐞嗭紝騫朵笖蹇呴』絳夊緟鐢ㄦ埛鍝嶅簲鐨勭嚎紼嬪茍涓嶅崄鍒嗛噸瑕併傚洜姝わ紝鍦ㄦ垜浠殑鎯呭喌涓嬶紝涓鍒囧伐浣滄甯搞傜劧鑰岋紝鏈緥浠呬負婕旂ず涔嬬洰鐨勮岀紪鍐欍備負浜嗗疄闄呭湴浣跨敤瀹冿紝浠ヤ竴涓嚜鍔ㄥ惎鍔ㄧ殑鏈嶅姟鐨勬柟寮忔潵閲嶅啓鎴戜滑鐨勫簲鐢ㄧ▼搴忔槸寰堥噸瑕佺殑銆傚湪榪欑鎯呭喌涓嬶紝鎴戝緩璁垜浠В闄ocalSystem甯愭埛錛屽茍涓旓紝鍦∟tCreateSection()琚敤LocalSystem甯愭埛鐗規潈鍦ㄤ竴涓嚎紼嬬殑涓婁笅鏂囦腑璋冪敤鐨勬儏鍐典笅錛屽彲浠ョ戶緇疄闄呯殑鏈嶅姟瀹炵幇鑰屼笉鏂借浠諱綍媯鏌?涓嶇鎬庝箞璇達紝LocalSystem甯愭埛浠呰繍琛岄偅浜涘湪娉ㄥ唽琛ㄤ腑鎸囧畾鐨勫彲鎵ц紼嬪簭銆傚洜姝わ紝榪欐牱鐨勪竴縐嶈В闄や笉浼氭槸涓庢垜浠殑瀹夊叏鐩稿Ε鍗忕殑銆?br><br>銆銆<strong>鍥涖?緇撹</strong><br><br>銆銆鏈鍚庯紝鎴戝繀欏繪寚鍑猴紝閽╀綇鏈満API寰堟槑鏄炬槸鐜板凡瀛樺湪鐨勬渶寮烘湁鍔涚殑緙栫▼鎶鏈箣涓銆傛湰鏂囬氳繃涓涓緥瀛愬悜浣犲睍紺洪氳繃閽╀綇鏈満API鍙互瀹炵幇鐨勮兘鍔?姝e浣犳墍瑙侊紝鎴戜滑宸茶娉曢槻姝㈡湭琚巿鏉冪殑紼嬪簭鐨勬墽琛?榪欏彲浠ラ氳繃閽╀綇鍗曚竴鐨勬湰鏈篈PI鍑芥暟鏉ュ疄鐜般備綘鍙互榪涗竴姝ユ墿灞曡繖涓柟娉曪紝騫朵笖鑾峰緱瀵圭‖浠惰澶囥佹枃浠禝O鎿嶄綔銆佺綉緇滄祦閲忕瓑絳夌殑瀹屽叏鎺у埗銆傜劧鑰岋紝鎴戜滑鐜板湪鐨勮В鍐蟲柟妗堝茍涓嶆槸鍑嗗涓哄唴鏍告ā寮廇PI璋冪敤鑰呮墍鐢?涓鏃﹀唴鏍告ā寮忎唬鐮佽鍏佽鐩存帴璋冪敤ntoskrnl.exe鐨勮緭鍑猴紝鍒欒繖浜涜皟鐢ㄥ氨涓嶉渶瑕佺粡鐢辯郴緇熸湇鍔″彂閫佽呰繘琛屼簡銆?br><br>銆銆鏈枃婧愮爜鍦ㄨ繍琛學indows XP SP2鐨勮嫢騫叉満鍣ㄤ笂鎴愬姛鍦版祴璇曡繃銆傚敖綆℃垜榪樻病鍦ㄤ換浣曞彟澶栫殑鐜涓嬮潰嫻嬭瘯瀹冿紝鎴戠浉淇″畠搴旇鍒板宸ヤ綔姝e父-涓嶇鎬庝箞璇達紝瀹冧粠鏈嬌鐢ㄤ換浣曠郴緇熺壒瀹氱殑緇撴瀯銆備負浜嗚繍琛岃繖涓ず渚嬶紝鎵鏈変綘瑕佸仛鐨勬槸鏀劇疆protector.exe鍜宲rotector.sys鍒扮浉鍚岀殑鐩綍涓嬶紝騫朵笖榪愯protector.exe銆傜洿鍒皃rotector.exe鐨勫簲鐢ㄧ▼搴忕獥鍙h鍏抽棴涓烘錛涘惁鍒欙紝姣忔浣犻兘浼氳鎻愮ず浣犺瘯鍥捐繍琛屼換浣曞彲鎵ц紼嬪簭銆? <img src ="http://www.shnenglu.com/elva/aggbug/46491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2008-04-08 11:17 <a href="http://www.shnenglu.com/elva/archive/2008/04/08/46491.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>椹卞姩紼嬪簭瀹夎-INFhttp://www.shnenglu.com/elva/archive/2008/03/17/44672.html鍙跺瓙鍙跺瓙Mon, 17 Mar 2008 02:00:00 GMThttp://www.shnenglu.com/elva/archive/2008/03/17/44672.htmlhttp://www.shnenglu.com/elva/comments/44672.htmlhttp://www.shnenglu.com/elva/archive/2008/03/17/44672.html#Feedback1http://www.shnenglu.com/elva/comments/commentRss/44672.htmlhttp://www.shnenglu.com/elva/services/trackbacks/44672.html褰撶敤鎴峰垰鎻掍笂璁懼鎴栧惎鍔ㄥ紩瀵鹼紙Boot錛夋椂錛岃澶囨槸鍒氬垰鐗╃悊瀛樺湪浜庢満鍣ㄤ笂鏃訛紝鎬葷嚎椹卞姩搴旇嚜鍔ㄥ湴錛屽姩鎬佺殑媯嫻嬶紝璇嗗埆紜歡鐨勫彉鍖栥傝繖鏃訛紝灝辮鏈変竴涓瘑鍒澶囷紝瀹夎椹卞姩鐨?span>INF鏂囦歡銆?/span>

鎵璋撴枃浠舵槸鎸囩敤涓涓叡鍚岀殑絎﹀彿鍚嶇О浣滀負浠h〃錛岃嫢騫蹭釜閫昏緫璁板綍鏋勬垚鐨勪俊鎭泦鍚堟垨鐩殑錛屽艦寮忓拰鍐呭鐨勮〃紺轟笂褰兼鐩鎬技鐨勪竴浜涗俊鎭」鐨勯泦鍚堛傜畝鍗曠殑璇達紝灝辨槸鍏鋒湁涓瀹氬悕縐扮殑涓緇勭浉鍏蟲暟鎹殑闆嗗悎銆?/span>

鎵璋?span>INF鏂囦歡錛屽氨鏄互INF涓烘墿灞曞悕鐨勬枃鏈枃浠訛紝浠栨帶鍒朵笌椹卞姩瀹夎紼嬪簭鏈夊叧鐨勫ぇ澶氭暟媧誨姩銆?/span>

鍥犱負榪欎釜INF鏂囦歡鎶借薄浜嗚澶囩殑涓婂眰寤虹瓚錛屽惈鏈夊畨瑁呴┍鍔ㄦ墍鏈夌殑蹇呴渶鐨勪俊鎭紝鎵浠ュ畠瑕佺敱椹卞姩寮鍙戜漢鍛橀殢椹卞姩涓璧鋒彁渚涳紝鏉ュ憡璇夋搷浣滅郴緇熼偅浜涙枃浠墮渶瑕佸鍒跺埌鐢ㄦ埛鐨勭‖鐩樹笂錛屽簲娣誨姞鎴栦慨鏀瑰摢涓敞鍐岃〃絳夈傜畝鍗曠殑璇達紝INF鏂囦歡灝辨槸鏈哄櫒鐨勫弬鑰冩枃浠訛紙Information File錛夈?/span>

INF鏂囨湰鏂囦歡涓?span>Windows 3銆?span>X鐨?span>INI鏂囦歡寰堢被浼鹼紝INF鏂囦歡鍒嗕負鍑犺妭錛屾瘡鑺傚寘鎷竴欏規垨鍑犻」銆傛瘡鑺備笌瀹夎榪囩▼涓殑鏌愪竴姝ョ浉鍏籌細姣斿璇達紝鏌愪竴鑺傛槸鍏充簬鏂囦歡鎷瘋礉鐨勩傛煇涓鑺傛槸鍏充簬濡備綍娣誨姞娉ㄥ唽琛ㄩ」絳夌瓑銆備綔涓轟竴涓紑鍙戣咃紝浣犲彲浠ラ氳繃浠諱綍鏂囨湰緙栬緫鍣ㄥ垱寤虹敓鎴?span>INF鏂囦歡銆?span>Microsoft榪樺湪DDK涓彁渚涗簡INFEDIT宸ュ叿錛屼嬌鎷ユ姢鍙互寰堟柟渚跨殑緙栬緫INF 鏂囦歡錛堝鏋滃疄渚嬬敤INFEDIT錛岃鍙傞槄DDK錛夈?/span>

INF鏂囦歡鍙互鏀寔寰堝鏉傜殑瀹夎鑴氭湰錛屼絾鏄ぇ澶氭暟鐨勫紑鍙戣呭彧鎰挎剰浣跨敤澶勭悊涓浜涙渶鍩烘湰鐨勮剼鏈備竴涓熀鏈殑瀹夎鑴氭湰搴旇鍖呮嫭錛?/span>

1閴村畾紜歡璁懼

2鎶婇┍鍔ㄧ▼搴忎粠瀹夎鐩樹笂鎷瘋礉鍒扮郴緇熺洏涓婂幓

3閴村畾紜歡璁懼璧勬簮鐨勯渶姹?/span>

4褰撶‖浠惰澶囪浠跨湡鏄紝灝卞湪娉ㄥ唽琛ㄤ腑鍔犱笂DevLoader涓欏?/span>

INF鏂囦歡閫氬父涓庣鐩樻垨鍏夌洏涓婄殑紜歡椹卞姩紼嬪簭涓璧鋒彁渚涖?span>INF鏂囦歡鐨勭粨鏋勫拰鍐呭鐢遍┍鍔ㄧ▼搴忓垱浣滆呭喅瀹?/span>

1.          涓句緥璇存槑

涓嬮潰涓句緥璇存槑鏈夊叧INF鐨勫熀鏈壒寰佸拰鍐呭錛屼互渚挎洿濂界殑鐞嗚В銆?/span>

[Version]

Singnature=$windowsNT$                 //閫夋嫨鐗堟湰

Class=Unknown                          //緋葷粺瀹氫箟鐢ㄦ埛鎸囧畾鐨勭被鍚?/span>

Provider=%ABCD%                        //鎻愪緵鍟?/span>

DirverVer=11/15/2001                    //

CatelogFile[.Ntetc]          //鍖呭惈WHQL鏁板瓧絳懼悕鐨勭洰褰曡鏄庢枃浠躲?/span>

 

[Strings]

ABCD=”me, the writer”       //瀹氫箟瀹?/span>

[SourceDisksNames]     //婧愪唬鐮佺洏鎴栧彂琛岀洏鐨勬弿榪幫紝鐩綍鍜屾墦鍖呮枃浠?strong>

L=”Ggdriver directory”…obj\i386\

[SourceDisksFiles]      //鍜屾墦鍖呮枃浠?strong>

Ggdriver.sys=l,obj\i386\some\

[DestinationDirs] //澶嶅埗緙虹渷鏂囦歡鍜?span>Filelist鑺備腑鐨勬枃浠訛紝

//鎸囧畾鐩綍鍜屽瓙鐩綍鐨?span>ID 騫舵寚瀹氭枃浠剁殑鏍囧噯浣嶇疆銆?/span>

 

Ggdiver.Files.Driver=10,System32\Drivers

Ggdiver.Files.Driver=10, System32\Drivers

[Manufacturer]            //鎸囧畾鐢熶駭鍘傚晢鍜?span>models鑺備腑鐩稿簲鐨勫悕縐?strong>

%ABCD%=Ggdriver

[models]                  //鏈鏂扮殑紜歡ID鍙峰厛鍑虹幇

%USBDevice_V2%=V2Install,USB\VID_ABCD%PID_EFOL&REV_DO02

%USBDevice_V1%=V2Install,USB\VID_ABCD%PID_EFOL

[install]                         //鎸囧悜娣誨姞鐨勮澶囨帴鍙e垪琛?strong>

Copyfiles=Ggdriver.Files.Driver

AddReg=Ggdriver.AddReg

LogConfig=logconfig

DirverVer=19/10/2001

ProfileItems=AB\cd

[filelist]

[addreg]

[logconfig]

[install.AddService]

ServiceTypy=l

StartType=start-code

ErrorControl=error-control-level

ServiceBinary=path-tc-driver

INF鏂囦歡鏄竴涓枃鏈枃浠訛紝鐢變笉鍚岀殑鑺傜粍鎴愶紝姣忎竴涓妭浠庢嫭鍦ㄦ柟鎷彿涓殑鑺傚悕縐板紑濮嬶紝鍚庨潰鏄妭鐨勫唴瀹廣傝繖浜涜妭涔熸槸鍒嗗眰鐨勶紝鍏跺厛鍚庨『搴忎笌鏈牱渚嬪熀鏈繚鎸佷竴鑷淬?/span>

鍦ㄤ笂闈㈢殑鏍蜂緥涓細

鍦?strong>[Verson ]鑺備腑錛?strong>Signature欏瑰彧鑳藉湪$WindowsNT$,$Winfows95$浠ュ強$WindowsNT$涓変竴錛?/span>

Provider欏規槸INF鏂囦歡鐨勫垱閫犺咃紝閫氬父鏄澶囩殑鐢熶駭鍟嗭紱

Class欏規槸緋葷粺瀹氫箟鐢ㄦ埛鎸囧畾鐨勭被鍚嶏紱

CatalogFile[.NTetc]鍒欐槸蹇呴』鍖呭惈鐨勯┍鍔ㄧ▼搴忓寘鐨?span>WHQL鏁板瓧絳懼悕鐨勭洰褰曡鏄庢枃浠躲?/span>

鍦?strong>[Strings ]鑺備腑瀹氫箟浠f浛瀛楃涓茬殑瀹忥細 

濡備緥涓細ABCD=me,the writer”鍗蟲槸璇?span>%ABCD%鐨勬剰鎬濇槸me,the writer銆傝屽湪浣跨敤鏃訛紝涔熺敤“me錛?span>the writer”浠f浛ABCD銆備負浜嗛傚簲涓嶅悓鐨勮璦涓婁笅鏂囷紝鍙互鍦?span>String 鐨勫悗闈㈤檮鍔狅紙鍦?span>Winnt銆?span>H`涓畾涔夌殑錛?span>LangID鍜?span>SubLangID錛屽艦鎴愭柊鐨?span>Strings鑺傘?span>LangID鍜?span>SubLangID閮芥槸涓や綅鏁幫紝瀹冧滑鍚堜綔鎸囧畾鏌愯璦涓婁笅鏂囥?/span>

濡傚畾涔変竴涓嫳鍥借嫳璇紙0902錛夌殑flour:

[Strings]

ABC=”Flor”

[Strings.0902]

ABC=”Flour”

[SourceDisksName]涓?strong>[SourceDisksFiles]鑺傚垎鍒槸鎸囨簮浠g爜鐩樻垨鍙戣鐩樼殑鎻忚堪錛岀洰褰曞拰鎵撳寘鏂囦歡銆傚鏋滄墍鏈夋枃浠墮兘鍦ㄦ牴鐩綍涓紝[SourceDisksFiles]鑺傚彲浠ユ槸鍦ㄧ┖鐨?/span>

鍦?strong>[DestinationDirs]鑺備腑錛屽鍒剁己鐪佹枃浠跺拰Filelist鑺備腑鐨勬枃浠訛紝鎸囧畾鐩綍鍜屽瓙鐩綍鐨?span>ID 騫舵寚瀹氭枃浠剁殑鏍囧噯浣嶇疆銆?/span>

[Manufacture]鑺傛寚瀹氱敓浜у巶鍟嗗拰models鑺備腑鐩稿簲鐨勫悕縐幫紱

[install]鑺傚垯鎸囧悜娣誨姞鐨勮澶囨帴鍙e垪琛紝鎺ュ彛閿殑娉ㄥ唽琛紝鍏朵腑錛?/span>

Copyfiles=filename|filelist欏癸紝鎸囧畾瑕佸鍒剁殑鏂囦歡鎴栧悗闈㈠垪鍑烘枃浠剁殑鍒楄〃鑺傜殑鍚嶇О銆?/span>

AddReg=addreg欏癸紝鎸囧畾鍚庨潰閬楃暀璁懼鑺傜殑鍚嶇О銆?/span>

LogConfig=logconfig欏癸紝鎸囧畾鍚庨潰閬楃暀璁懼鑺傜殑鍚嶇О銆?/span>

ProfileItems欏癸紝鎸囧畾娣誨姞鍒拌綆楁満鐣岄潰“寮濮?#8221;鑿滃崟涓殑鏂囦歡鍚嶇О欏廣?/span>

[filelist]鎸囧畾瑕佸畨瑁呯殑鏂囦歡鍒楄〃銆?/span>

[addreg]鑺傦紝鎸囧畾鏂扮殑閿拰鍊箋?/span>

[logconfig]鑺傦紝鎸囧畾閬楃暀璁懼鐨?span>I/O鍦板潃錛?span>IRQ絳夐厤緗殑璇︾粏淇℃伅銆?/span>

[install銆?span>AddService]鑺傦紝鍙拡瀵?span>Windows2000鐨勯┍鍔ㄧ▼搴忥紝鎸囧畾椹卞姩紼嬪簭鐨勮緇嗕俊鎭?/span>

 

涓嬮潰鎴戜滑鍏蜂綋浠嬬粛涓涓?span>INF鏂囦歡緇撴瀯銆?/span>

1.1INF鏂囦歡緇撴瀯

涓涓?span>INF鏂囦歡鏄竴涓鍒掑垎涓鴻妭錛?span>Section錛夌殑綆鍗曠殑鏂囨湰鏂囦歡錛屾瘡鑺傜敱鏂規嫭鍙鳳紙[]錛夊唴鐨勬爣紺虹琛ㄧず銆傛煇浜涜妭鍚嶅瓧鏄繀欏葷殑錛岃屽彟涓浜涙槸椹卞姩紼嬪簭涓撶敤鐨勩傛瘡鑺備笅闈㈢殑鍚勯」鎺у埗鏌愪簺瀹夎鎿嶄綔錛屾垨鑰呰繛鎺ユ垨鍒椾婦鍏跺畠鑺傘?/span>

鏂囦歡涓悇鑺傚嚭欏圭殑欏哄簭騫朵笉閲嶈錛屽洜涓烘瘡鑺傞兘琚懡鍚嶅拰閾炬帴浜嗐備竴鑺傚唴瀹瑰湪閬囧埌鍙︿竴鑺傛垨鑰呴亣鍒版枃浠剁粨灝句箣鍓嶇戶緇墽琛屻傝瀹氳妭鐨勫敮涓鐨勫悕瀛楁槸鍖哄垎澶у皬鍐欑殑錛屽茍涓斿湪闀垮害涓婂繀欏婚檺鍒跺湪28涓瓧絎︿互鍐咃紝浠ヤ繚鎸佷笌Windows 98 鐨勫吋瀹規с傝妭鐨勫悕瀛楀彲浠ュ寘鎷┖鏍鹼紝浣嗘槸鍙湁鍦ㄦ暣涓悕瀛楀簲鐢ㄦ椂銆傚厑璁鎬笅鍒掔嚎鍜岀偣瀛楃銆?/span>

鑺備腑鍚勯」鐨勫熀鏈牸寮忓涓嬶細

entry=value[錛?span>value….]

榪欓噷鐨?span>entry鏄竴涓寚浠わ紝鍏抽敭瀛楁垨鑰呮枃浠跺悕錛岃?span>value鏄簲鐢ㄤ簬entry鐨勫睘鎬с?/span>

涓嬪浘琛ㄧず浜嗚妭鍚嶅瓧閾炬帴銆?/span>

Entry鎴?span>value鍚嶅瓧鍙互瑙勫畾涓轟竴涓瓧絎︿覆璁板彿錛?span>string token錛夛紝瀹冩槸涓涓敱鐧懼垎鍙?span>%鍖呭洿鐨勬浛鎹㈠瓧鑺備覆錛屼竴涓嫭绔嬬殑INF鑺?span>鈥斺擺Strings]錛岀粰鎸囧畾鐨勮璦ID鎻愪緵浜嗗瓧絎︿覆璁板彿鍊箋?/span>

涓嬮潰鎴戜滑鐪嬩竴涓?span>INF鏂囦歡鐨勫悇涓皬鑺傚強灝忚妭鐨勫熀鏈唴瀹癸細錛堣〃1錛岃〃2錛?/span>

涓嬮潰鎴戜滑璇︾粏姣忎竴鑺傜殑鍐呭錛?/span>

1.2 Version鑺?/span>

涓涓湁鏁堢殑INF鏂囦歡浠ヤ竴涓?span>[Version]鑺傚紑濮嬶紝瀹冩媴褰撴暣涓?span>INF鏂囦歡鐨勫ご閮ㄥ拰絳懼悕銆?span>[Version]鑺備腑鍏佽鐨勫拰瑕佹眰鐨勯」閮藉垪鍦ㄤ簡涓嬭〃-3

 

1.3 Manufacturers鑺?/span>

鍙︿竴涓繀欏葷殑鑺傛槸[Manufacturers]欏廣傝鑺備腑鐨勬瘡涓」鍒楀嚭INF鏂囦歡瀹夎鐨勮澶囧拰浠栦滑鐨勯┍鍔ㄧ▼搴忋傛瘡涓」鐨勬牸寮忓涓嬶細

 manufacturer=model

榪欓噷鐨?span>manufacturer鍒楀嚭瑕佽瀹夎鐨勪竴涓垨澶氫釜紜歡鍨嬪彿鐨勫埗閫犲晢鍦?span>INF鏂囦歡涓殑鍞竴鍚嶅瓧銆?span>Model鍊兼寚鍚戝彟涓涓?span>INF鑺傚悕瀛楋紝榪涗竴姝ュ垪鍑虹‖浠跺瀷鍙烽┍鍔ㄧ▼搴忓畨瑁呯殑鏂瑰悜銆?/span>

1.4 Models鑺?/span>

瀵逛簬鍒楀湪[Manfacturers]鑺備腑鐨勬瘡涓瀷鍙鳳紝蹇呴』鏈変竴涓浉搴旂殑鑺備綔涓虹敱model鎸囧畾鐨勮妭鍑虹幇銆傛瘡涓?span>model欏圭殑褰㈠紡涓猴細

device-description=install-section-name錛?span>hw-id[錛?span>compatible-id…]

榪欓噷鐨?span>device-description琛ㄧず浜哄彲浠ョ悊瑙g殑璁懼鍨嬪彿鍒楄〃鍜屼竴涓畝鍗曠殑鎻忚堪銆傚湪涓浜涘畨瑁呰繃紼嬩腑姝ゅ瓧絎︿覆鍦ㄤ竴涓璇濇涓彁浜ょ粰鐢ㄦ埛錛屽洜姝ゆ湁蹇呰鎻愪緵澶氱璇█浣滀負瀛楃涓茶鍙楓?/span>

 install-section-name鍊煎紩鐢?strong>[DDInstall]鑺傦紝琛ㄧず鍊艱繘涓姝ュ畨瑁呯殑鍙︿竴涓?span>INF鑺傦紝hw-id鍊兼槸紜歡璁懼鍦?span>PNP鍏煎鐨勬葷嚎涓婂0鏄庢椂榪斿洖鐨?span>PnP鏍囩ず絎︺備緥濡傘?span>USB \ VID_045E&PID_OOB   鏍囩ずUSB涓婄殑Microsoft HID錛?span>Human Input Device錛夐敭鐩樿澶囥傝兘澶熷鍔犱換鎰忔暟閲忕殑compatlible-id鍊鹼紝琛ㄧず鐩稿悓鐨勫畨瑁呰剼鏈彲浠ョ敤浜庡垪琛ㄤ腑鍖呭惈鐨勪換浣曡澶囥?/span>

1.5 DDInstall鑺?/span>

鍦?span>INF鑺傚悕瀛楅摼琛ㄧ殑浣庨儴闄勮繎錛堜絾騫墮潪鏈浣庨儴錛夋槸[DDInstall]鑺傦紝瀹冧粠[Models]鑺備腑涓烘瘡涓埗閫犲晢鐨勬瘡涓瀷鍙瘋瀹氫竴涓敮涓鐨勫悕瀛椼?strong>[DDInstall]鑺備腑鍏佽鐨勫拰瑕佹眰鐨勯」鐩涓嬮潰琛?.

       铏界劧鍦ㄨ娉曚笂鍙湁AddReg欏規槸蹇呴渶鐨勶紝浣嗘槸CopyFiles欏規槸[DDInstall]鑺傜殑涓涓熀鏈寚浠ゃ傚畠閲囧彇濡備笅褰㈠紡錛?/span>

CopyFiles = file – list – section [錛?span>file – list – section….]鎴栬?/span>

CopyFile = @filename

鍓嶄竴縐嶅艦寮忔洿鍔犲父鐢紝鍥犱負瀹冨厑璁鎬竴涓棿鎺ユ寚閽堟寚鍚戝寘鍚瀹夎鐨勬枃浠跺垪琛ㄧ殑鍏朵粬鑺傘傜劧鑰岋紝瀵逛簬綆鍗曠殑椹卞姩寮鍙戠▼搴忓畨瑁咃紝閲囧彇鐩存帴鏂囦歡鍚嶆柟娉曞氨琛屼簡銆傚湪涓嬮潰涓や釜灝忚妭涓皢瀵?span>AddReg鍜?span>CopyFiles鎸囦護鍋氳繘涓姝ヨВ閲娿?/span>

1.6  CopyFiles鑺?/span>

INF鏂囦歡鐨?strong>[CopyFiles]鑺傛湁涓涓敮涓鐨勫悕瀛楋紝騫朵粠[DDInstall]鑺傜殑CopyFiles鎸囦護寮曠敤瀹冦傝鑺備腑鐨勬瘡涓」閲囩敤濡備笅褰㈠紡錛?/span>

destination – filename[錛?span>source- filename錛?span>temp-filename錛?span>flag]

榪欓噷鐨?strong>destiantion-filename鏄渶閲嶈澶嶅埗鐨勭洰鏍囨枃浠跺悕銆傚鏋滄簮鏂囦歡鍚嶄笉鐩稿悓錛屽繀欏昏瀹?strong>source – filename銆?span>Temp-filename鍊間笉鍐嶉傜敤錛堣櫧鐒?span> Windows 98浠嶇劧瑕佹眰錛夛紝瀹冨湪緋葷粺鍐嶆寮曞涔嬪墠瑙勫畾鏂版枃浠剁殑涓存椂鏂囦歡鍚嶃傚浜?span>Windows 2000錛屽拷鐣ユ鍊箋?/span>

 Falg 鍊艱瀹氬鏂扮洰鏍囨枃浠剁殑澶勭悊錛屽叾鎻忚堪瑙佽〃5銆傚彲浠ュfalg鍊間腑鐨勫悇涓負榪涜“鎴?#8221;榪愮畻錛屼互浣垮涓搷浣滆搗浣滅敤銆傚嚑縐嶆搷浣滄槸浜掓枼鐨勶紙渚嬪錛?span>WARN_IF_SKIP鍜?span>NOSKIP錛?span>,鏈夌枒闂椂搴斿綋鏌ラ槄鏈夊叧鏂囨。銆?/span>

鍥犱負[CopyFiles]鑺傜殑欏圭殑璇硶娌℃湁鍖呭惈涓涓彲閫夐」鏉ヨ瀹氭簮鏂囦歡鐨勭鐩樻垨璺緞錛屽繀欏諱嬌鐢ㄥ叾浠?span>INF鑺傗斺?strong>[SourceDisksNames]鍜?strong>[SourceDisksFiles]銆傜劧鑰?strong>[CopyFiles]鑺備腑鍚勯」澶嶅埗鐨勬枃浠剁敱鍙︿竴涓?span>INF鑺傗斺?strong>[DestiantionDirs]鑺傛寚瀹氥?/span>

1.7 AddReg鑺?/span>

涓涓?span>INF鏂囦歡鐨?strong>[AddReg]鑺傝鍞竴鍛藉悕錛屽茍浠?strong>[DDInstall]鑺備腑鐨?strong>AddReg鎸囦護寮曠敤瀹冦傛鑺傜殑鐩殑鏄彁渚涘鍔犳垨鑰呬慨鏀圭洰鏍囩郴緇熸敞鍐岃〃涓殑欏圭洰銆傛湰鑺備腑姣忎釜欏圭洰閲囧彇濡備笅褰㈠紡錛?/span>

 reg-root[錛?span>subkey錛?span>value- name錛?span>flags 錛?span>value]

榪欓噷鐨?span>reg- root鏄敞鍐岃〃搴擄紙hive錛変箣涓鐨勭緝鍐欙紝瑙佽〃6鎵鍒椼傚艱〃紺鴻琚慨鏀圭殑娉ㄥ唽琛ㄥ簱銆?strong>Subbkey鍊艱〃紺哄簱搴曚笅鐨勯敭鍚嶏紝鍦ㄥ眰嬈$粨鏋勪腑瀛愰敭鐢ㄥ弽鏂滅嚎錛?span>\錛夊瓧絎﹂殧寮銆備緥濡傦紝software\W2KdriverBook\Driver\Seting 鏄?span>HKCU鎴栬?span>HKLM搴撶殑涓涓湁鏁堝瓙閿?/span>

Value-name鎸囧畾瑕佸鍔犳垨淇敼鐨勬敞鍐岃〃鍊箋傛瘡涓敞鍐岃〃閿寘鍚竴涓垨澶氫釜鍊鹼紝淇濆瓨涓嶅悓綾誨瀷鐨勬暟鎹傛敞鍐岃〃緙栬緫鍣紙Registy Editor錛夊湪鍙寵竟闈㈡澘涓垪鍑哄瓙閿殑鍊箋傚煎悕鍜屽兼暟鎹悓鏃跺湪璇ラ潰鏉夸腑鍑虹幇錛屽乏杈歸潰鏉垮彧鍒楀嚭瀛愰敭銆傚浘3璇存槑浜嗘敞鍐岃〃鏈涔嬮棿鐨勫叧緋匯?/span>

Flags鎸囧畾鏁版嵁淇濆瓨鐨勭被鍨嬶紝flages鍙兘鐨勪綅緗琛?span>7鎵鍒?

1.8  SourceDisksNames鑺?/span>

濡傛灉INF鏂囦歡鎺у埗鐨勯┍鍔ㄧ▼搴忔枃浠剁殑鍒嗗竷璺ㄨ秺澶氫釜紓佺洏錛堣蔣鐩樻垨鍏夌洏錛夛紝鍒?span>INF鏂囦歡蹇呴』鍖呭惈涓涓?strong>[SourceDisksNames]鑺傘傛湰鑺傚湪鍒嗗竷闆嗕腑涓烘瘡涓鐩樺寘鍚竴欏癸紝欏圭洰閲囧彇濡備笅褰㈠紡錛?/span>

Diskid=disk – descript[錛?span>tagfile錛?span>unused錛?span>path]

榪欓噷鐨?span>diskid`鏄垎甯冮泦鍐呯殑涓涓竴涓敮涓鐨勭紪鐮併傞氬父錛岀鐩樹粠1寮濮嬬紪鐮併?span>Disk – description 鏍囩鏄竴涓緵浜洪槄璇葷殑鏂囨湰涓詫紝鍙互淇濊瘉瀹夎榪囩▼涓嫢鎶ゆ彁渚涙紜殑紓佺洏錛屽湪瀹夎榪囩▼緇х畫涔嬪墠鏍稿tagfile鍊兼槸鍚﹀湪鎻掑叆鐨勭叅浣撲笂銆傚鏋?span>tagfile鏂囦歡涓嶅瓨鍦紝鍒欐彁紺虹敤鎴鋒彃鍏ユ紜殑紓佺洏銆傚鏋?span>tagfile鍊煎寘鍚?span>-CAB鎵╁睍錛屽垯璇ユ枃浠惰璁や負鏄鐩樹笂椹卞姩紼嬪簭婧愭枃浠剁殑鍘嬬緝鏂囦歡闆嗐?/span>

Path鍊兼槸紓佺洏涓婇┍鍔ㄧ▼搴忔簮鏂囦歡鐨勭浉瀵逛簬鏍圭洰褰曠殑紓佺洏璺緞銆備笌tagfile鍊間竴鏍鳳紝path鏄彲閫夌殑銆傚鏋滃拷鐣ュ畠錛屽垯璁や負鏍圭洰褰曟槸鏂囦歡鐨勬簮銆?/span>

1.9 SourceDisksFiles鑺?/span>

椹卞姩紼嬪簭INF鏂囦歡榪樺繀欏誨寘鍚竴涓О涓?strong>[SourceDisksFiles]鐨勮妭銆傛鑺傚垪鍑洪┍鍔ㄧ▼搴忓畨瑁呮湡闂翠嬌鐢ㄧ殑鏂囦歡鍚嶃傛瘡涓枃浠跺搴斾簬鏈妭涓殑涓涓」錛屽茍閲囧彇濡備笅褰㈠紡錛?/span>

Filename = diskid[錛?span>sbdir錛?span>size]

寰堣嚜鐒訛紝diskid鍊煎湪[SourceDisksNames]鑺備腑鎸囧畾浜嗘壘鍒?span>filename鐨勪竴涓鐩橈紝subdir鍊煎彲閫夛紝瀹冩寚瀹氭枃浠跺湪紓佺洏涓婄殑涓涓礬寰勩?span>Size鍊煎彲閫夛紝鎸囧畾鏂囦歡浠ュ瓧鑺備負鍗曚綅鐨勬湭鍘嬬緝澶у皬銆傚湪寮濮嬫枃浠跺鍒跺墠錛屽畨瑁呰繘紼嬪彲浠ヤ嬌鐢ㄦ澶у皬紜畾婧愭枃浠舵槸鍚﹀悎閫傜洰鏍囩郴緇熴?/span>

1  DestinationDirs鑺?/span>

榪欐槸INF鏂囦歡涓繀闇鐨勮妭錛屾寚瀹氭簮鏂囦歡鐨勭洰鏍囩洰褰曘傛病鏈夎繖閮ㄥ垎鍐呭錛屽畨瑁呯▼搴忔垨榪涚▼灝嗘病鏈夌敤鏉ユ嫹璐濇枃浠剁殑鐩爣鐩綍銆?span>[DestinatonDirs]鑺備腑鐨勯」閲囧彇濡備笅褰㈠紡錛?/span>

File – list – section = dirid[錛?span>subdir]鎴栬?/span>

DefaultDestDir = dirid[錛?span>subdir]

榪欓噷file – list – section瑙勫畾浜嗗湪[CopyFiles]鎸囦護涓皟鍑烘潵鐨勯儴鍒嗐傚畠瑙勫畾涓涓寚浠ゆ嫹璐濈殑鎵鏈夋枃浠跺畨瑁呭埌鎸囧畾鐨勭洰褰曘傚浜庨」鐩?span>DefaultDestDir錛屼笂榪拌鑼冮傜敤浜庢墍鏈?span>[CopyFiles]鎸囦護錛屽惁鍒欎笉浼氫笌[DestionationDirs]鑺備腑鐨?span>file- list – section欏瑰叧鑱斻?/span>

Dirid鍊兼牴鎹〃8瑙勫畾浜嗙洰鏍囩殑涓涓垪涓懼箋傚鏋滄彁渚涗簡鍊?span>subdir錛屽畠鎸囧畾diid璋冨鐨勭洰褰曚笅闈㈢殑涓涓浉瀵硅礬寰勩?/span>

 

2. DDInstall.Services鑺?/span>

涓轟簡鐪熸鐨勪嬌澶嶅埗鐨勬枃浠舵垚涓虹洰鏍囩郴緇熶笂鐨勯┍鍔ㄧ▼搴忥紝蹇呴』閫氱煡鏈嶅姟鍣ㄧ鐞嗙▼搴忥紙SCM錛夈傚畨瑁呭湪Windows 2000涓嬬殑姣忎釜椹卞姩紼嬪簭鍦?span>HKLM\System\Current-ControlSet\Services涓嬬殑娉ㄥ唽琛ㄤ腑鏈変竴欏廣?span>ServiceType鍊間負1琛ㄧず涓涓唴鏍告ā寮忚澶囬┍鍔ㄧ▼搴忋?span>StartType鎸囧畾鍦ㄥ紩瀵艱繃紼嬩腑鐨勪粈涔堢偣涓婇┍鍔ㄧ▼搴忚鍏ワ紙3琛ㄧず鎸夐渶鎴栨墜鍔ㄥ惎鍔級銆傚湪椹卞姩紼嬪簭瑁呭叆榪囩▼涓亣鍒伴敊璇椂錛?span>ErrorControl鍊肩‘瀹氬彂鐢熶簡浠涔堟儏鍐點?span>ServiceBinary鍊兼寚鍚戦┍鍔ㄧ▼搴忔枃浠訛紙銆?span>SYS鏂囦歡錛夌殑浣嶇疆錛屼絾鏄紝濡傛灉浜岃繘鍒跺間綅浜?span>%windir%\system32\drivers鐩綍錛屽茍涓斾笌HKLM\…\Services涓嬬殑瀛愰敭鏈夌浉鍚岀殑鍚嶅瓧錛屽垯鍙互蹇界暐ServiceBinary鍊箋?/span>

DDInstall.Services鑺傞」鐩腑鍖呮嫭涓涓艦寮忓涓嬬殑欏圭洰錛?/span>

AddService = ServiceName錛?span>[flags]錛?span>service – install – section[錛?span>eventlog – install – section]

榪欓噷鐨?span>ServiceName琛ㄧず璁懼鐨勫悕瀛楋紝閫氬父鏄┍鍔ㄧ▼搴忕殑鍚嶅瓧錛屾病鏈夈?span>SYS鎵╁睍鍚嶃?span>Flags鍊肩殑鎻忚堪瑙佽〃9

Service – install – section鍜屽彲閫夌殑eventlog- install – section鍊艱皟鍑烘帶鍒舵湇鍔″奸」鐩紙璇稿ServiceType鍜?span>StartType錛夌殑鏂板鐨?span>INF鑺傚悕瀛椼?/span>

3. ServiceInstall 鑺?/span>

[ServiceInstall]鑺傚悕瀛楀疄闄呬笂鐢?span>DDInstall.Services鑺備腑姣忎釜AddService欏瑰敮涓瑙勫畾錛屽畠鎺у埗鎶婇┍鍔ㄧ▼搴忓畨瑁呭埌鏈嶅姟鎺у埗綆$悊紼嬪簭銆?span>[ServiceInstall]鑺傚厑璁哥殑欏硅琛?span>10鎵鍒椼?/span>

4 .楠岃瘉INF璇硶

DDK鍖呭惈涓涓熀鏈殑宸ュ叿CHKINF錛屽湪DDK鐨?span>Tools鐩綍涓傚畠渚濊禆浜?span>Perl鑴氭湰寮曟搸錛岃寮曟搸鍙互浠?span>www.perl.com涓婁笅杞姐傝櫧鐒跺伐鍏鋒病鏈変粈涔堜紭鐐癸紝浣嗗畠鍦ㄦ鏌ユ爣鍑?span>Microsoft INF鏂囦歡鏃惰兘鎶ュ憡璁稿閿欒銆傚伐鍏蜂互HTML鏂囦歡褰㈠紡杈撳嚭銆?/span>

DDK Tools鐩綍榪樺寘鎷竴涓敤璇畝鍖?span>INF鏂囦歡鏋勯犵殑瀹炵敤紼嬪簭CENINF銆?span>EXE 銆?蹇呴』鎶婅宸ュ叿鍖哄垎涓哄熀鏈伐鍏鳳紝瀹冨鍏ラ棬鑰呮槸鏈夌敤鐨勩?/span>

鏈鍚庯紝DDK鎻愪緵浜?span>STAMPINF銆?span>EXE榪欎竴綆鍗曞伐鍏鳳紝瀹冩彁渚涗簡蹇熷鍔犳垨淇敼INF涓増鏈俊鎭殑鏈哄埗銆?/span>



鍙跺瓙 2008-03-17 10:00 鍙戣〃璇勮
]]>
Hook API鐩戣椹卞姩鐨勫姞杞?http://www.shnenglu.com/elva/archive/2007/12/13/38402.html鍙跺瓙鍙跺瓙Thu, 13 Dec 2007 03:37:00 GMThttp://www.shnenglu.com/elva/archive/2007/12/13/38402.htmlhttp://www.shnenglu.com/elva/comments/38402.htmlhttp://www.shnenglu.com/elva/archive/2007/12/13/38402.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/38402.htmlhttp://www.shnenglu.com/elva/services/trackbacks/38402.html
				;**************************************************************************************************
;Author:dge/D鍝?br>;Date :2006.7.20
;**************************************************************************************************
;f:\masm32\bin\ml /nologo /c /coff HookAPI.asm
;C:\>f:\masm32\bin\link /nologo /driver /base:0x10000 /align:32 /out:HookAPI.sys /subsystem:native HookAPI.obj
.386 . model flat , stdcall
option casemap
: none ;************************************************************************************************** include f:\masm32\include\w2k\ntstatus.inc include f:\masm32\include\w2k\ntddk.inc include f:\masm32\include\w2k\ntoskrnl.inc includelib f:\masm32\lib\w2k\ntoskrnl.lib include f:\masm32\Macros\Strings.mac ;************************************************************************************************** .data ;淇濆瓨鍦板潃 dwOldNtLoadDriver dd ? dwAddr dd ? dwDriverName ANSI_STRING <?>
.
const CCOUNTED_UNICODE_STRING "\\Device\\devHookApi", g_usDeviceName, 4 CCOUNTED_UNICODE_STRING "\\??\\slHookApi", g_usSymbolicLinkName, 4 CCOUNTED_UNICODE_STRING "ZwLoadDriver", g_usRoutineAddr, 4 ;************************************************************************************************** .code ;璁╄繖涓嚱鏁板湪NtLoadDriver鐨勮皟鐢ㄦ椂琚墽琛屼互瀹炵幇鐩戣 NewNtLoadDriver proc lpDriverName:PUNICODE_STRING pushad ; int 3 ; invoke DbgPrint, $CTA0("\nEntry into NEW\n") invoke RtlUnicodeStringToAnsiString, addr dwDriverName, lpDriverName,TRUE invoke DbgPrint, $CTA0("\nDriverName: %s.sys\n"), dwDriverName.Buffer popad ;璋冪敤鍘熷嚱鏁? push lpDriverName call dwOldNtLoadDriver ret NewNtLoadDriver endp ;************************************************************************************************** HookFunction proc

pushad
; int 3 ; invoke DbgPrint, $CTA0("\nEntry into hoookfunction\n") ;涓嬮潰鏄敤KeServiceDescriptorTabled瀵煎嚭絎﹀彿鑾峰緱鏁扮粍鐨勫熀鍦板潃錛岃繖涓暟緇勪腑鍖呭惈鏈塏tXXXX鍑芥暟鐨勫叆鍙e湴鍧銆? mov eax, KeServiceDescriptorTable mov esi, [eax] mov esi, [esi] ;鐢∕mGetSystemRoutineAddress鏉ヨ幏寰楀嚱鏁癦wLoadDriver鐨勫湴鍧銆傚茍浠庤繖涓嚱鏁板湴鍧鍚庨潰鐨勭2涓瓧鑺備腑鍙栧緱鏈嶅姟鍙楓備粠鑰? ;鑾峰緱浠ユ湇鍔″彿涓轟笅鏍囩殑鏁扮粍鍏冪礌銆? invoke MmGetSystemRoutineAddress,addr g_usRoutineAddr inc eax movzx ecx,byte ptr[eax] sal ecx,2
add
esi,ecx mov dwAddr,esi
mov
edi,dword ptr[esi] ;淇濆瓨鏃х殑鍑芥暟鍦板潃銆? mov dwOldNtLoadDriver,edi mov edi,offset NewNtLoadDriver ;淇敼鍏ュ彛鍦板潃 cli
mov
dword ptr[esi],edi sti popad mov eax, STATUS_SUCCESS ret HookFunction endp ;************************************************************************************************** DispatchCreateClose proc pDeviceObject:PDEVICE_OBJECT, pIrp:PIRP mov eax, pIrp assume eax:ptr _IRP mov [eax].IoStatus.Status, STATUS_SUCCESS and [eax].IoStatus.Information, 0 assume eax:nothing

invoke
IoCompleteRequest, pIrp, IO_NO_INCREMENT mov eax, STATUS_SUCCESS ret DispatchCreateClose endp ;************************************************************************************************** DriverUnload proc pDriverObject:PDRIVER_OBJECT ;蹇呴』淇濆瓨鐜錛屽惁鍒欏悗鏋滃緢涓ラ噸銆傚湪榪欎釜鍑芥暟涓仮澶嶈淇敼鐨勫湴鍧銆?
pushad
; int 3 ; invoke DbgPrint, $CTA0("\nEntry into DriverUnload \n") mov esi,dwAddr mov eax,dwOldNtLoadDriver cli mov dword ptr[esi],eax sti invoke IoDeleteSymbolicLink, addr g_usSymbolicLinkName mov eax,pDriverObject invoke IoDeleteDevice, (DRIVER_OBJECT PTR [eax]).DeviceObject
popad

ret
DriverUnload endp ;************************************************************************************************** DriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING local status:NTSTATUS local pDeviceObject:PDEVICE_OBJECT ; int 3 ; invoke DbgPrint, $CTA0("\nEntry into DriverEntry\n") mov status, STATUS_DEVICE_CONFIGURATION_ERROR invoke IoCreateDevice, pDriverObject, 0, addr g_usDeviceName, FILE_DEVICE_UNKNOWN, 0, FALSE, addr pDeviceObject .if eax == STATUS_SUCCESS invoke IoCreateSymbolicLink, addr g_usSymbolicLinkName, addr g_usDeviceName .if eax == STATUS_SUCCESS mov eax, pDriverObject assume eax:ptr DRIVER_OBJECT mov [eax].DriverUnload, offset DriverUnload mov [eax].MajorFunction[IRP_MJ_CREATE*(sizeof PVOID)], offset DispatchCreateClose mov [eax].MajorFunction[IRP_MJ_CLOSE*(sizeof PVOID)], offset DispatchCreateClose assume eax:nothing
invoke
HookFunction mov status, STATUS_SUCCESS .else invoke IoDeleteDevice, pDeviceObject .endif .endif
mov
eax, status ret DriverEntry endp

end
DriverEntry ;**************************************************************************************************


鍙跺瓙 2007-12-13 11:37 鍙戣〃璇勮
]]>
鏂囦歡榪囨護椹卞姩寮鍙戣緟鍔╁伐鍏烽泦http://www.shnenglu.com/elva/archive/2007/07/31/29080.html鍙跺瓙鍙跺瓙Tue, 31 Jul 2007 07:20:00 GMThttp://www.shnenglu.com/elva/archive/2007/07/31/29080.htmlhttp://www.shnenglu.com/elva/comments/29080.htmlhttp://www.shnenglu.com/elva/archive/2007/07/31/29080.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/29080.htmlhttp://www.shnenglu.com/elva/services/trackbacks/29080.html闃呰鍏ㄦ枃

鍙跺瓙 2007-07-31 15:20 鍙戣〃璇勮
]]>
鏈湴鐩綍鐨勫彧璇繪帶鍒訛紙紱佹鍐欍佸垹闄ゃ佹柊寤猴級錛?/title><link>http://www.shnenglu.com/elva/archive/2007/05/07/23590.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Mon, 07 May 2007 15:54:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2007/05/07/23590.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/23590.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2007/05/07/23590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/23590.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/23590.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/elva/archive/2007/05/07/23590.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/elva/aggbug/23590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2007-05-07 23:54 <a href="http://www.shnenglu.com/elva/archive/2007/05/07/23590.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏂囦歡鍔犲瘑鏍囪瘑 錛嶉殣钘忔枃浠跺ご鐨勯粦瀹唬鐮?/title><link>http://www.shnenglu.com/elva/archive/2007/05/07/23589.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Mon, 07 May 2007 15:51:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2007/05/07/23589.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/23589.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2007/05/07/23589.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/23589.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/23589.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/elva/archive/2007/05/07/23589.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/elva/aggbug/23589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2007-05-07 23:51 <a href="http://www.shnenglu.com/elva/archive/2007/05/07/23589.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Windows 鏂囦歡榪囨護椹卞姩緇忛獙鎬葷粨http://www.shnenglu.com/elva/archive/2007/05/07/23588.html鍙跺瓙鍙跺瓙Mon, 07 May 2007 15:48:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/07/23588.htmlhttp://www.shnenglu.com/elva/comments/23588.htmlhttp://www.shnenglu.com/elva/archive/2007/05/07/23588.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/23588.htmlhttp://www.shnenglu.com/elva/services/trackbacks/23588.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-07 23:48 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品免费福利| 亚洲男人的天堂在线| 欧美一区二区三区四区在线| 国产精品一区在线观看| 亚洲一区二区黄色| 亚洲午夜久久久久久尤物| 国产麻豆视频精品| 麻豆精品一区二区综合av | 亚洲精品三级| 亚洲精品国偷自产在线99热| 欧美高清自拍一区| 一区二区三区欧美激情| 亚洲午夜免费福利视频| 红桃视频成人| 亚洲精品影院在线观看| 国产偷国产偷精品高清尤物| 欧美成人激情在线| 国产精品国产三级国产aⅴ无密码| 亚洲欧美成人网| 久久视频这里只有精品| 亚洲视频第一页| 欧美在线首页| 一区二区欧美亚洲| 久久精品国产亚洲5555| 一区二区三区欧美成人| 欧美专区在线播放| 一本综合久久| 久久久亚洲国产天美传媒修理工| 在线一区免费观看| 久久精品欧美日韩| 亚洲字幕一区二区| 亚洲精品专区| 久久久精品一区| 欧美国产高清| 久久久国产精品一区二区中文| 欧美成人一区二区三区在线观看 | 亚洲国产欧美不卡在线观看| 国产精品视频免费在线观看| 欧美激情亚洲激情| 狠狠色狠狠色综合| 一区二区电影免费观看| 亚洲日本中文字幕区| 欧美中文字幕久久| 亚洲欧美日韩成人| 欧美精品www| 欧美大片网址| 黄色一区二区三区四区| 亚洲欧美日本视频在线观看| 亚洲最新在线| 欧美国产亚洲视频| 老司机精品视频一区二区三区| 国产精品午夜电影| 一本一本久久a久久精品综合妖精| 亚洲国产日韩一区二区| 欧美中文在线观看| 久久亚洲图片| 狠狠色狠色综合曰曰| 性感少妇一区| 欧美综合二区| 国产日韩高清一区二区三区在线| 在线视频日韩| 亚洲伊人久久综合| 欧美三级日韩三级国产三级| 亚洲精品国产系列| 99在线精品视频在线观看| 欧美顶级艳妇交换群宴| 亚洲国产日韩一区| 亚洲精品一区二区三区樱花| 欧美电影在线| 99精品久久| 亚洲欧美一级二级三级| 国产精品一级| 久久国产直播| 欧美成人四级电影| 亚洲精品乱码久久久久久日本蜜臀| 老司机一区二区三区| 亚洲国产视频直播| 亚洲午夜成aⅴ人片| 国产精品夜夜夜| 久久精品一二三区| 欧美激情精品久久久久久大尺度| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩一区二区高清| 欧美体内she精视频| 午夜在线不卡| 欧美激情亚洲自拍| 亚洲欧美变态国产另类| 伊人精品在线| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美亚洲一区二区三区| 欧美日韩国产综合视频在线观看中文 | 国产精品久久久久一区二区三区共 | 亚洲欧洲一区二区三区| 欧美精品在线一区| 亚洲欧美国产一区二区三区| 欧美一区二区三区免费视频| 亚洲福利视频网站| 欧美日产一区二区三区在线观看| 最新中文字幕亚洲| 久久av一区二区三区| 亚洲精品极品| 国产亚洲美州欧州综合国| 欧美v国产在线一区二区三区| 亚洲黄一区二区三区| 久久国产日韩| 99精品欧美| 在线成人性视频| 久久精品一区二区三区不卡| 亚洲日本成人在线观看| 欧美一区二区三区精品| 日韩一区二区精品视频| 国产一区二区三区久久悠悠色av | 国产精品无码专区在线观看| 麻豆成人精品| 亚洲一区精品视频| 牛牛影视久久网| 久久成人免费电影| 国产精品99久久99久久久二8| 国产农村妇女精品| 另类图片综合电影| 欧美在线三区| 亚洲欧美另类中文字幕| 日韩小视频在线观看| 欧美激情1区2区3区| 久久久久久9| 性色av一区二区三区| 中文精品视频| 一本久道久久综合狠狠爱| 在线电影院国产精品| 国产午夜精品久久久久久免费视| 欧美剧在线观看| 麻豆91精品91久久久的内涵| 久久成年人视频| 性久久久久久久| 99精品欧美一区二区三区综合在线 | 亚洲丶国产丶欧美一区二区三区 | 在线看片成人| 国产综合一区二区| 国产精品一区在线播放| 国产日韩av一区二区| 国产欧美va欧美不卡在线| 国产精品三级久久久久久电影| 欧美精品一区二区三区在线播放 | 免费成人毛片| 久久久亚洲一区| 久久精品视频va| 久久精品99久久香蕉国产色戒| 亚洲欧美国产三级| 欧美一区二区视频观看视频| 欧美一二三区在线观看| 欧美影院在线播放| 久久久久欧美精品| 麻豆国产精品va在线观看不卡| 美日韩丰满少妇在线观看| 美日韩精品视频| 欧美精品福利在线| 欧美三区在线视频| 国产毛片精品视频| 国产在线精品一区二区中文| 在线电影欧美日韩一区二区私密| **欧美日韩vr在线| 亚洲欧洲在线看| 亚洲最黄网站| 欧美一级日韩一级| 久久一区二区视频| 欧美成人午夜剧场免费观看| 欧美大片免费看| 亚洲国内精品| 亚洲综合欧美| 久久精品国产精品亚洲精品| 久久精品人人做人人爽| 午夜亚洲福利| 欧美激情中文字幕一区二区| 国产精品成人免费视频 | 国产精品毛片va一区二区三区| 国产一区二区三区免费不卡| 亚洲高清在线播放| 午夜精品久久久久久久久久久久久| 久久精品夜色噜噜亚洲a∨| 亚洲福利电影| 亚洲小视频在线观看| 美女爽到呻吟久久久久| 国产精品国产三级国产专播品爱网 | 永久555www成人免费| 一本到12不卡视频在线dvd| 久久婷婷国产综合精品青草| 亚洲欧洲日产国码二区| 欧美尤物巨大精品爽| 欧美天天影院| 亚洲黄网站黄| 久久久国产精品一区二区三区| 亚洲人成人一区二区在线观看| 欧美一区二区在线播放| 欧美了一区在线观看| 伊人狠狠色j香婷婷综合| 校园春色综合网| 日韩视频在线观看国产| 久久久中精品2020中文| 国产伦精品一区二区三区视频黑人| 亚洲另类视频|