專(zhuān)利名稱(chēng):對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)程序保護(hù)方法,尤其涉及一種對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,越來(lái)越多的人們通過(guò)網(wǎng)絡(luò)進(jìn)行通信。包括電子郵件、即時(shí)消息在內(nèi)的網(wǎng)絡(luò)通信,使得位于不同地區(qū)的人們,都可以快速及時(shí)的傳遞信息。然而,由于計(jì)算機(jī)病毒更易于在網(wǎng)絡(luò)中傳播,在提供迅速便捷的通信服務(wù)的同時(shí),網(wǎng)絡(luò)也給用戶(hù)帶來(lái)相應(yīng)的煩惱,甚至給用戶(hù)帶來(lái)一定的經(jīng)濟(jì)損失。
例如,近來(lái)出現(xiàn)一種計(jì)算機(jī)病毒。在被該病毒侵害的計(jì)算機(jī)中,該病毒程序可通過(guò)模擬輸入信息的方式,即:通過(guò)模擬用戶(hù)使用鍵盤(pán)或鼠標(biāo)等外部設(shè)備輸入信息的操作方式,產(chǎn)生欺騙信息。當(dāng)用戶(hù)使用染有該病毒的計(jì)算機(jī)向網(wǎng)絡(luò)上的通信對(duì)方發(fā)送即時(shí)消息時(shí),若該欺騙信息被發(fā)送到該通信對(duì)方,則通信對(duì)方將會(huì)誤認(rèn)為該信息是該用戶(hù)輸入的信息。該計(jì)算機(jī)病毒,通過(guò)這種方式,利用通信雙方彼此之間的信賴(lài),甚至可以騙取該通信對(duì)方的銀行帳戶(hù)的信息,從而使用戶(hù)蒙受經(jīng)濟(jì)的損失。發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,包括步驟:接收一個(gè)模擬輸入信息的請(qǐng)求;響應(yīng)于該請(qǐng)求,獲得有關(guān)與該請(qǐng)求相對(duì)應(yīng)的目標(biāo)進(jìn)程的標(biāo)識(shí);根據(jù)該標(biāo)識(shí),確定是否響應(yīng)該請(qǐng)求而執(zhí)行該輸入信息的操作。
該方法可以有效地防止用戶(hù)計(jì)算機(jī)中的病毒程序?qū)⒗媚M輸入方式所產(chǎn)生的欺騙信息發(fā)送給通信的對(duì)方。
本發(fā)明的又一個(gè)目的是提供一種對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,包括步驟:接收一個(gè)欲在目標(biāo)窗口中設(shè)置信息的請(qǐng)求;響應(yīng)于該請(qǐng)求,獲得有關(guān)與該請(qǐng)求相對(duì)應(yīng)的目標(biāo)進(jìn)程的標(biāo)識(shí);根據(jù)該標(biāo)識(shí),確定是否允許在所述目標(biāo)窗口中設(shè)置信息。
該方法可以有效地防止用戶(hù)計(jì)算機(jī)中的病毒程序設(shè)置目標(biāo)窗口中的信息,進(jìn)而阻止病毒程序所產(chǎn)生的欺騙信息發(fā)送給通信的對(duì)方。
以下將參照附圖,通過(guò)實(shí)施例詳細(xì)地描述本發(fā)明,其中:
圖1是一個(gè)流程圖,其示出了按照本發(fā)明一個(gè)實(shí)施例的對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法;
圖2是一個(gè)流程圖,其示出了按照本發(fā)明另一個(gè)實(shí)施例的對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法。
在所有附圖中,相同的標(biāo)號(hào)表示相似或相應(yīng)的特征或功能。
具體實(shí)施方式
按照本發(fā)明的對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,當(dāng)病毒程序通過(guò)模擬外設(shè)輸入信息的方式或者通過(guò)設(shè)置目標(biāo)窗口中信息的方式產(chǎn)生欺騙信息時(shí),只要能夠獲得目標(biāo)進(jìn)程的進(jìn)程號(hào),通過(guò)判斷該目標(biāo)進(jìn)程是否被允許執(zhí)行,便可在該欺騙信息輸入到目標(biāo)進(jìn)程之前進(jìn)行攔截,從而防止通信對(duì)方在收到該欺騙信息后被誤導(dǎo)而受騙。
以下,將結(jié)合具體實(shí)施例,詳細(xì)地描述該對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法。
在Windows操作系統(tǒng)中,除了提供用于處理用戶(hù)利用鼠標(biāo)或鍵盤(pán)等外設(shè)輸入信息的功能模塊外,還提供了可模擬外設(shè)輸入信息并對(duì)該輸入的信息進(jìn)行處理的功能模塊。這種模擬輸入的方式,在例如Windows系統(tǒng)提供的虛擬鍵盤(pán)等輔助輸入的場(chǎng)合被廣泛地應(yīng)用。通常,應(yīng)用程序可通過(guò)調(diào)用操作系統(tǒng)的應(yīng)用層API (Application Program Interface)函數(shù),API函數(shù)進(jìn)一步調(diào)用操作系統(tǒng)的驅(qū)動(dòng)層函數(shù),實(shí)現(xiàn)模擬輸入的操作。因此,若在應(yīng)用層API函數(shù)或驅(qū)動(dòng)層函數(shù)被調(diào)用時(shí),對(duì)相應(yīng)的目標(biāo)進(jìn)程進(jìn)行判斷從而對(duì)目標(biāo)進(jìn)程有選擇地執(zhí)行,則可以有效地?cái)r截病毒程序利用模擬輸入方式輸入的欺騙信息。
圖1是按照本發(fā)明一個(gè)實(shí)施例的應(yīng)用在Windows系統(tǒng)中的當(dāng)驅(qū)動(dòng)層函數(shù)被調(diào)用時(shí)對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法的流程圖。在圖1所示實(shí)施例中,當(dāng)合法程序或病毒程序欲米用模擬輸入方式輸入信息時(shí),將產(chǎn)生一個(gè)模擬輸入信息的請(qǐng)求。響應(yīng)于該請(qǐng)求,API函數(shù)user32.dll! SendInput被調(diào)用。在Windows操作系統(tǒng)中,該API函數(shù)不僅提供了模擬鍵盤(pán)、鼠標(biāo)等外設(shè)自動(dòng)輸入信息的功能,并且還提供了可控制輸入信息內(nèi)容的功能。該應(yīng)用層API函數(shù)user32.dll! SendInput 將進(jìn)一步調(diào)用驅(qū)動(dòng)層函數(shù)Win32k.sys 中的 NtUserSendInput。
下面是該驅(qū)動(dòng)層函數(shù)NtUserSendInput的一個(gè)示例,其參數(shù)可以與該應(yīng)用層API函數(shù) user32.dll! SendInput 的參數(shù)一致。
W32KAPI
UINT
NtUserSe ndInput (
IN UINT clnputs,
IN CONST INPUT*pInputs,
IN int cbSize);
如圖1所示,當(dāng)監(jiān)視到函數(shù)NtUserSendInput被調(diào)用時(shí)(步驟S20),根據(jù)操作系統(tǒng)中可獲得焦點(diǎn)窗口的句柄的函數(shù)NtUserGetActiveWindow,獲得當(dāng)前焦點(diǎn)窗口的句柄(步驟S30)。然后,根據(jù)該句柄,通過(guò)調(diào)用系統(tǒng)函數(shù)中獲得目標(biāo)進(jìn)程標(biāo)識(shí)的函數(shù)NtUserGetWindowThreadProcessID,可獲得目標(biāo)進(jìn)程的標(biāo)識(shí)(步驟S40)。接著,根據(jù)該目標(biāo)進(jìn)程的標(biāo)識(shí),判斷是否響應(yīng)該請(qǐng)求而執(zhí)行該模擬輸入信息的操作(步驟S50)。其中,目標(biāo)進(jìn)程的標(biāo)識(shí)可以是例如 進(jìn)程號(hào)。
判斷步驟S50可進(jìn)一步包括:根據(jù)進(jìn)程號(hào)確定目標(biāo)進(jìn)程是否屬于受保護(hù)的進(jìn)程(步驟S52);根據(jù)目標(biāo)進(jìn)程是否屬于受保護(hù)的進(jìn)程,再確定是否響應(yīng)該請(qǐng)求而執(zhí)行該模擬輸入信息的操作。具體的,若目標(biāo)進(jìn)程屬于受保護(hù)的進(jìn)程,則可根據(jù)用戶(hù)的指示信息或者預(yù)定規(guī)則,有選擇地響應(yīng)該請(qǐng)求而執(zhí)行該模擬輸入信息的操作(步驟S54)。若目標(biāo)進(jìn)程不屬于受保護(hù)的進(jìn)程,則可直接響應(yīng)該請(qǐng)求而執(zhí)行該模擬輸入信息的操作(步驟S56)。
下面,以經(jīng)由應(yīng)用程序QQ( —款流行的網(wǎng)絡(luò)即時(shí)通信應(yīng)用軟件)發(fā)送即時(shí)消息為例,進(jìn)一步說(shuō)明上述保護(hù)目標(biāo)進(jìn)程的方法。當(dāng)用戶(hù)使用一個(gè)感染了病毒的計(jì)算機(jī)時(shí),該病毒程序可利用模擬輸入的方式而生成一個(gè)欺騙信息。如上所述,該欺騙信息可模仿用戶(hù)在QQ對(duì)話(huà)窗口中利用鍵盤(pán)輸入的信息。當(dāng)病毒程序試圖進(jìn)行欺騙信息的輸入時(shí),驅(qū)動(dòng)層函數(shù)NtUserSendInput將被API函數(shù)user32.dll! SendInput調(diào)用。當(dāng)監(jiān)視到該驅(qū)動(dòng)層函數(shù)被調(diào)用時(shí),根據(jù)上述步驟S20和步驟S30可以獲得該QQ對(duì)話(huà)窗口所對(duì)應(yīng)的進(jìn)程的進(jìn)程號(hào),即:目標(biāo)進(jìn)程的進(jìn)程號(hào)。這里,假定QQ對(duì)話(huà)窗口所對(duì)應(yīng)的進(jìn)程屬于受保護(hù)的進(jìn)程。當(dāng)獲得該目標(biāo)進(jìn)程的進(jìn)程號(hào)后,可向用戶(hù)提示:是否執(zhí)行該驅(qū)動(dòng)層函數(shù)以采用模擬輸入方式輸入信息。若此時(shí)用戶(hù)并未在QQ對(duì)話(huà)窗口輸入即時(shí)消息,則用戶(hù)將很容易地判斷出應(yīng)當(dāng)終止執(zhí)行該驅(qū)動(dòng)層函數(shù)。此時(shí),通過(guò)選擇“終止執(zhí)行”的指示,用戶(hù)即可有效地阻止該欺騙信息被輸入到QQ對(duì)話(huà)窗口中。由于病毒程序所產(chǎn)生的欺騙信息不能通過(guò)模擬輸入的方式輸入到對(duì)話(huà)窗口中,因此,按照上述實(shí)施例所述的方法,即使病毒程序可利用模擬輸入的方式觸發(fā)對(duì)話(huà)窗口中的“發(fā)送消息”的按鈕,也不能將欺騙信息發(fā)送出去。
除了根據(jù)用戶(hù)指示終止執(zhí)行驅(qū)動(dòng)層函數(shù)外,還可以預(yù)先規(guī)定在一些情況下將自動(dòng)終止執(zhí)行驅(qū)動(dòng)層函數(shù)。這些情況包括但不限于:根據(jù)采用模擬輸入方式所輸入的信息內(nèi)容,例如:當(dāng)模擬輸入的信息中涉及的網(wǎng)站地址屬于預(yù)先確定的惡意網(wǎng)站的網(wǎng)址時(shí),將停止執(zhí)行該驅(qū)動(dòng)層函數(shù)。
圖1示出了當(dāng)病毒程序通過(guò)模擬外設(shè)輸入信息的方式產(chǎn)生欺騙信息時(shí),如何攔截該欺騙信息的過(guò)程。圖2是本發(fā)明的另一個(gè)實(shí)施例,其示出了當(dāng)病毒程序通過(guò)設(shè)置目標(biāo)窗口中信息的方式產(chǎn)生欺騙信息時(shí),如何攔截該欺騙信息的過(guò)程。
在Windows系統(tǒng)中,提供了可設(shè)置目標(biāo)窗口中信息的功能。與上述模擬外設(shè)輸入的功能相類(lèi)似,該功能也可通過(guò)應(yīng)用層函數(shù)API調(diào)用驅(qū)動(dòng)層函數(shù)來(lái)實(shí)現(xiàn)。
在圖2所示實(shí)施例中,當(dāng)合法程序或病毒程序欲在目標(biāo)窗口中輸入信息時(shí),將產(chǎn)生一個(gè)欲在目標(biāo)窗口中設(shè)置信息的請(qǐng)求。響應(yīng)于該請(qǐng)求,API函數(shù)user32.dll !SendMessage被調(diào)用,且該API函數(shù)中將包括參數(shù)WM_SETTEXT,以表示欲在目標(biāo)窗口中設(shè)置信息。在目標(biāo)窗口中設(shè)置信息的操作可包括:在目標(biāo)窗口中輸入信息或修改目標(biāo)窗口中已輸入的信息等。該應(yīng)用層API函數(shù)user32.dll !SendMessage將進(jìn)一步調(diào)用驅(qū)動(dòng)層函數(shù) Win32k.sys 中的 NtUser MessageCal I。
以下是驅(qū)動(dòng)層函數(shù)NtUserMessageCall的一個(gè)示例,其中,參數(shù)msg的數(shù)值取決于應(yīng)用層 API 函數(shù) user32.dll! SendMessage 中的參數(shù) WM_SETTEXT。
W32KAPI
LRESULT
NtUserMessageCall(
IN HWND hwnd,
IN UINT msg,
IN WPARAM wParam,
IN LPARAM I Par am,
IN UL0NG_PTR xParam,
IN DWORD xpfnProc,
IN BOOL bAnsi);
如圖2所示,當(dāng)監(jiān)視到驅(qū)動(dòng)層函數(shù)NtUserMessageCall被調(diào)用時(shí)(步驟S120),判斷參數(shù)msg的取值是否為WM_SETTEXT,以確定當(dāng)前請(qǐng)求是否為在目標(biāo)窗口中設(shè)置信息的操作請(qǐng)求(步驟S130)。若該參數(shù)msg的取值是WM_SETTEXT,則可根據(jù)該驅(qū)動(dòng)層函數(shù)NtUserMessageCall中的HWND參數(shù)來(lái)獲得目標(biāo)進(jìn)程的標(biāo)識(shí)(步驟S140)。在Windows操作系統(tǒng)中,該HWND參數(shù)表示目標(biāo)窗口所對(duì)應(yīng)的進(jìn)程號(hào)。接著,根據(jù)該目標(biāo)進(jìn)程的標(biāo)識(shí),判斷是否響應(yīng)該請(qǐng)求而執(zhí)行在目標(biāo)窗口中的設(shè)置信息的操作(步驟S150)。
與實(shí)施例1相類(lèi)似的,該判斷步驟S150進(jìn)一步包括:根據(jù)該進(jìn)程號(hào),確定目標(biāo)進(jìn)程是否屬于受保護(hù)的進(jìn)程(步驟S152);根據(jù)該目標(biāo)進(jìn)程是否屬于受保護(hù)的進(jìn)程,再確定是否響應(yīng)該請(qǐng)求而執(zhí)行在目標(biāo)窗口中設(shè)置信息的操作。具體的,若目標(biāo)進(jìn)程屬于受保護(hù)的進(jìn)程,則可根據(jù)用戶(hù)的指示信息或者預(yù)定規(guī)則,有選擇地響應(yīng)該請(qǐng)求而執(zhí)行在目標(biāo)窗口中設(shè)置信息的操作(步驟S154)。若目標(biāo)進(jìn)程不屬于受保護(hù)的進(jìn)程,則可以直接響應(yīng)該請(qǐng)求而執(zhí)行在目標(biāo)窗口中設(shè)置信息的操作(步驟S156)。
以上結(jié)合附圖描述了在Windows操作系統(tǒng)中的兩個(gè)具體實(shí)施例。在這兩個(gè)實(shí)施例中,可分別對(duì)API函數(shù)所調(diào)用的兩個(gè)驅(qū)動(dòng)層函數(shù)進(jìn)行監(jiān)視,通過(guò)當(dāng)驅(qū)動(dòng)層函數(shù)被調(diào)用時(shí)對(duì)目標(biāo)進(jìn)程進(jìn)行識(shí)別,可有選擇地執(zhí)行目標(biāo)進(jìn)程,從而阻止病毒程序所產(chǎn)生的欺騙信息發(fā)送出去。
在實(shí)際應(yīng)用中,不僅可以對(duì)驅(qū)動(dòng)層函數(shù)被調(diào)用時(shí)的目標(biāo)進(jìn)程進(jìn)行監(jiān)視以攔截欺騙信息,也可以對(duì)在特定API函數(shù)被調(diào)用時(shí)相應(yīng)的目標(biāo)進(jìn)程進(jìn)行識(shí)別,以攔截特定病毒程序所產(chǎn)生的欺騙信息。
并且,本發(fā)明的上述對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,不僅適用于本發(fā)明實(shí)施例中所列舉的兩個(gè)驅(qū)動(dòng)層函數(shù),而且也可適用于能夠完成與模擬輸入和在目標(biāo)窗口中設(shè)置信息相同功能的其他驅(qū)動(dòng)層函數(shù)。通過(guò)攔截與這些其他驅(qū)動(dòng)層函數(shù)相對(duì)應(yīng)的目標(biāo)進(jìn)程,也可以有效地阻止欺騙信息被輸入到受保護(hù)的目標(biāo)進(jìn)程中。
另外,在上述兩個(gè)實(shí)施例中,僅對(duì)受保護(hù)的目標(biāo)進(jìn)程描述了如何攔截欺騙信息。但是,隨著病毒程序的繁衍,若出現(xiàn)病毒程序侵害初始定義的不受保護(hù)的目標(biāo)進(jìn)程時(shí),也可適用本發(fā)明的上述根據(jù)識(shí)別的目標(biāo)進(jìn)程攔截欲接收的輸入內(nèi)容的方法來(lái)確定該輸入消息是否具有危險(xiǎn)性。
本發(fā)明的上述對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,不僅適用于Windows操作系統(tǒng),也可以適用于其他的操作系統(tǒng)。
本發(fā)明的上述對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,不僅可以由計(jì)算機(jī)軟件實(shí)現(xiàn),也可以由計(jì)算機(jī)硬件實(shí)現(xiàn),亦可以由計(jì)算機(jī)軟件和硬件結(jié)合來(lái)實(shí)現(xiàn)。當(dāng)采用計(jì)算機(jī)硬件實(shí)現(xiàn)時(shí),組成該對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的裝置的各個(gè)單元,可分別執(zhí)行附圖1和2所示方法流程圖中的各個(gè)步驟。
有益效果
按照本發(fā)明的上述對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法和裝置,當(dāng)病毒程序欲通過(guò)模擬外設(shè)輸入信息的方式或者通過(guò)設(shè)置目標(biāo)窗口中信息的方式產(chǎn)生欺騙信息時(shí),由于針對(duì)病毒程序所產(chǎn)生的模擬輸入信息的請(qǐng)求或設(shè)置目標(biāo)窗口中信息的請(qǐng)求,可以對(duì)與該請(qǐng)求相對(duì)應(yīng)的目標(biāo)進(jìn)程進(jìn)行識(shí)別,因此,可以有選擇地執(zhí)行目標(biāo)進(jìn)程,從而有效地阻止病毒程序所產(chǎn)生的欺騙信息被發(fā)送。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對(duì)上述本發(fā)明所公開(kāi)的對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法和裝置,還可以在不脫離本發(fā)明內(nèi)容的基礎(chǔ)上做出各種改進(jìn)。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附的權(quán)利要求書(shū)的內(nèi)容確定。
權(quán)利要求
1.一種用于對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,包括步驟: (a)接收一個(gè)模擬輸入信息的請(qǐng)求; (b)響應(yīng)于該請(qǐng)求,獲得有關(guān)與該請(qǐng)求相對(duì)應(yīng)的目標(biāo)進(jìn)程的標(biāo)識(shí); (C)根據(jù)該標(biāo)識(shí),確定是否響應(yīng)該請(qǐng)求而執(zhí)行該輸入信息的操作, 其中,步驟(C)包括: (Cl)根據(jù)所述標(biāo)識(shí),判斷所述目標(biāo)進(jìn)程是否屬于受保護(hù)的進(jìn)程; (c2)若所述目標(biāo)進(jìn)程屬于所述受保護(hù)的進(jìn)程,則可有選擇地響應(yīng)所述請(qǐng)求而執(zhí)行所述輸入信息的操作, 其中,步驟(c2)包括: 若所述目標(biāo)進(jìn)程屬于所述受保護(hù)的進(jìn)程,則可根據(jù)一個(gè)預(yù)定規(guī)則或一個(gè)來(lái)自用戶(hù)的指示信息來(lái)確定是否響應(yīng)所述請(qǐng)求而執(zhí)行所述輸入信息的操作。
2.如權(quán)利要求1所述的方法,其中,所述輸入信息的操作是通過(guò)對(duì)驅(qū)動(dòng)層函數(shù)進(jìn)行調(diào)用而實(shí)現(xiàn)的,該方法還包括步驟: 監(jiān)視所述驅(qū)動(dòng)層函數(shù)是否被調(diào)用,以響應(yīng)于所述請(qǐng)求,獲得所述目標(biāo)進(jìn)程的標(biāo)識(shí)。
3.如權(quán)利要求2所述的方法,其中,在Windows系統(tǒng)中,所述驅(qū)動(dòng)層函數(shù)是Win32k.sys中的 NtUserSendInput。
4.如權(quán)利要求3所述的方法,其中所述步驟(b)包括: 調(diào)用系統(tǒng)函數(shù)中可獲得焦點(diǎn)窗口的句柄的函數(shù),以獲得焦點(diǎn)窗口的句柄; 根據(jù)該句柄,調(diào)用系統(tǒng)函數(shù)中可獲得目標(biāo)進(jìn)程標(biāo)識(shí)的函數(shù),以獲得所述目標(biāo)進(jìn)程的標(biāo)識(shí)。
全文摘要
本發(fā)明提供了一種對(duì)目標(biāo)進(jìn)程進(jìn)行保護(hù)的方法,包括步驟接收一個(gè)模擬輸入信息的請(qǐng)求;響應(yīng)于該請(qǐng)求,獲得有關(guān)與該請(qǐng)求相對(duì)應(yīng)的目標(biāo)進(jìn)程的標(biāo)識(shí);根據(jù)該標(biāo)識(shí),確定是否響應(yīng)該請(qǐng)求而執(zhí)行該輸入信息的操作。該方法可以有效地防止用戶(hù)計(jì)算機(jī)中的病毒程序?qū)⒗媚M輸入方式所產(chǎn)生的欺騙信息發(fā)送給通信的對(duì)方。
文檔編號(hào)G06F21/56GK103150505SQ20131003664
公開(kāi)日2013年6月12日 申請(qǐng)日期2007年10月15日 優(yōu)先權(quán)日2007年10月15日
發(fā)明者葉超 申請(qǐng)人:北京瑞星信息技術(shù)有限公司