複製鏈接
請複製以下鏈接發送給好友

lnk

鎖定
lnk文件是用於指向其他文件的一種文件。 這些文件通常稱為快捷方式文件,通常它以快捷方式放在硬盤上,以方便使用者快速的調用。
中文名
lnk
指    向
其他文件的一種文件
稱    為
快捷方式文件
安    裝
Windows補丁程序

lnk基本信息

lnkWindows

windows的很多lnk文件(也就是快捷方式)都是帶有參數的。
/play—在打開連接後自動運行媒體文件
"%1" —打開連接後自動出現文件選取框選擇文件
/Play "%L" —打開winamp後自動出現List選擇框選擇文件播放列表
“.lnk”是WINDOWS系統默認的快捷方式的擴展名,如果“文件夾選項”下設置為“隱藏已知文件類型的擴展名”,正常情況下“.lnk”是不顯示的。你的快捷方式的擴展名顯現出來,證明WINDOWS設置被中斷,快捷方式為不可識別信息

lnk修復方法

(1)點擊“開始”→“運行”,鍵入“cmd”,進入命令提示符狀態,用鍵盤敲入assoc.lnk=lnkfile(中間無空格),按回車即可。
lnk lnk
操作失誤:如果修改快捷方式之後,反而是成了這個模樣,那一定是命令有誤,或者沒有注意最後不能有空格的提示,只要重新輸入正確的修復快捷方式的命令即可。這時不要懷疑命令的正確性,只是多了一個空格而已。繼續在命令提示符窗口中按一下F3鍵(這樣會自動去除多餘的空格),回車執行命令就好了。 [1] 
(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;

lnk漏洞

2010年7月16日,Windows快捷方式自動執行0day漏洞[CVE-2010-2568](微軟安全知識庫編 號2286198)被披露,很快網上已經可以找到利用這個漏洞攻擊的樣本。利用Windows快捷方式自動執行0day漏洞可以做到:看一眼惡意軟件就中 毒,而根本不需要去執行它。金山毒霸安全實驗室預計在未來一段時間,這個漏洞將會被廣泛使用,網民須高度重視。
攻擊者利用Windows快捷方式自動執行0day漏洞,可以製作一個特殊的lnk文件(LNK是快捷方式文件的擴展名),當Windows解析這個 LNK文件時,會自動執行指定的惡意程序。這個漏洞最佳利用通道是U盤移動硬盤、數碼存儲卡,也可以是本地磁盤或網絡共享文件夾,當U盤或網絡共享文件 夾存在這樣的攻擊程序時,只需要使用資源管理器,或與資源管理器類似的應用程序查看這個文件夾,不需要手動運行病毒程序,病毒自己就會觸發。
這個漏洞最令人吃驚的地方在於,“不需要雙擊病毒文件,僅看一眼文件圖標就中毒”。幾年前,曾經有個叫“新歡樂時光 (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.關閉U盤自動播放可以避免插上U盤的動作就中毒,只有手動查看文件夾才有風險。
4.以受限用户權限運行計算機可以降低風險
對於喜歡使用各種Windows美化版的用户來説,可能麻煩更大一些,這些美化版大都修改了shell32.dll,針對這個Windows 快捷方式自動執行0day漏洞的修補程序,可能去修補shell32.dll,可能會讓這些美化版出現一些問題。倘若這些真的發生了,那些使用美化版的盜 版Windows用户也許會拒絕這個重要的安全補丁,從而加劇利用此漏洞的病毒傳播。
這是一個需要安全廠商和所有消費者高度關注的安全漏洞,希望微軟能在下一個例行補丁日到來之前提供應急補丁。金山毒霸安全實驗室提供以下臨時的緊急解決方案:
1.根本上解決,必須安裝Windows補丁程序。待微軟官方更新之後,用户須立即使用金山衞士Windows Update安裝補丁。
2.臨時解決辦法:安裝金山網盾,升級後,獲得對lnk漏洞(快捷方式漏洞)的免疫能力。
3.安裝金山毒霸2011安全套裝,檢查U盤存儲的文件,及時清理U盤中的病毒。
4.網管宜加強局域網共享權限的管理,關閉不受控的完全共享,避免病毒文件在局域網共享文件夾中傳播。

lnk病毒

lnk病毒
lnk病毒(1張)
一打開程序,如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病毒,不同於之前的lnk快捷方式病毒。
這個病毒有感染次數限制,忘了是18次還是14次了。第一次發現就不要操作了,否則很變態一個病毒。等着殺毒軟件更新入庫吧。
臨時處理方法
講最後的那個(也就是最長的那個)lnk,複製後保存。(很重要)
然後在任務管理器中將其他的(不包括最長那個)的那些lnk都終止進程。
然後將最後那個lnk改名,一定要改名。
然後使用金山網盾百度搜索“金山網盾”。第一個鏈接就是)
用裏面的一鍵修復功能處理之後重啓。
參考資料