專利名稱:用于軟件加密的計(jì)算機(jī)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于軟件加密的計(jì)算機(jī)系統(tǒng)及方法。
背景技術(shù):
信息產(chǎn)業(yè)的不斷創(chuàng)新和廣泛應(yīng)用,特別是計(jì)算機(jī)網(wǎng)絡(luò)與通信技術(shù)的快速發(fā)展,使人類沖 破空間與時(shí)間的限制,信息和經(jīng)濟(jì)全球一體化趨勢日益明顯。軟件產(chǎn)業(yè)從20世紀(jì)60年代初開 始興起,現(xiàn)在已經(jīng)成為信息產(chǎn)業(yè)的核心。對(duì)于軟件產(chǎn)業(yè)來說,盜版一直是一個(gè)沉重的話題, 盜版猖獗,使正版用戶減少,軟件開發(fā)者得不到相應(yīng)的經(jīng)濟(jì)回報(bào),沒有繼續(xù)開發(fā)下去的基礎(chǔ) 和動(dòng)力,給軟件開發(fā)者造成經(jīng)濟(jì)損失。 一般而言,軟件的保護(hù)是對(duì)軟件進(jìn)行加密。當(dāng)前流行 的一些軟件加密保護(hù)技術(shù)有序列號(hào)保護(hù)、時(shí)間限制、Key File保護(hù)、加密狗及將軟件與硬
件進(jìn)行關(guān)聯(lián)等方式。這些流行的軟件加密方式很大程度上防止了軟件的盜版,但是這些加密 方式過多的對(duì)加密模塊中的算法進(jìn)行復(fù)雜的設(shè)計(jì)且對(duì)加密模塊進(jìn)行簡單的隱藏,如此一來, 所產(chǎn)生的加密模塊容量大,且在軟件啟動(dòng)的時(shí)候會(huì)比較緩慢。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種用于軟件加密的計(jì)算機(jī)系統(tǒng),其可以利用計(jì)算機(jī)的硬件 信息生成密鑰,并將所生成的密鑰轉(zhuǎn)換成一個(gè)二維條碼,由于二維條碼容量低、占用空間小 的特點(diǎn),使軟件在獲得加密的同時(shí),減少了空間容量,且二維條碼本身具有加密功能,也進(jìn) 一步提高了解密的難度,減少了盜版。
此外,還有必要提供一種用于軟件加密方法,其可以利用計(jì)算機(jī)的硬件信息生成密鑰, 并將所生成的密鑰轉(zhuǎn)換成一個(gè)二維條碼,由于二維條碼容量低、占用空間小的特點(diǎn),使軟件 在獲得加密的同時(shí),減少了空間容量,且二維條碼本身具有加密功能,也進(jìn)一步提高了解密 的難度,減少了盜版。
一種用于軟件加密的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括讀取模塊,用于在軟件進(jìn)行安裝 時(shí),獲取主機(jī)的硬件信息,并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制 碼;生成模塊,用于根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換算成二 進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三二進(jìn)制 碼,及根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一個(gè)新的二進(jìn)制碼,該二 進(jìn)制碼稱為第四二進(jìn)制碼;轉(zhuǎn)換模塊,用于將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼;保存模塊,用于將二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密。
一種軟件加密方法,該方法包括如下步驟在軟件進(jìn)行安裝時(shí),獲取主機(jī)的硬件信息, 并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制碼;根據(jù)所述硬件信息及通
過加密算法生成一個(gè)密鑰,并將該密鑰換算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加
密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三二進(jìn)制碼;根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼 及第三二進(jìn)制碼生成一個(gè)新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼;將所述第四二進(jìn)制 碼轉(zhuǎn)換成一個(gè)二維條碼;將所述二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密。
相較于現(xiàn)有技術(shù),所述的軟件加密的計(jì)算機(jī)系統(tǒng)及方法,其可以利用計(jì)算機(jī)的硬件信息 生成密鑰,并將所生成的密鑰轉(zhuǎn)換成一個(gè)二維條碼,由于二維條碼容量低、占用空間小的特 點(diǎn),使軟件在獲得加密的同時(shí),減少了空間容量,且二維條碼本身具有加密功能,也進(jìn)一步 提高了解密的難度,減少了盜版。
圖l是本發(fā)明用于軟件加密的計(jì)算機(jī)系統(tǒng)的較佳實(shí)施例的硬件框架圖。
圖2是本發(fā)明圖1中主機(jī)的較佳實(shí)施例的功能模塊圖。
圖3是本發(fā)明軟件加密方法的較佳實(shí)施例的流程圖。
具體實(shí)施例方式
如圖1所示,是本發(fā)明一種用于軟件加密的計(jì)算機(jī)系統(tǒng)較佳實(shí)施例的硬件架構(gòu)圖。該計(jì) 算機(jī)系統(tǒng)主要包括顯示器l、主機(jī)2、鍵盤3及鼠標(biāo)4。所述主機(jī)2連接有顯示器1、鍵盤3及鼠 標(biāo)4,用作具體操作時(shí)的輸入、輸出設(shè)備。
如圖2所示,是本發(fā)明圖l中主機(jī)的較佳實(shí)施例的功能模塊圖。該主機(jī)包括獲取模塊210 、生成模塊211、轉(zhuǎn)換模塊212及保存模塊213。
所述讀取模塊210用于在軟件進(jìn)行安裝時(shí),獲取主機(jī)2的硬件信息,并將所述硬件信息換 算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制碼。在本較佳實(shí)施例中,所述主機(jī)2的硬件包括 主機(jī)2的MAC (Media Access Control:介質(zhì)訪問控制)地址、主機(jī)2的IP地址。具體而言, 由于操作系統(tǒng)中有包含硬件信息的模塊,獲取模塊210通過讀取操作系統(tǒng)中包含硬件信息模 塊中的數(shù)據(jù)就可以得到所述主機(jī)2的MAC地址及主機(jī)2的IP地址。由于所述MAC地址、IP地址都 是字符串,根據(jù)二進(jìn)制的運(yùn)算法則可以將所述MAC地址、IP地址換算成對(duì)應(yīng)的二進(jìn)制碼。
所述生成模塊211用于根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換 算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三 二進(jìn)制碼。所述密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的數(shù)據(jù),通過加密算法得到,在本較佳實(shí)施例中,所述的加密算法是指哈希(Hash)算法, 在其他實(shí)施例中,也可以利用其它類型的加密算法(如,數(shù)據(jù)加密標(biāo)準(zhǔn)算法Data Encryption Standard)得到密鑰。產(chǎn)生密鑰的方式是通過Hash算法將所述硬件信息轉(zhuǎn)換成 一個(gè)Hash值,該Hash值就是密鑰,通常,為了提高安全性能,提高破解的難度,用戶可以對(duì) 所述Hash值按照一定規(guī)則再次進(jìn)行轉(zhuǎn)換,得到一個(gè)新的Hash值,則該新的Hash值就是密鑰。 具體而言,假設(shè)通過Hash算法將所述硬件信息轉(zhuǎn)換成的Hash值為1234,若用戶沒有對(duì)該 Hash進(jìn)行轉(zhuǎn)換,則該Hash值1234即為密鑰,若用戶設(shè)定一個(gè)規(guī)則(如把該Hash值轉(zhuǎn)變成 4321)再次進(jìn)行轉(zhuǎn)換,則轉(zhuǎn)變后的Hash值4321即為密鑰。通常,加密算法在運(yùn)行時(shí),最終都 會(huì)轉(zhuǎn)換成二進(jìn)制機(jī)器語言,通過轉(zhuǎn)換后的二進(jìn)制機(jī)器語言來執(zhí)行該算法。所述的加密算法在 運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼是指轉(zhuǎn)換后的二進(jìn)制機(jī)器語言。
所述生成模塊211還用于根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一 個(gè)新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼。所述第四二進(jìn)制碼的生成方式是將第一二 進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼進(jìn)行組合,得到一個(gè)二進(jìn)制碼。組合的方式可以是將 三個(gè)二進(jìn)制碼按照順序連接,具體而言,假設(shè)第一二進(jìn)制碼為0000,第二二進(jìn)制碼為llll, 第三二進(jìn)制碼為1001,則組合后生成的第四二進(jìn)制碼為000011111001。
所述轉(zhuǎn)換模塊212用于將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼。所述二維條碼( 2-dimensional bar code) 是用一種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分 布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息的;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基 礎(chǔ)的"0" 、 "1"比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字?jǐn)?shù)值信 息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理,每種碼制有其特定的 字符集,每個(gè)字符占有一定的寬度,具有一定的校驗(yàn)功能等。二維條碼還具有對(duì)不同行的信 息自動(dòng)識(shí)別功能、及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。二維條碼能夠在橫向和縱向兩個(gè)方位同時(shí)表 達(dá)信息,因此能在很小的面積內(nèi)表達(dá)大量的信息。
所述保存模塊213用于將所述二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密
經(jīng)過加密后的軟件,用戶在運(yùn)行該軟件的時(shí)候,首先讀取主機(jī)2上的硬件信息的二進(jìn)制 碼,之后在該軟件的安裝目錄下找到二維條碼,對(duì)該二維條碼進(jìn)行解密得到上述第四二進(jìn)制 碼,由于第四二進(jìn)制碼中包含第一二進(jìn)制碼,根據(jù)組合第四二進(jìn)制碼的規(guī)則,從中解密出第 一二進(jìn)制碼,將解密出來的第一二進(jìn)制碼與所述讀取的主機(jī)2中硬件信息的二進(jìn)制碼進(jìn)行比 對(duì),若不一致,則該軟件在運(yùn)行一段時(shí)間后,自動(dòng)退出,若一致,則該軟件繼續(xù)運(yùn)行。用戶在對(duì)二維條碼的解密過程中,若解密錯(cuò)誤,S卩從二維條碼中解密出來的第一二進(jìn)制碼與主 機(jī)2上的硬件信息的二進(jìn)制碼不一致,則會(huì)返回錯(cuò)誤的數(shù)據(jù)值以供該軟件繼續(xù)執(zhí)行一段時(shí)間 后再報(bào)錯(cuò)誤信息,之后自動(dòng)退出,這樣使破解者無法找到軟件破解入口 。
如圖3所示,是本發(fā)明軟件加密方法的較佳實(shí)施例的流程圖。首先,步驟SIO,在軟件進(jìn) 行安裝時(shí),獲取模塊210獲取主機(jī)2的硬件信息并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制 碼稱為第一二進(jìn)制碼。在本較佳實(shí)施例中,所述主機(jī)2的硬件包括主機(jī)2的MAC (Media Access Control:介質(zhì)訪問控制)地址、主機(jī)2的IP地址。具體而言,由于操作系統(tǒng)中有包 含硬件信息的模塊,獲取模塊210通過讀取操作系統(tǒng)中包含硬件信息模塊中的數(shù)據(jù)就可以得 到所述主機(jī)2的MAC地址及主機(jī)2的IP地址。由于所述MAC地址、IP地址都是字符串,根據(jù)二進(jìn) 制的運(yùn)算法則可以將所述MAC地址、IP地址換算成對(duì)應(yīng)的二進(jìn)制碼。
步驟Sll,生成模塊211根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換 算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三 二進(jìn)制碼。所述密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入 的數(shù)據(jù),通過加密算法得到,在本較佳實(shí)施例中,所述的加密算法是指哈希(Hash)算法, 在其他實(shí)施例中,也可以利用其它類型的加密算法(如,數(shù)據(jù)加密標(biāo)準(zhǔn)算法Data Encryption Standard)得到密鑰。產(chǎn)生密鑰的方式是通過Hash算法將所述硬件信息轉(zhuǎn)換成 一個(gè)Hash值,該Hash值就是密鑰,通常,為了提高安全性能,提高破解的難度,用戶可以對(duì) 所述Hash值按照一定規(guī)則再次進(jìn)行轉(zhuǎn)換,得到一個(gè)新的Hash值,則該新的Hash值就是密鑰。 具體而言,假設(shè)通過Hash算法將所述硬件信息轉(zhuǎn)換成的Hash值為1234,若用戶沒有對(duì)該 Hash進(jìn)行轉(zhuǎn)換,則該Hash值1234即為密鑰,若用戶設(shè)定一個(gè)規(guī)則(如把該Hash值轉(zhuǎn)變成 4321)再次進(jìn)行轉(zhuǎn)換,則轉(zhuǎn)變后的Hash值4321即為密鑰。通常,加密算法在運(yùn)行時(shí),最終都 會(huì)轉(zhuǎn)換成二進(jìn)制機(jī)器語言,通過轉(zhuǎn)換后的二進(jìn)制機(jī)器語言來執(zhí)行該算法。所述的加密算法在 運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼是指轉(zhuǎn)換后的二進(jìn)制機(jī)器語言。
步驟S12,生成模塊211根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一個(gè) 新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼。所述第四二進(jìn)制碼的生成方式是將第一二進(jìn) 制碼、第二二進(jìn)制碼及第三二進(jìn)制碼進(jìn)行組合,得到一個(gè)二進(jìn)制碼。具體而言,在本較佳實(shí) 施例中,假設(shè)第一二進(jìn)制碼為0101,第二二進(jìn)制碼為Olll,第三二進(jìn)制碼為llll,則組合后 生成的第四二進(jìn)制碼為010101111111。
步驟S13,轉(zhuǎn)換模塊212將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼。所述二維條碼( 2-dimensional bar code) 是用一種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分
7布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息的;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基 礎(chǔ)的"0" 、 "1"比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字?jǐn)?shù)值信 息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理,每種碼制有其特定的 字符集,每個(gè)字符占有一定的寬度,具有一定的校驗(yàn)功能等。二維條碼還具有對(duì)不同行的信 息自動(dòng)識(shí)別功能、及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。二維條碼能夠在橫向和縱向兩個(gè)方位同時(shí)表 達(dá)信息,因此能在很小的面積內(nèi)表達(dá)大量的信息。二維條碼的類型包括堆疊式二維條碼、矩 陣式二維條碼,在本較佳實(shí)施例中,所述二維條碼是矩陣式二維條碼。
步驟S14,保存模塊213將所述二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密
經(jīng)過加密后的軟件,用戶在運(yùn)行該軟件的時(shí)候,首先讀取主機(jī)2上的硬件信息的二進(jìn)制 碼,之后在該軟件的安裝目錄下找到二維條碼,對(duì)該二維條碼進(jìn)行解密得到上述第四二進(jìn)制 碼,由于第四二進(jìn)制碼中包含第一二進(jìn)制碼,根據(jù)組合第四二進(jìn)制碼的規(guī)則,從中解密出第 一二進(jìn)制碼,將解密出來的第一二進(jìn)制碼與所述讀取的主機(jī)2中硬件信息的二進(jìn)制碼進(jìn)行比 對(duì),若不一致,則該軟件在運(yùn)行一段時(shí)間后,自動(dòng)退出,若一致,則該軟件繼續(xù)運(yùn)行。用戶 在對(duì)二維條碼的解密過程中,若解密錯(cuò)誤,S卩從二維條碼中解密出來的第一二進(jìn)制碼與主 機(jī)2上的硬件信息的二進(jìn)制碼不一致,則會(huì)返回錯(cuò)誤的數(shù)據(jù)值以供該軟件繼續(xù)執(zhí)行一段時(shí)間 后再報(bào)錯(cuò)誤信息,之后自動(dòng)退出,這樣使破解者無法找到軟件破解入口 。
最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照以上 較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技 術(shù)方案進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種用于軟件加密的計(jì)算機(jī)系統(tǒng),其特征在于,該計(jì)算機(jī)系統(tǒng)包括讀取模塊,用于在軟件進(jìn)行安裝時(shí),獲取主機(jī)的硬件信息,并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制碼;生成模塊,用于根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三二進(jìn)制碼,及根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一個(gè)新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼;轉(zhuǎn)換模塊,用于將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼;及保存模塊,用于將二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密。
2.如權(quán)利要求l所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述主機(jī)的硬件信息是指主機(jī)的MAC地址及IP地址。
3.如權(quán)利要求l所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述加密算法為Hash算法。
4.如權(quán)利要求l所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述二維條碼是矩陣式二維條碼。
5.一種軟件加密方法,其特征在于,該方法包括如下步驟在軟件進(jìn)行安裝時(shí),獲取主機(jī)的硬件信息,并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制碼;根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三二進(jìn)制碼;根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一個(gè)新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼;將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼;及將所述二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密。
6 如權(quán)利要求5所述的軟件加密方法,其特征在于,所述主機(jī)的硬件信息是指主機(jī)的MAC地址及IP地址。
7 如權(quán)利要求5所述的軟件加密方法,其特征在于,所述加密算法為Hash算法。
8 如權(quán)利要求5所述的軟件加密方法,其特征在于,所述二維條碼是矩陣式二維條碼。
全文摘要
一種軟件加密的方法,該方法包括如下步驟在軟件進(jìn)行安裝時(shí),獲取主機(jī)的硬件信息,并將所述硬件信息換算成二進(jìn)制碼,該二進(jìn)制碼稱為第一二進(jìn)制碼;根據(jù)所述硬件信息及通過加密算法生成一個(gè)密鑰,并將該密鑰換算成二進(jìn)制碼,該二進(jìn)制碼稱為第二二進(jìn)制碼,加密算法在運(yùn)算時(shí)對(duì)應(yīng)的二進(jìn)制碼稱為第三二進(jìn)制碼;根據(jù)所述第一二進(jìn)制碼、第二二進(jìn)制碼及第三二進(jìn)制碼生成一個(gè)新的二進(jìn)制碼,該二進(jìn)制碼稱為第四二進(jìn)制碼;將所述第四二進(jìn)制碼轉(zhuǎn)換成一個(gè)二維條碼;將所述二維條碼保存到安裝該軟件的目錄下,實(shí)現(xiàn)對(duì)該軟件加密。
文檔編號(hào)G06F21/00GK101604362SQ20081030214
公開日2009年12月16日 申請(qǐng)日期2008年6月13日 優(yōu)先權(quán)日2008年6月13日
發(fā)明者常春明 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司