lnk

lnk

lnk檔案是用於指向其他檔案的一種檔案。 這些檔案通常稱為捷徑檔案,通常它以捷徑放在硬碟上,以方便使用者快速的調用。

基本信息

相關信息

Windows

windows的很多lnk檔案(也就是捷徑)都是帶有參數的。

/play—在打開連線後自動運行媒體檔案

"%1" —打開連線後自動出現檔案選取框選擇檔案

/Play "%L" —打開winamp後自動出現List選擇框選擇檔案播放列表

“.lnk”是WINDOWS系統默認的捷徑的擴展名,如果“資料夾選項”下設定為“隱藏已知檔案類型的擴展名”,正常情況下“.lnk”是不顯示的。你的捷徑的擴展名顯現出來,證明WINDOWS設定被中斷,捷徑為不可識別信息。

修複方法

(1)點擊“開始”→“運行”,鍵入“cmd”,進入命令提示符狀態,用鍵盤敲入assoc.lnk=lnkfile(中間無空格),按回車即可。

lnk lnk

操作失誤:如果修改捷徑之後,反而是成了這個模樣,那一定是命令有誤,或者沒有注意最後不能有空格的提示,只要重新輸入正確的修復捷徑的命令即可。這時不要懷疑命令的正確性,只是多了一個空格而已。繼續在命令提示符視窗中按一下F3鍵(這樣會自動去除多餘的空格),回車執行命令就好了。

(2)點擊“開始”→“運行”,鍵入“regedit”,進入註冊表,搜尋“HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\”下的“.lnk”鍵,修改其值為“lnkfile”,保存即可。

兩種辦法本質一樣,如果你不懂註冊表建議採用第一種方法

______________________________________

WIN7系統電腦除了計算機,網路,資源回收筒以外的圖示都變成後綴為lnk的檔案了,也就是打開捷徑 的時候用別的程式打開後所有捷徑都變化的情況。

步驟1:Windows vista\Windows 7 作業系統修複方法.......1、首先 win開始鍵+r 2、打開運行程式 3、輸入: regedit 4、找到: 計算機\HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\currentversion\Explorer\FileExts\.lnk會發現有openwithlist 和 openwithprogids 兩項,如果有其他的選項將其刪除5、再將openwithlist 內的除默認以外的所有鍵值都刪除6、將openwithprogids內的除默認和lnkfile以外的所有鍵值都刪除.7、保存退出即可。

如何通過lnk檔案獲取該檔案的執行路徑和程式

function LinkFileInfo(const lnkFileName:string;var info:LINK_FILE_INFO;const bSet:boolean):boolean;

var

hr:hresult;

psl:IShelllink;

wfd:win32_find_data;

ppf:IPersistFile;

lpw:pwidechar;

buf:pwidechar;

begin

result:=false;

getmem(buf,MAX_PATH);

try

if SUCCEEDED(CoInitialize(nil)) then

if (succeeded(cocreateinstance(clsid_shelllink,nil,clsctx_inproc_server,IID_IShellLinkA,psl))) then

begin

hr:=psl.QueryInterface(iPersistFile,ppf);

if succeeded(hr) then

begin

lpw:=stringtowidechar(lnkfilename,buf,MAX_PATH);

hr := ppf.Load(lpw, STGM_READ);

if succeeded(hr) then

begin

hr := psl.Resolve(0, SLR_NO_UI);

if succeeded(hr) then

begin

if bSet then

begin

psl.SetArguments(info.Arguments);

psl.SetDescription(info.Description);

psl.SetHotkey(info.HotKey);

psl.SetIconLocation(info.IconLocation,info.IconIndex);

psl.SetIDList(info.ItemIDList);

psl.SetPath(info.FileName);

psl.SetShowCmd(info.ShowState);

psl.SetRelativePath(info.RelativePath,0);

psl.SetWorkingDirectory(info.WorkDirectory);

