[發(fā)明專利]一種啟動(dòng)多進(jìn)程的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210440296.X | 申請(qǐng)日: | 2012-11-07 |
| 公開(公告)號(hào): | CN102929716A | 公開(公告)日: | 2013-02-13 |
| 發(fā)明(設(shè)計(jì))人: | 阮曉迅;梁金千 | 申請(qǐng)(專利權(quán))人: | 北京億賽通科技發(fā)展有限責(zé)任公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 北京天悅專利代理事務(wù)所(普通合伙) 11311 | 代理人: | 田明;任曉航 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 啟動(dòng) 進(jìn)程 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)信息安全領(lǐng)域,具體涉及一種啟動(dòng)多進(jìn)程的方法。
背景技術(shù)
有些程序在多次雙擊打開的時(shí)候只會(huì)啟動(dòng)一個(gè)進(jìn)程。啟動(dòng)程序的時(shí)候,操作系統(tǒng)會(huì)為其建立一個(gè)進(jìn)程A,這時(shí)再啟動(dòng)這個(gè)程序,不會(huì)為其新建一個(gè)獨(dú)立的進(jìn)程B,而是使用原有的進(jìn)程A創(chuàng)建一個(gè)新的文檔。文檔安全是當(dāng)前信息安全領(lǐng)域的關(guān)注重點(diǎn),目前在文檔安全管理軟件中只能以進(jìn)程為單位對(duì)單個(gè)文件進(jìn)行保護(hù)。
傳統(tǒng)啟動(dòng)多進(jìn)程方法之一是修改注冊(cè)表命令行參數(shù),就是修改注冊(cè)表中啟動(dòng)程序的命令行參數(shù)為啟動(dòng)多進(jìn)程命令行參數(shù)。在Windows打開程序的時(shí)候,會(huì)讀取所述程序注冊(cè)表項(xiàng)的命令行參數(shù)來(lái)啟動(dòng)程序。但是這種修改注冊(cè)表命令行參數(shù)的方式會(huì)存在以下缺陷:
缺陷A:有些程序支持啟動(dòng)多進(jìn)程命令行參數(shù),方便使用戶可以有選擇性以不同的方式打開進(jìn)程,有些程序則不支持啟動(dòng)多進(jìn)程命令行參數(shù),對(duì)于不支持啟動(dòng)多進(jìn)程命令行參數(shù)的程序此方法無(wú)效。
另一種啟動(dòng)多進(jìn)程的方法是殺掉已啟動(dòng)進(jìn)程的命名內(nèi)核對(duì)象。在操作系統(tǒng)中命名的內(nèi)核對(duì)象在所有進(jìn)程中都可以訪問。有些程序?qū)τ趩?dòng)多進(jìn)程的限制的方法是,程序第一次打開,啟動(dòng)進(jìn)程A會(huì)創(chuàng)建一個(gè)有特定名字的內(nèi)核對(duì)象,再次打開此程序,啟動(dòng)進(jìn)程B,在進(jìn)程B中的入口函數(shù)中判斷系統(tǒng)中是否存在特定名字的內(nèi)核對(duì)象,如果存在代表系統(tǒng)中已經(jīng)有一個(gè)相同程序的進(jìn)程,退出進(jìn)程B。解決方法是,枚舉進(jìn)程A的命名對(duì)象列表,找到限制啟動(dòng)多進(jìn)程的命名對(duì)象,殺掉這個(gè)內(nèi)核對(duì)象,啟動(dòng)進(jìn)程B判斷特定的命名內(nèi)核對(duì)象不存在,正常啟動(dòng)進(jìn)程B。這樣就會(huì)同時(shí)啟動(dòng)多個(gè)進(jìn)程。這種方式存在以下缺陷:
缺陷B:每個(gè)程序命名內(nèi)核對(duì)象的名字都不同,程序每次發(fā)布新版本的時(shí)候也可能會(huì)改變內(nèi)核對(duì)象的名字,想找到這個(gè)內(nèi)核對(duì)象就要對(duì)程序進(jìn)行分析。程序種類繁多,每個(gè)需要啟動(dòng)多進(jìn)程的程序都要分析,分析的工作量大,沒有通用性。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種啟動(dòng)多進(jìn)程的方法,提高程序多進(jìn)程啟動(dòng)的通用性。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
一種啟動(dòng)多進(jìn)程的方法,包括以下步驟:
(1)監(jiān)控目標(biāo)程序啟動(dòng)進(jìn)程,并向目標(biāo)進(jìn)程中注入動(dòng)態(tài)鏈接庫(kù);所述目標(biāo)進(jìn)程是指需要啟動(dòng)多進(jìn)程的進(jìn)程;
(2)目標(biāo)進(jìn)程初始化動(dòng)態(tài)鏈接庫(kù),為目標(biāo)進(jìn)程創(chuàng)建內(nèi)核對(duì)象目錄,并在內(nèi)核對(duì)象目錄中創(chuàng)建內(nèi)核符號(hào)鏈接對(duì)象;所述內(nèi)核對(duì)象目錄用于進(jìn)程創(chuàng)建或打開內(nèi)核對(duì)象時(shí)重定向到此目錄中;所述內(nèi)核符號(hào)鏈接對(duì)象的鏈接為內(nèi)核對(duì)象目錄的全路徑;
(3)攔截目標(biāo)進(jìn)程創(chuàng)建或打開內(nèi)核對(duì)象相關(guān)的函數(shù);
(4)監(jiān)控目標(biāo)進(jìn)程對(duì)內(nèi)核對(duì)象的操作并進(jìn)行內(nèi)核對(duì)象的重定向;監(jiān)控目標(biāo)進(jìn)程對(duì)內(nèi)核對(duì)象的操作并進(jìn)行重定向的具體方式為:
監(jiān)控目標(biāo)進(jìn)程打開內(nèi)核對(duì)象相關(guān)的函數(shù),調(diào)用打開內(nèi)核對(duì)象相關(guān)的函數(shù)時(shí)進(jìn)入其代理函數(shù),將打開的內(nèi)核對(duì)象的路徑名修改為所述的內(nèi)核對(duì)象目錄的全路徑,調(diào)用代理函數(shù)的原函數(shù),使其重定向到內(nèi)核對(duì)象目錄;
監(jiān)控目標(biāo)進(jìn)程創(chuàng)建內(nèi)核對(duì)象相關(guān)的函數(shù),調(diào)用創(chuàng)建內(nèi)核對(duì)象相關(guān)的函數(shù)時(shí)進(jìn)入其代理函數(shù),把創(chuàng)建的內(nèi)核對(duì)象的路徑名修改為所述的內(nèi)核對(duì)象目錄的全路徑,調(diào)用代理函數(shù)的原函數(shù),使目標(biāo)進(jìn)程創(chuàng)建內(nèi)核對(duì)象的相關(guān)函數(shù)全部重定向到內(nèi)核對(duì)象目錄。
進(jìn)一步,如上所述的一種啟動(dòng)多進(jìn)程的方法,步驟(1)中,啟動(dòng)進(jìn)程之前,創(chuàng)建允許啟動(dòng)多進(jìn)程的程序列表;所述程序列表用于保存進(jìn)程的進(jìn)程名。
進(jìn)一步,如上所述的一種啟動(dòng)多進(jìn)程的方法,步驟(1)中,向目標(biāo)程序中注入動(dòng)態(tài)鏈接庫(kù)的具體方式為:
(1-1)打開目標(biāo)程序,啟動(dòng)進(jìn)程;
(1-2)監(jiān)控并掛起目標(biāo)進(jìn)程,獲取目標(biāo)進(jìn)程的進(jìn)程名,查看目標(biāo)進(jìn)程的進(jìn)程名是否在允許啟動(dòng)多進(jìn)程的程序列表中,若是則進(jìn)入步驟(1-3);若否則恢復(fù)掛起的目標(biāo)進(jìn)程,返回步驟(1-1);
(1-3)把動(dòng)態(tài)鏈接庫(kù)注入到該目標(biāo)進(jìn)程中,恢復(fù)掛起的目標(biāo)程序。
進(jìn)一步,如上所述的一種啟動(dòng)多進(jìn)程的方法,步驟(1)中,通過打開可執(zhí)行程序啟動(dòng)目標(biāo)進(jìn)程,或者打開可執(zhí)行程序的快捷方式啟動(dòng)目標(biāo)進(jìn)程,或者使用命令行啟動(dòng)目標(biāo)進(jìn)程,或者使用運(yùn)行啟動(dòng)目標(biāo)進(jìn)程,或者使用打開方式啟動(dòng)目標(biāo)進(jìn)程,或者通過調(diào)用目標(biāo)進(jìn)程啟動(dòng)函數(shù)啟動(dòng)進(jìn)程。
進(jìn)一步,如上所述的一種啟動(dòng)多進(jìn)程的方法,步驟(1)中,通過函數(shù)的方式為目標(biāo)進(jìn)程注入動(dòng)態(tài)鏈接庫(kù),或者通過修改目標(biāo)進(jìn)程導(dǎo)入表注入動(dòng)態(tài)鏈接庫(kù)。
進(jìn)一步,如上所述的一種啟動(dòng)多進(jìn)程的方法,步驟(2)中,如果當(dāng)前操作系統(tǒng)為Windows2000或WindowsXP,創(chuàng)建內(nèi)核對(duì)象目錄的具體方式為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京億賽通科技發(fā)展有限責(zé)任公司,未經(jīng)北京億賽通科技發(fā)展有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210440296.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 啟動(dòng)電路及背光啟動(dòng)電路
- 啟動(dòng)方法及啟動(dòng)設(shè)備
- 用以啟動(dòng)引擎的啟動(dòng)系統(tǒng)
- 焊機(jī)啟動(dòng)系統(tǒng)以及啟動(dòng)方法
- 啟動(dòng)方法和啟動(dòng)裝置
- 啟動(dòng)電路及其啟動(dòng)方法
- 汽車啟動(dòng)系統(tǒng)及其啟動(dòng)方法
- 一種刺破式啟動(dòng)瓶啟動(dòng)按鈕及其啟動(dòng)瓶
- 啟動(dòng)電路、啟動(dòng)方法以及啟動(dòng)系統(tǒng)
- 降壓?jiǎn)?dòng)型應(yīng)急啟動(dòng)裝置
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





