一種進(jìn)程隱藏方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及進(jìn)程管理技術(shù)領(lǐng)域,特別涉及一種進(jìn)程隱藏方法及裝置。
【背景技術(shù)】
[0002] 目前,用戶希望查看Linux系統(tǒng)下的所有進(jìn)程時(shí),均通過系統(tǒng)命令如ps命令或top 命令查找到;這就使得任何人都可以很容易地找到需要查看的進(jìn)程,并輕易地進(jìn)行修改。這 導(dǎo)致進(jìn)程的安全性無法得到確保,尤其對于比較重要的進(jìn)程而言,用戶常常不希望其他用 戶隨意查看或修改,這容易給用戶帶來很大困擾。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供一種進(jìn)程隱藏方法及裝置,通過將不希望被他人查看或修改的進(jìn)程的 進(jìn)程號賦值為零,能夠?qū)⑦@些進(jìn)程進(jìn)行隱藏,從而確保這些進(jìn)程的使用安全性。
[0004] 本發(fā)明提供一種進(jìn)程隱藏方法,包括:在Linux系統(tǒng)下,生成進(jìn)程模塊;
[0005] 使用第一變量將需隱藏的目標(biāo)進(jìn)程的目標(biāo)進(jìn)程號保存在所述進(jìn)程模塊中;
[0006] 運(yùn)行所述進(jìn)程模塊,并根據(jù)所述目標(biāo)進(jìn)程號獲取所述目標(biāo)進(jìn)程的所屬目標(biāo)工作任 務(wù);
[0007] 判斷所述目標(biāo)工作任務(wù)是否為空;
[0008] 當(dāng)所述目標(biāo)工作任務(wù)不為空時(shí),將所述第一變量的目標(biāo)進(jìn)程號用第二變量進(jìn)行保 存,并將用于表示所述目標(biāo)進(jìn)程號的第一變量賦值為零。
[0009] 在一個(gè)實(shí)施例中,所述方法還包括:
[0010] 在卸載所述進(jìn)程模塊時(shí),將使用所述第二變量保存的所述目標(biāo)進(jìn)程號重新賦值給 所述第一變量。
[0011] 在一個(gè)實(shí)施例中,所述方法還包括:
[0012] 使用第三變量將需隱藏的目標(biāo)進(jìn)程的目標(biāo)進(jìn)程名稱保存在所述進(jìn)程模塊中。
[0013] 在一個(gè)實(shí)施例中,所述在卸載所述進(jìn)程模塊時(shí),將使用所述第二變量保存的所述 目標(biāo)進(jìn)程號重新賦值給所述第一變量,包括:
[0014] 獲取所述進(jìn)程模塊的系統(tǒng)鏈表;
[0015] 獲取所述系統(tǒng)鏈表中的每個(gè)工作任務(wù)及每個(gè)所述工作任務(wù)的名稱;
[0016] 將每個(gè)所述工作任務(wù)的名稱與所述第三變量的目標(biāo)進(jìn)程名稱進(jìn)行比較;
[0017] 根據(jù)比較結(jié)果確定所述系統(tǒng)鏈表中的目標(biāo)進(jìn)程,并將使用所述第二變量保存的所 述目標(biāo)進(jìn)程號重新賦值給所述第一變量。
[0018] 在一個(gè)實(shí)施例中,所述根據(jù)比較結(jié)果確定所述系統(tǒng)鏈表中的目標(biāo)進(jìn)程,包括:
[0019] 當(dāng)一個(gè)工作任務(wù)的名稱與第三變量的目標(biāo)進(jìn)程名稱相同時(shí),確定所述一個(gè)工作任 務(wù)為所述目標(biāo)進(jìn)程。
[0020] 本發(fā)明還提供一種進(jìn)程隱藏裝置,包括:生成模塊,用于在Linux系統(tǒng)下,生成進(jìn) 程模塊;
[0021] 第一保存模塊,用于使用第一變量將需隱藏的目標(biāo)進(jìn)程的目標(biāo)進(jìn)程號保存在所述 進(jìn)程模塊中;
[0022] 第一處理模塊,用于運(yùn)行所述進(jìn)程模塊,并根據(jù)所述目標(biāo)進(jìn)程號獲取所述目標(biāo)進(jìn) 程的所屬目標(biāo)工作任務(wù);
[0023] 判斷模塊,用于判斷所述目標(biāo)工作任務(wù)是否為空;
[0024] 第二處理模塊,用于當(dāng)所述目標(biāo)工作任務(wù)不為空時(shí),將所述第一變量的目標(biāo)進(jìn)程 號用第二變量進(jìn)行保存,并將用于表示所述目標(biāo)進(jìn)程號的第一變量賦值為零。
[0025] 在一個(gè)實(shí)施例中,所述裝置還包括:
[0026] 賦值模塊,用于在卸載所述進(jìn)程模塊時(shí),將使用所述第二變量保存的所述目標(biāo)進(jìn) 程號重新賦值給所述第一變量。
[0027] 在一個(gè)實(shí)施例中,所述裝置還包括:
[0028] 第二保存模塊,用于使用第三變量將需隱藏的目標(biāo)進(jìn)程的目標(biāo)進(jìn)程名稱保存在所 述進(jìn)程模塊中。
[0029] 在一個(gè)實(shí)施例中,所述賦值模塊包括:
[0030] 第一獲取子模塊,用于獲取所述進(jìn)程模塊的系統(tǒng)鏈表;
[0031] 第二獲取子模塊,用于獲取所述系統(tǒng)鏈表中的每個(gè)工作任務(wù)及每個(gè)所述工作任務(wù) 的名稱;
[0032] 比較子模塊,用于將每個(gè)所述工作任務(wù)的名稱與所述第三變量的目標(biāo)進(jìn)程名稱進(jìn) 行比較;
[0033] 第一處理子模塊,用于根據(jù)比較結(jié)果確定所述系統(tǒng)鏈表中的目標(biāo)進(jìn)程,并將使用 所述第二變量保存的所述目標(biāo)進(jìn)程號重新賦值給所述第一變量。
[0034] 在一個(gè)實(shí)施例中,所述第一處理子模塊還用于:
[0035] 當(dāng)一個(gè)工作任務(wù)的名稱與第三變量的目標(biāo)進(jìn)程名稱相同時(shí),確定所述一個(gè)工作任 務(wù)為所述目標(biāo)進(jìn)程。
[0036] 本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0037] 在不希望被他人查看或修改的目標(biāo)進(jìn)程的所屬目標(biāo)工作任務(wù)不為空時(shí),將通過該 目標(biāo)進(jìn)程的目標(biāo)進(jìn)程號賦值為零,能夠?qū)⑦@些目標(biāo)進(jìn)程進(jìn)行隱藏,從而確保這些目標(biāo)進(jìn)程 的使用安全性。
[0038] 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0039] 下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【附圖說明】
[0040] 附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0041] 圖1是根據(jù)一示例性實(shí)施例示出的一種進(jìn)程隱藏方法的流程圖。
[0042] 圖2是根據(jù)一示例性實(shí)施例示出的另一種進(jìn)程隱藏方法的流程圖。
[0043] 圖3是根據(jù)一示例性實(shí)施例示出的又一種進(jìn)程隱藏方法的流程圖。
[0044] 圖4是根據(jù)一示例性實(shí)施例示出的再一種進(jìn)程隱藏方法的流程圖。
[0045] 圖5是根據(jù)一示例性實(shí)施例示出的一種進(jìn)程隱藏裝置的框圖。
[0046] 圖6是根據(jù)一示例性實(shí)施例示出的另一種進(jìn)程隱藏裝置的框圖。
[0047] 圖7是根據(jù)一示例性實(shí)施例示出的又一種進(jìn)程隱藏裝置的框圖。
[0048] 圖8是根據(jù)一示例性實(shí)施例示出的再一種進(jìn)程隱藏裝置的框圖。
【具體實(shí)施方式】
[0049] 以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0050] 相關(guān)技術(shù)中,用戶希望查看Linux系統(tǒng)下的所有進(jìn)程時(shí),均通過系統(tǒng)命令如PS命 令或top命令查找到;這就使得任何人都可以很容易地找到需要查看的進(jìn)程,并輕易地進(jìn) 行修改。這導(dǎo)致進(jìn)程的安全性無法得到確保,尤其對于比較重要的進(jìn)程而言,用戶更不希望 其他用戶隨意查看或修改。
[0051] 為了解決上述技術(shù)問題,本公開實(shí)施例提供了一種進(jìn)程隱藏方法,該方法適用于 進(jìn)程隱藏程序、系統(tǒng)或裝置中,如圖1所示,
[0052] 步驟S101,在Linux系統(tǒng)下,生成進(jìn)程模塊;其中,生成進(jìn)程模塊的操作如下:
[0053] #include〈linux/kernel. h>// 引用 Linux 系統(tǒng)內(nèi)核頭文件
[0054] #include<linux/module. h>
[0055] #include<linux/init. h>
[0056] #include<linux/sched. h>
[0057] #include<linux/list. h>
[0058] MODULE_LICENSE ("GPL") ;//"GPL"是指明 了這是GNU General Public License 的 任意版本
[0059] M0DULE_AUTH0R(〃zxl〃);//模塊作者
[0060] 初始化第一變量pid和其所屬目標(biāo)工作任務(wù)ta