if succeeded(psl.Resolve(0,SLR_UPDATE)) then

result:=true;

end

else

begin

psl.GetPath(info.FileName,MAX_PATH, wfd,SLGP_SHORTPATH );

psl.GetIconLocation(info.IconLocation,MAX_PATH,info.IconIndex);

psl.GetWorkingDirectory(info.WorkDirectory,MAX_PATH);

psl.GetDescription(info.Description,CCH_MAXNAME);

psl.GetArguments(info.Arguments,MAX_PATH);

psl.GetHotkey(info.HotKey);

psl.GetIDList(info.ItemIDList);

psl.GetShowCmd(info.ShowState);

result:=true;

end;

end;

end;

end;

end;

finally

freemem(buf);

end;

end;

//*******************調用*****************

showmessage(\'FileName:\'+info.filename+#13+\'Description:\'+info.Description+#13+\'IconFilename:\'+info.IconLocation+\',\'+inttostr(info.IconIndex)+

#13+\'WordDir:\'+info.WorkDirectory+#13+\'Arguments:\'+info.Arguments+#13+\'ShorCuts:\'+shortcuttotext(s));

info.WorkDirectory:=\'D:\\Borland\\Delphi5\\projects\';

linkfileinfo(opendialog1.filename,info,true);

end;

end;

==============================================

function GetLinkFileName(sLinkFileName: string; var sTargetFileName: string): boolean;

var

psl: IShellLink;

ppf: IPersistFile;

hres, nLen: integer;

pfd: TWin32FindData;

pTargetFile: PChar;

pwLinkFileName: PWideChar;

begin

Result := false;

if SUCCEEDED(CoInitialize(nil)) then

begin

CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl);

if (SUCCEEDED(hres)) then

begin

hres := psl.QueryInterface(IID_IPersistFile, ppf);

if (SUCCEEDED(hres)) then

begin

nLen := MultiByteToWideChar(CP_ACP, 0, PChar(sLinkFileName), -1, pwLinkFileName, 0);

GetMem(pwLinkFileName, nLen);

ZeroMemory(pwLinkFileName, nLen);

MultiByteToWideChar(CP_ACP, 0, PChar(sLinkFileName), -1, pwLinkFileName, nLen);

ppf.Load(pwLinkFileName, STGM_READ);

GetMem(pTargetFile, MAX_PATH);

ZeroMemory(pTargetFile, MAX_PATH);

hres := psl.GetPath(pTargetFile, MAX_PATH, pfd, SLGP_UNCPRIORITY );

if (SUCCEEDED(hres)) then

begin

sTargetFileName := StrPas(pTargetFile);

Result := true;

end;

FreeMem(pTargetFile);

FreeMem(pwLinkFileName);

end;

end;

end;

end;

漏洞

2010年7月16日,Windows捷徑自動執行0day漏洞[CVE-2010-2568](微軟安全知識庫編 號2286198)被披露,很快網上已經可以找到利用這個漏洞攻擊的樣本。利用Windows捷徑自動執行0day漏洞可以做到:看一眼惡意軟體就中 毒,而根本不需要去執行它。金山毒霸安全實驗室預計在未來一段時間,這個漏洞將會被廣泛使用,網民須高度重視。

攻擊者利用Windows捷徑自動執行0day漏洞,可以製作一個特殊的lnk檔案(LNK是捷徑檔案的擴展名),當Windows解析這個 LNK檔案時,會自動執行指定的惡意程式。這個漏洞最佳利用通道是隨身碟、移動硬碟、數碼存儲卡,也可以是本地磁碟或網路已分享檔案夾,當隨身碟或網路已分享檔案 夾存在這樣的攻擊程式時,只需要使用資源管理器,或與資源管理器類似的應用程式查看這個資料夾,不需要手動運行病毒程式,病毒自己就會觸發。

這個漏洞最令人吃驚的地方在於,“不需要雙擊病毒檔案,僅看一眼檔案圖示就中毒”。幾年前,曾經有個叫“新歡樂時光 (VBS.KJ)”的病毒廣為流傳,VBS.KJ病毒會在每個資料夾下生成desktop.ini和folder.htt檔案(這兩個檔案控制了資料夾在 資源管理器中的顯示)。只要打開被病毒修改過的含有desktop.ini和folder.htt的資料夾,不需要雙擊病毒,看一眼就中毒。現在和新歡樂 時光傳播類似的病毒將要出現了,儘管我們現在還沒有看到很多病毒作者利用Windows捷徑漏洞傳播,但相信這種病毒攻擊一定會有。

Windows捷徑自動執行0day漏洞存在所有流行的Windows版本,包括尚未公開發布的Windows 7 SP1 beta和Windows 2008 R2 SP1 beta。意味著,這個風險幾乎遍布所有安裝了Windows的電腦。

防止這個漏洞被利用,微軟方面提供了幾個 暫時緩解的方案

1.關閉捷徑圖示的顯示,不過這會讓Windows界面變得奇醜,因為一個個漂亮的桌面圖示和開始選單圖示全都不顯示了。

2.建議企業用戶關閉WebClient服務,個人用戶(一般不使用網路共享資源)可以不必考慮這個問題。

3.關閉隨身碟自動播放可以避免插上隨身碟的動作就中毒,只有手動查看資料夾才有風險。

4.以受限用戶許可權運行計算機可以降低風險

對於喜歡使用各種Windows美化版的用戶來說,可能麻煩更大一些,這些美化版大都修改了shell32.dll,針對這個Windows 捷徑自動執行0day漏洞的修補程式,可能去修補shell32.dll,可能會讓這些美化版出現一些問題。倘若這些真的發生了,那些使用美化版的盜 版Windows用戶也許會拒絕這個重要的安全補丁,從而加劇利用此漏洞的病毒傳播。

這是一個需要安全廠商和所有消費者高度關注的安全漏洞,希望微軟能在下一個例行補丁日到來之前提供應急補丁。金山毒霸安全實驗室提供以下臨時的緊急解決方案:

1.根本上解決,必須安裝Windows補丁程式。待微軟官方更新之後,用戶須立即使用金山衛士或Windows Update安裝補丁。

2.臨時解決辦法:安裝金山網盾,升級後,獲得對lnk漏洞(捷徑漏洞)的免疫能力。

3.安裝金山毒霸2011安全套裝,檢查隨身碟存儲的檔案,及時清理隨身碟中的病毒。

4.網管宜加強區域網路共享許可權的管理,關閉不受控的完全共享,避免病毒檔案在區域網路已分享檔案夾中傳播。

lnk病毒

lnk病毒 lnk病毒

一打開程式,如ttplayer.exe,就會在程式目錄下及任務管理器中生成

ttplayer.exe.lnk

ttplayer.exe.lnk.lnk

ttplayer.exe.lnk.lnk.lnk

ttplayer.exe.lnk.lnk.lnk.lnk

ttplayer.exe.lnk.lnk.lnk.lnk.lnk

……

重灌系統也沒用。

處理方法

這個是最新的lnk病毒,不同於之前的lnk捷徑病毒。

這個病毒有感染次數限制,忘了是18次還是14次了。第一次發現就不要操作了,否則很變態一個病毒。等著防毒軟體更新入庫吧。

臨時處理方法:

講最後的那個(也就是最長的那個)lnk,複製後保存。(很重要)

然後在任務管理器中將其他的(不包括最長那個)的那些lnk都終止進程。

然後將最後那個lnk改名,一定要改名。

然後使用金山網盾(百度搜尋“金山網盾”。第一個連結就是)

用裡面的一鍵修復功能處理之後重啟。

相關詞條

相關搜尋

熱門詞條

聯絡我們