TWI497414B - 檔案執行方法及系統 - Google Patents
檔案執行方法及系統 Download PDFInfo
- Publication number
- TWI497414B TWI497414B TW098121008A TW98121008A TWI497414B TW I497414 B TWI497414 B TW I497414B TW 098121008 A TW098121008 A TW 098121008A TW 98121008 A TW98121008 A TW 98121008A TW I497414 B TWI497414 B TW I497414B
- Authority
- TW
- Taiwan
- Prior art keywords
- execution
- computer
- loader
- file
- storage area
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本發明是有關於一種檔案執行方法及系統,且特別是有關於一種用以執行儲存在儲存裝置之隱藏儲存區中的電腦執行碼組(computer executable code set)的檔案執行方法及系統。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,最適合用作為可攜式儲存裝置。此外,隨著即插即用之連接介面(例如,通用序列匯流排(Universal Serial Bus,USB))的發展,使得可攜式儲存裝置已廣泛應用於數位內容的儲存上。
儲存裝置的製造商為了能夠使所販售之可攜式儲存裝置更具市場競爭力,往往會於所販售之可攜式儲存裝置中儲存應用程式以供購買此可攜式儲存裝置的使用者使用。例如,製造商開發用於可攜式儲存裝置的磁碟管理程式並預儲存在可攜式儲存裝置,以使得使用者可使用此磁碟管理程式來管理可攜式儲存裝置的儲存狀態。
目前來說,為使使用者的電腦主機可執行此類製造商所提供的應用程式,此應用程式會預先儲存在可攜式儲存裝置的可正常儲存資料的分割區(或儲存區)中,以利電腦主機存取。由於應用程式可由電腦主機以一般存取檔案之方式來存取,因此應用程式亦可輕易地被複製與散播,由此應用程式開發者的智慧財產將無法有效地被保障。儘管已由可攜式儲存裝置的製造商於可攜式儲存裝置中配置隱藏儲存區(即,電腦主機無法存取之儲存區)來儲存欲保密的資料,然此類應用程式必須由電腦主機的作業系統執行方可運作,因此將應用程式儲存在隱藏儲存區雖可達到避免被複製與散佈的目的,但同時亦使使用者無法使用此應用程式。因此,有需要開發能夠直接執行儲存於隱藏儲存區之電腦執行碼組的方法。
本發明提供一種檔案執行方法,其能夠直接地執行儲存在儲存裝置之隱藏儲存區中的電腦執行碼組。
本發明提供一種檔案執行系統,其能夠直接地執行儲存在儲存裝置之隱藏儲存區中的電腦執行碼組。
本發明範例實施例提出一種檔案執行方法,用以在電腦主機的作業系統中執行儲存在儲存裝置中的電腦執行碼組(computer executable file),其中此儲存裝置包括一般儲存區與隱藏儲存區並且此電腦執行碼組是儲存在隱藏儲存區中。根據本範例實施例的檔案執行方法包括將儲存裝置連接至電腦主機,其中電腦主機具有主記憶體。此檔案執行方法還包括提供載入器,以管理儲存在隱藏儲存區中的電腦執行碼組。此檔案執行方法更包括在主記憶體中運轉(Run)載入器;請求作業系統在主機記憶體中分配(Allocate)用於運轉載入器的第一位址區段;由載入器從隱藏儲存區中將電腦執行碼組載入至第一位址區段中;由載入器將所載入之電腦執行碼組轉換為可由作業系統執行的可執行內容並將所轉換之可執行內容的至少一部分儲存在第一位址區段中;以及由載入器建立一衍生執行程序(derivative execution procedure)來執行所轉換之可執行內容。
在本發明之一實施例中,上述之由載入器建立衍生執行程序來執行所轉換之可執行內容的步驟包括:由載入器請求作業系統在主記憶體中建立用於再次運轉載入器的衍生執行程序並請求作業系統在主記憶體中分配用於此衍生執行程序的第二位址區段;由載入器暫停執行衍生執行程序;由載入器將上述之可執行內容寫入至第二位址區段中;以及由載入器繼續執行衍生執行程序。
在本發明之一實施例中,上述之檔案執行方法更包括:由載入器判斷第二位址區段的大小是否小於可執行內容的大小,其中當第二位址區段的大小小於可執行內容的大小時,則由載入器請求作業系統在主記憶體中分配一第三位址區段,以使第二位址區段與第三位址區段的大小大於可執行內容的大小。
在本發明之一實施例中,上述之檔案執行方法更包括在儲存裝置中配置自動執行檔並且由作業系統自動地執行此自動執行檔,其中自動執行檔會在主記憶體中運轉載入器。
在本發明之一實施例中,上述之檔案執行方法更包括將載入器配置在儲存裝置的一般儲存區中。
在本發明之一實施例中,上述之檔案執行方法更包括在該儲存裝置中配置一特殊儲存區並且將自動執行檔與載入器配置在儲存裝置的特殊儲存區中,其中此特殊儲存區相容於ISO 9660標準。
在本發明之一實施例中,上述之檔案執行方法更包括將載入器配置在電腦主機中。
在本發明之一實施例中,上述之檔案執行方法更包括將上述電腦執行碼組解密。
在本發明之一實施例中,上述之檔案執行方法更包括藉由載入器初始化隱藏儲存區。
在本發明之一實施例中,上述之可執行內容相容於一可攜式可執行檔案格式(portable executable file format)。
本發明範例實施例提出一種檔案執行系統,用以執行儲存在儲存裝置中的電腦執行碼組,其中儲存裝置包括一般儲存區與隱藏儲存區並且電腦執行碼組是儲存在隱藏儲存區中。根據本發明範例實施例的檔案執行系統包括電腦主機與載入器。電腦主機包括作業系統與主記憶體。載入器耦接或可存取地連結至電腦主機與儲存裝置並且具有一應用程式執行單元,其中應用程式執行單元用以執行儲存在隱藏儲存區中的電腦執行碼組。作業系統在主記憶體中運轉載入器並且在主機記憶體中分配用於運轉此載入器的第一位址區段。應用程式執行單元從隱藏儲存區中將電腦執行碼組載入至第一位址區段中,將所載入之電腦執行碼組轉換為可由作業系統執行的可執行內容,將所轉換之可執行內容儲存在第一位址區段中,以及建立一衍生執行程序來執行該可執行內容。
在本發明之一實施例中,上述之應用程式執行單元請求作業系統在主記憶體中建立用於再次運轉該載入器的衍生執行程序並請求作業系統在主記憶體中分配用於此衍生執行程序的第二位址區段。此外,應用程式執行單元暫停執行衍生執行程序,將可執行內容寫入至第二位址區段中,並且繼續執行衍生執行程序。
在本發明之一實施例中,上述之應用程式執行單元判斷第二位址區段的大小是否小於可執行內容的大小,其中當第二位址區段的大小小於可執行內容的大小時,則應用程式執行單元請求作業系統在該主記憶體中分配第三位址區段,以使第二位址區段與第三位址區段的大小大於可執行內容的大小。
在本發明之一實施例中,上述之檔案執行系統更包括一自動執行檔,配置在儲存裝置中,其中當儲存裝置耦接至電腦主機時,作業系統自動地執行自動執行檔並且自動執行檔會在主記憶體中運轉上述之載入器。
在本發明之一實施例中,上述之載入器配置在儲存裝置的一般儲存區中。
在本發明之一實施例中,上述之儲存裝置更包括特殊儲存區,並且上述之自動執行檔與載入器配置在儲存此特殊儲存區中,其中特殊儲存區相容於ISO 9660標準。
本發明範例實施例提出一種檔案執行方法,用以在電腦主機的作業系統中執行儲存在儲存裝置中的電腦執行碼組,其中儲存裝置包括一般儲存區與隱藏儲存區並且此電腦執行碼組儲存在隱藏儲存區中。本檔案執行方法包括提供一載入器,以管理儲存在隱藏儲存區中的電腦執行碼組。本檔案執行方法亦包括使用載入器從隱藏儲存區中將電腦執行碼組直接載入至電腦主機中,並且將所載入之電腦執行碼組轉換為可由作業系統執行的可執行內容。本檔案執行方法更包括複製此可執行內容,以及執行此可執行內容。
本發明範例實施例提出一種可程式儲存裝置,本可程式儲存裝置記錄可被一電腦主機執行之程式碼,當電腦主機載入此程式碼並執行後可實施上述之檔案執行方法。
基於上述,本發明範例實施例可直接地執行儲存在儲存裝置之隱藏儲存區中的電腦執行碼組,並且使用者無法輕易地複製與散佈儲存在隱藏儲存區中的電腦執行碼組,由此可。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明第一範例實施例所繪示的檔案執行系統的概要方塊圖。
請參照圖1,檔案執行系統100能夠執行儲存在儲存裝置150的隱藏儲存區152中之電腦執行碼組160。具體來說,儲存裝置150包括隱藏儲存區152與一般儲存區154,其中隱藏儲存區152是電腦之作業系統無法存取的儲存區(即,電腦之作業系統無法依一般程序直接在隱藏儲存區中讀取與寫入資料),而一般儲存區154是電腦之作業系統可存取的儲存區。在本範例實施例中,儲存裝置150為以快閃記憶體作為儲存媒體的可攜式儲存裝置(例如,隨身碟、行動硬碟等)。例如,儲存裝置150包括控制器156與快閃記憶體晶片158,其中控制器156用以控制儲存裝置150的整體運作,快閃記憶體晶片158包括用以儲存資料與電腦應用程式的隱藏儲存區152與一般儲存區154。然而,必須瞭解的是,本發明不限於此,儲存裝置150可以是磁帶、軟碟、光學資料儲存裝置或其他儲存裝置。此外,值得一提的是,控制器156更可以將資料或應用程式加密後儲存至隱藏儲存區152,由此提供資料或應用程式更進一步的保護。此外,此電腦執行碼組160可不在儲存裝置150的檔案配置表(File Allocation Table,FAT)中顯示相關資訊,也就是說,作業系統118a無法辨視此電腦執行碼組160為一檔案。
檔案執行系統100包括電腦主機110與載入器120。
電腦主機110是用以執行電腦執行碼組160的平台。在本範例實施例中,電腦主機110為一桌上型個人電腦。必須瞭解的是,本發明不限於此,在本發明另一範例實施
例中,電腦主機110亦可以是筆記型電腦、伺服器或其他任何能夠執行地電腦程式的電腦主機。
電腦主機110包括中央處理單元112、主記憶體114、輸入與輸出單元116以及存有作業系統118a的儲存單元118。
中央處理單元112用以解釋電腦指令以及處理電腦軟體中的資料。
主記憶體114是耦接至中央處理單元112並且用以載入各式各樣的程式與資料以供中央處理單元112直接執行與運用。具體來說,主記憶體114具可隨時讀寫且較快之讀寫速度等特性,因此主記憶體114是用以作為作業系統118或其他正在執行中的程式的臨時資料儲存媒介。在本範例實施例中,主記憶體114為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。此外,必須瞭解的是,在本發明另一範例實施例中,作業系統亦可藉由儲存裝置的儲存空間所模擬的虛擬記憶體來作為執行應用程式之臨時資料儲存媒介,在此例子中,主記憶體更包括此類虛擬記憶體。
輸入與輸出單元116耦接至中央處理單元112用以提供一介面以供使用者輸入資料或指令至電腦主機110或者從電腦主機110中輸出資料。在本範例實施例中,輸入/輸出單元116包括鍵盤、滑鼠與顯示器(未繪示)。
儲存單元118耦接至中央處理器單元112用以作為電腦主機110的主要儲存媒體。在本範例實施例中,儲存單元118為一硬碟,然而,必須瞭解的是,本發明不限於此。儲存單元118存有作業系統118a用以管理電腦硬體(Computer hardware)與電腦軟體(Computer software)資源的程式,同時也是電腦主機110的核心與基石。具體來說,作業系統118a用以管理與配置主記憶體114、決定系統資源(例如,中央處理單元112、主記憶體114、輸入與輸出單元116)供需的優先次序、控制輸入與輸出裝置116、管理檔案系統等運作。在本範例實施例中,作業系統118a為微軟(Microsoft)公司的視窗(Windows)作業系統。然而,必須瞭解的是,本發明不限於此,本發明亦可應用於其他作業系統中。
載入器120可耦接或可儲存於電腦主機110與儲存裝置150,並且具有以硬體型式或韌/軟體型式實作的多個邏輯閘或控制指令來管理儲存在儲存裝置150之隱藏儲存區152中的應用程式(例如,電腦執行程式160)。更詳細來說,在本範例實施例中,載入器120是由儲存裝置150的製造商所提供,並且能夠依據隱藏儲存區152的規格來存取儲存在隱藏儲存區152中的資料或應用程式。
在本範例實施例中,載入器120的控制指令是以軟體型式來實作,並且事先儲存於儲存裝置150的一般儲存區154中。也就是說,當使用者操作電腦主機110來瀏覽與電腦主機110連接的儲存裝置150時,使用者可點選儲存在一般儲存區154的載入器120以使載入器120的控制指令在作業系統180中運轉(Run),由此對隱藏儲存區152來進行存取。其中,詳細地說,載入器120的控制指令在作業系統180中運轉(Run)後,會對儲存裝置150發送一預定之指令,儲存裝置150在接受此指令時即會至隱藏儲存區152中讀取預定的資料。此外,在本發明另一範例實施例中,以軟體型式來實作的載入器120亦可儲存在光碟或電腦主機110的硬碟(未繪示)中,由此於使用者點選時載入器120可於作業系統180中運轉。
值得一提的是,在本發明另一範例實施例中,載入器120亦可以一硬體型式實作在儲存裝置150或電腦主機110中。
圖2是根據本發明第一範例實施例所繪示的載入器的概要方塊圖。
請參照圖2,載入器120包括主控單元122、初始化單元124、應用程式新增單元126、應用程式編輯單元128、應用程式刪除單元130與應用程式執行單元132。
主控單元122用以控制載入器120的整體運作。
初始化單元124耦接(couple)或連結(link)至主控單元122並且用以初始化儲存裝置150的隱藏儲存區152。具體來說,當初始化單元124運作時,初始化單元124會確認隱藏儲存區152的位址、大小等資訊,並且對隱藏儲存區152進行抹除與格式化。
應用程式新增單元126耦接或連結至主控單元122並且用以將使用者欲儲存的應用程式(例如,電腦執行碼組160)寫入至隱藏儲存區152中。
應用程式編輯單元128耦接或連結至主控單元122並且用以編輯一應用程式清單(Application List)以瀏覽儲存在儲存裝置150之隱藏儲存區152中的應用程式。
應用程式刪除單元130耦接或連結至主控單元122並且用以刪除儲存在儲存裝置150之隱藏儲存區152中的應用程式。例如,應用程式刪除單元130可將電腦執行碼組160從隱藏儲存區152中刪除。
應用程式執行單元132耦接或連結至主控單元122用以執行儲存在儲存裝置150之隱藏儲存區152中的應用程式。例如,應用程式執行單元132會將電腦執行碼組160載入至主記憶體114中並且在電腦主機110的作業系統118a上執行電腦執行碼組160。
圖3是根據本發明第一範例實施例所繪示運轉載入器來執行隱藏儲存區中之電腦執行碼組時主記憶體的運作示意圖。
請參照圖3,當使用者透過輸入與輸出單元116操作電腦主機110的作業系統118a來點選載入器120時,作業系統118a會在主記憶體114中指定用以執行載入器的一個執行點302並且以此執行點為起始點分配(allocate)一第一位址區段310(如圖3的(a)所示)用於載入載入器120的控制指令及暫存載入器120運轉時所使用的資料。
另外,當使用者藉由已運轉之載入器120執行儲存在隱藏儲存區152中的電腦執行碼組160時,應用程式執行單元132會將儲存在隱藏儲存區152中的電腦執行碼組160載入到第一位址區段310中(如圖3的(b)所示之電腦執行碼組160’)並且將所載入之電腦執行碼組160’轉換為可由作業系統118a執行的可執行內容162。同時,應用程式執行單元132會將可執行內容162儲存在第一位址區段310中(如圖3的(c)所示)。在本範例實施例中,對應電腦執行碼組160的可執行內容162是相容於視窗作業系統的一可攜式可執行檔案格式(portable executable(PE)file format)。
在本範例實施例中,應用程式執行單元132更用以向作業系統118a請求用於再次運轉載入器120之衍生執行程序350的一個執行點304及衍生執行程序350所需的第二地位區段320,其中,在本範例實施例中,衍生執行程序(derivative execution procedure)350是使用分叉進程(fork process)方式來再次運轉載入器120,但亦可使用如多線程(multi-thread)等其他多工執行方式來實施。具體來說,作業系統118a會在應用程式執行單元132的請求下於主記憶體114中指定執行衍生執行程序350的起始點(即,執行點304)以及分配用於此衍生執行程序350的第二位址區段320(如圖3的(d)所示)。
特別是,根據本範例實施例的應用程式執行單元132會使用衍生執行程序350來執行對應電腦執行碼組160的可執行內容162。
具體來說,當應用程式執行單元132建立衍生執行程序350後,應用程式執行單元132會暫停執行衍生執行程序350、將對應電腦執行碼組160的可執行內容162從執行點304開始覆寫至第二位址區段320中(即,可執行內容162')並且繼續執行衍生執行程序350。此時,由於衍生執行程序350中的程式碼已被對應電腦執行碼組160的可執行內容162’所置換,因此電腦執行碼組160就可成功地由電腦主機110所執行。具體來說,應用程式執行單元132將電腦執行碼組160轉換為可執行內容162時,其會在可執行內容162的標頭加入關於電腦執行碼組160的資訊(例如,程式碼大小),因此作業系統118a從執行點304開始執行由可執行內容162’寫入之衍生執行程序350時,其可正確地執行對應的程式碼。
值得一提的是,由於衍生執行程序350是用以再次執行載入器120,因此第二位址區段320的大小是相同於第一位址區段310。在本發明另一範例實施例中,應用程式執行單元132更用以判斷第二位址區段320的大小是否足以容納可執行內容162’,其中當第二位址區段320的容量小於可執行內容162’的大小時,應用程式執行單元132會向作業系統118a請求主記憶體114中的第三位址區段(未繪示)以確保在主記憶體114中有足夠的記憶體位址來寫入可執行內容162’。
圖4是根據本發明第一範例實施例所繪示的檔案執行方法的流程圖。
請參照圖4,首先,在步驟S401中將儲存裝置150連接至電腦主機110,並且在步驟S403中在主記憶體114中分配第一位址區段310與運轉載入器120,其中載入器120的運轉已詳細描述如上,在此不重複描述。
之後,在步驟S405中使用載入器120從儲存裝置150的隱藏儲存區152中載入電腦執行碼組160至第一位址區段320成為電腦執行碼組160’。然後,在步驟S407中使用載入器120將所載入的電腦執行碼組160’轉換為可執行內容162並且將可執行內容162儲存於第一位址區段320中。
然後,在步驟S409中使用載入器120執行可執行內容。具體來說,步驟S409-1中向作業系統118a請求在主記憶體114中建立用於再次運轉載入器120的衍生執行程序350並請求作業系統118a在主記憶體114中分配用於衍生執行程序350的第二位址區段320。然後,在步驟S409-3中使用載入器120暫停執行衍生執行程序350,並且在步驟S409-5中將可執行內容162寫入至第二位址區段320中成為可執行內容162’。最後,在步驟S409-7中繼續執行衍生執行程序350。
如上所述,在本發明另一範例實施例中,步驟S409中可更包括判斷第二位址區段320的大小是否小於可執行內容162’的大小,並且倘若第二位址區段320的大小小於可執行內容162’的大小時請求作業系統118a在主記憶體114中更分配第三位址區段。
圖5是根據本發明第二範例實施例所繪示的檔案執行系統的概要方塊圖。
請參照圖5,第二範例實施例的檔案執行系統與第一範例實施例的檔案執行系統的不同之處在於第二範例實施例的檔案執行系統是配置自動執行檔502來自動地執行載入器120。具體來說,當儲存裝置150耦接至電腦主機110時,自動執行檔502會被自動地執行並且自動執行檔502會在主記憶體114中運轉載入器120。例如,在本範例實施例中,儲存裝置150更包括相容於ISO 9660標準的一特殊儲存區550,並且特殊儲存區550中儲存以autorun.inf之型式實作的自動執行檔502和載入器120,因此當儲存裝置150耦接至電腦主機110時作業系統118a會自動地執行自動執行檔502並由此運轉載入器120。特別是,使用者可於載入器120中預先設定欲執行的應用程式(例如,電腦執行碼組160),並且當載入器120運轉時,預先設定的應用程式即可自動地被執行。
圖6是根據本發明第二範例實施例所繪示的檔案執行方法的流程圖。
請參照圖6,首先,在步驟S601中將儲存裝置150連接至電腦主機110,並且在步驟S603中作業系統118a自動地執行自動執行檔502。之後,在步驟S605中載入器120被自動地執行並且在步驟S607中自動地執行隱藏儲存區152中的預設應用程式(例如,電腦執行碼組160),其中執行載入器120及執行儲存在隱藏儲存區152中之應用程式的步驟是相同於圖4的步驟S403、S405、S407、S409-1、S409-3、S409-5與S409-7,在此不重複描述。
在本發明另一範例實施例中,載入器120會於自動地執行預設之應用程式之後自動地關閉(即,結束載入器120的運作)。
本發明範例實施例的檔案執行方法可實作為電腦可讀記錄媒體(或可程式儲存裝置)上的電腦可讀碼。電腦可讀記錄媒體可以是任何資料儲存裝置,其之後可藉由電腦系統讀取。電腦可讀記錄媒體的範例包括唯讀記憶體(read-only memory,ROM)、隨機存取記憶體(random-access memory,RAM)、CD-ROM、磁帶、軟碟、光學資料儲存裝置以及載波(例如透過網際網路的資料傳輸)。
綜上所述,本發明藉由載入器來讀取儲存裝置之隱藏儲存區中的電腦執行碼組,在電腦主機的主記憶體中將電腦執行碼組轉換為可執行內容,並且以置換之衍生執行程序來執行所轉換的可執行內容,由此可成功地在電腦主機上執行儲存在電腦主機無法存取之隱藏儲存區中的電腦執行碼組。再者,由於電腦執行碼組與對應電腦執行碼組的可執行內容是以非檔案型式暫存於主記憶體中,因此使用者無法輕易地複製與散佈儲存在隱藏儲存區中的電腦執行碼組。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...檔案執行系統
110...電腦主機
112...中央處理單元
114...主記憶體
116...輸入與輸出單元
118...儲存單元
118a...作業系統
120...載入器
122...主控單元
124...初始化單元
126...應用程式新增單元
128...應用程式編輯單元
130...應用程式刪除單元
132...應用程式執行單元
150...儲存裝置
152...隱藏儲存區
154...一般儲存區
156...控制器
158...快閃記憶體晶片
160、160’...電腦執行碼組
162、162’...對應電腦執行碼組的可執行內容
302、304...執行點
310...第一位址區段
320...第二地位區段
350...衍生執行程序
502...自動執行檔
550...特殊儲存區
S403、S405、S407、S409-1、S409-3、S409-5、S409-7...檔案執行的步驟
S601、S603、S605、S607...檔案執行的步驟
圖1是根據本發明第一範例實施例所繪示的檔案執行系統的概要方塊圖。
圖2是根據本發明第一範例實施例所繪示的載入器的概要方塊圖。
圖3是根據本發明第一範例實施例所繪示運轉載入器來執行隱藏儲存區中之電腦執行碼組時主記憶體的運作示意圖。
圖4是根據本發明第一範例實施例所繪示的檔案執行方法的流程圖。
圖5是根據本發明第二範例實施例所繪示的檔案執行系統的概要方塊圖。
圖6是根據本發明第二範例實施例所繪示的檔案執行方法的流程圖。
S403、S405、S407、S409-1、S409-3、S409-5、S409-7...檔案執行的步驟
Claims (20)
- 一種檔案執行方法,用以在一電腦主機的一作業系統中執行儲存在一儲存裝置中的一電腦執行碼組,其中該儲存裝置包括一一般儲存區與一隱藏儲存區並且該電腦執行碼組儲存在該隱藏儲存區中,該檔案執行方法包括:將該儲存裝置連接至該電腦主機,其中該電腦主機具有一主記憶體;提供一載入器,以管理儲存在該隱藏儲存區中的該電腦執行碼組;在該主記憶體中運轉該載入器;請求該作業系統在該主機記憶體中分配用於該載入器的一第一位址區段;由該載入器從該隱藏儲存區中將該電腦執行碼組載入至該第一位址區段中;由該載入器將所載入之該電腦執行碼組轉換為可由該作業系統執行的一可執行內容並將該可執行內容的至少一部份儲存在該第一位址區段中;以及由該載入器建立一衍生執行程序來執行該可執行內容。
- 如申請專利範圍第1項所述之檔案執行方法,其中由該載入器建立該衍生執行程序來執行該可執行內容的步驟包括:由該載入器請求該作業系統在該主記憶體中建立該衍生執行程序並請求該作業系統在該主記憶體中分配用於 該衍生執行程序的一第二位址區段,其中該衍生執行程序是用於再次運轉該載入器;由該載入器暫停執行該衍生執行程序;由該載入器將該可執行內容寫入至該第二位址區段中;以及由該載入器繼續執行該衍生執行程序。
- 如申請專利範圍第2項所述之檔案執行方法,更包括:由該載入器判斷該第二位址區段的大小是否小於該可執行內容的大小;以及當該第二位址區段的大小小於該可執行內容的大小時,則由該載入器請求該作業系統在該主記憶體中分配一第三位址區段,以使該第二位址區段與該第三位址區段的大小大於該可執行內容的大小。
- 如申請專利範圍第1項所述之檔案執行方法,更包括:配置一自動執行檔於該儲存裝置中,其中在該主記憶體中運轉該載入器的步驟包括:當該儲存裝置耦接至該電腦主機時,由該作業系統自動地執行該自動執行檔並且由該自動執行檔在該主記憶體中運轉該載入器。
- 如申請專利範圍第1項所述之檔案執行方法,更包括:將該載入器配置在該儲存裝置的該一般儲存區中。
- 如申請專利範圍第4項所述之檔案執行方法,更包 括:在該儲存裝置中配置一特殊儲存區;以及將該自動執行檔與該載入器配置在該儲存裝置的一特殊儲存區中,其中該特殊儲存區相容於ISO 9660標準。
- 如申請專利範圍第1項所述之檔案執行方法,更包括:將該載入器配置在該電腦主機中。
- 如申請專利範圍第1項所述之檔案執行方法,更包括將該電腦執行碼組解密。
- 如申請專利範圍第1項所述之檔案執行方法,更包括藉由該載入器初始化該隱藏儲存區。
- 如申請專利範圍第1項所述之檔案執行方法,其中該可執行內容相容於一可攜式可執行檔案格式(portable executable file format)。
- 一種檔案執行系統,用以執行儲存在一儲存裝置中的一電腦執行碼組,其中該儲存裝置包括一一般儲存區與一隱藏儲存區並且該電腦執行碼組儲存在該隱藏儲存區中,該檔案執行系統包括:一電腦主機,包括一作業系統與一主記憶體;以及一載入器,耦接或可存取地連結至該電腦主機與該儲存裝置並且具有一應用程式執行單元,以執行儲存在該隱藏儲存區中的該電腦執行碼組,其中該作業系統在該主記憶體中運轉該載入器並且在該主機記憶體中分配用於該載入器的一第一位址區段, 其中該應用程式執行單元從該隱藏儲存區中將該電腦執行碼組載入至該第一位址區段中,將所載入之該電腦執行碼組轉換為可由該作業系統執行的一可執行內容,並將該可執行內容儲存在該第一位址區段中,其中該應用程式執行單元建議一衍生執行程序來執行該可執行內容。
- 如申請專利範圍第11項所述之檔案執行系統,其中該應用程式執行單元請求該作業系統在該主記憶體中建立該衍生執行程序並請求該作業系統在該主記憶體中分配用於該衍生執行程序的一第二位址區段,其中該衍生執行程序用於再次運轉該載入器,其中該應用程式執行單元暫停執行該衍生執行程序,將該可執行內容寫入至該第二位址區段中,並且繼續執行該衍生執行程序。
- 如申請專利範圍第12項所述之檔案執行系統,其中該應用程式執行單元判斷該第二位址區段的大小是否小於該可執行內容的大小,以及當該第二位址區段的大小小於該可執行內容的大小時,則該應用程式執行單元請求該作業系統在該主記憶體中分配一第三位址區段,以使該第二位址區段與該第三位址區段的大小大於該可執行內容的大小。
- 如申請專利範圍第11項所述之檔案執行系統,更包括一自動執行檔,配置在該儲存裝置中,其中當該儲存裝置耦接至該電腦主機時,該作業系統 自動地執行該自動執行檔並且該自動執行檔會在該主記憶體中運轉該載入器。
- 如申請專利範圍第11項所述之檔案執行系統,其中該載入器配置在該儲存裝置的該一般儲存區中。
- 如申請專利範圍第14項所述之檔案執行系統,其中該儲存裝置更包括一特殊儲存區,該特殊儲存區相容於ISO 9660標準,其中該自動執行檔與該載入器配置在該儲存裝置的一特殊儲存區中。
- 一種檔案執行方法,用以在一電腦主機的一作業系統中執行儲存在一儲存裝置中的一電腦執行碼組,其中該儲存裝置包括一隱藏儲存區並且該電腦執行碼組儲存在該隱藏儲存區中,該檔案執行方法包括:提供一載入器,以管理儲存在該隱藏儲存區中的該電腦執行碼組;該載入器從該隱藏儲存區中將該電腦執行碼組直接載入至該電腦主機中;將所載入之該電腦執行碼組轉換為可由該作業系統執行的一可執行內容;複製該可執行內容;以及執行該可執行內容。
- 一種可程式儲存裝置,該可程式儲存裝置記錄可被一電腦主機執行之程式碼,當該電腦主機載入該程式碼並執行後可實施一檔案執行方法,該檔案執行方法包含: 從該電腦主機之一隱藏儲存區中將一電腦執行碼組直接載入至該電腦主機中;將所載入之該電腦執行碼組轉換為可由一作業系統執行的一可執行內容;複製該可執行內容;以及執行該可執行內容。
- 如申請專利範圍第18項所述之可程式儲存裝置,其中該檔案執行方法更包括:新增或刪除該隱藏儲存區中所儲存之資料。
- 如申請專利範圍第18項所述之可程式儲存裝置,其中該檔案執行方法更包括:編輯一電腦執行碼組清單用以管理儲存在該隱藏儲存區中的該電腦執行碼組。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121008A TWI497414B (zh) | 2009-06-23 | 2009-06-23 | 檔案執行方法及系統 |
US12/542,167 US8667485B2 (en) | 2009-06-23 | 2009-08-17 | Method and system for executing a file stored in a hidden storage area of a storage device |
JP2009237080A JP2011008753A (ja) | 2009-06-23 | 2009-10-14 | 記憶装置の隠し記憶領域に記憶されたファイルの実行方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121008A TWI497414B (zh) | 2009-06-23 | 2009-06-23 | 檔案執行方法及系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201101182A TW201101182A (en) | 2011-01-01 |
TWI497414B true TWI497414B (zh) | 2015-08-21 |
Family
ID=43355201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098121008A TWI497414B (zh) | 2009-06-23 | 2009-06-23 | 檔案執行方法及系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8667485B2 (zh) |
JP (1) | JP2011008753A (zh) |
TW (1) | TWI497414B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010043445B3 (de) * | 2010-11-05 | 2012-04-19 | Semikron Elektronik Gmbh & Co. Kg | Kondensatoranordnung, leistungselektronisches Gerät damit undVerfahren zur Herstellung der Kondensatoranordnung |
CN102592085B (zh) * | 2011-12-27 | 2015-09-16 | 中兴通讯股份有限公司 | 一种无线通信终端及行业软件安全运行方法 |
US9239869B1 (en) * | 2013-05-08 | 2016-01-19 | Ca, Inc. | Replication and synchronization for protecting NTFS deduplication volumes |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI226609B (en) * | 2003-08-26 | 2005-01-11 | Mitac Technology Corp | Media instant play system and its method |
TWI283347B (en) * | 2000-09-15 | 2007-07-01 | Matrix Semiconductor Inc | Method for storing a file in a contiguous set of memory cells in a memory device, method for partitioning memory cells in a write-once memory device, method for writing file system structures of two file systems into a partition of memory cells of a ... |
TWI292125B (zh) * | 2003-06-02 | 2008-01-01 | Alcor Micro Corp | |
TW200917256A (en) * | 2007-10-04 | 2009-04-16 | Super Talent Electronics Inc | Using various flash memory cells to build USB data flash cards with multiple partitions and autorun function |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141756A (en) | 1998-04-27 | 2000-10-31 | Motorola, Inc. | Apparatus and method of reading a program into a processor |
US7409694B2 (en) * | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
US8434099B2 (en) * | 1998-09-09 | 2013-04-30 | Microsoft Corporation | Efficient linking and loading for late binding and platform retargeting |
US20020083318A1 (en) * | 2000-12-26 | 2002-06-27 | Larose Gordon Edward | Method and system for software integrity control using secure hardware assist |
US6778974B2 (en) * | 2001-02-02 | 2004-08-17 | Matrix Semiconductor, Inc. | Memory device and method for reading data stored in a portion of a memory device unreadable by a file system of a host device |
JP3513147B2 (ja) * | 2002-05-29 | 2004-03-31 | 株式会社ハギワラシスコム | Usbストレージデバイス及びその制御装置 |
JP3767818B2 (ja) | 2002-10-28 | 2006-04-19 | 株式会社サスライト | 着脱式デバイス及びプログラムの起動方法 |
US20040172526A1 (en) * | 2003-02-27 | 2004-09-02 | Tann Johnathan P. | Universal loader for portable electronic devices |
US20050010918A1 (en) * | 2003-07-11 | 2005-01-13 | International Business Machines Corporation | Autonomic image migration/deployment appliance |
US20050015540A1 (en) * | 2003-07-18 | 2005-01-20 | Hung-Chou Tsai | Auto-executable portable data storage device and the method of auto-execution thereof |
TWI282940B (en) * | 2003-12-02 | 2007-06-21 | Aimgene Technology Co Ltd | Memory storage device with a fingerprint sensor and method for protecting the data therein |
US8069192B2 (en) * | 2004-03-22 | 2011-11-29 | Microsoft Corporation | Computing device with relatively limited storage space and operating / file system thereof |
US8015504B1 (en) * | 2004-03-26 | 2011-09-06 | Adobe Systems Incorporated | System and method for communicating information over a network |
TWI238355B (en) * | 2004-05-06 | 2005-08-21 | Lite On It Corp | Firmware updating method |
KR100604877B1 (ko) * | 2004-07-03 | 2006-07-31 | 삼성전자주식회사 | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 |
US7712086B2 (en) * | 2004-12-15 | 2010-05-04 | Microsoft Corporation | Portable applications |
US8234638B2 (en) * | 2004-12-28 | 2012-07-31 | Hercules Software, Llc | Creating a relatively unique environment for computing platforms |
US20060294356A1 (en) * | 2005-06-27 | 2006-12-28 | Xipkey, Inc. | Apparatus and method of an executable-in-place flash device |
TWI263901B (en) * | 2005-07-28 | 2006-10-11 | Lite On Technology Corp | Program initiation methods and embedded systems utilizing the same |
US20070113279A1 (en) * | 2005-11-14 | 2007-05-17 | Phison Electronics Corp. | [portable storage device] |
US20070112979A1 (en) * | 2005-11-16 | 2007-05-17 | Phison Electronics Corp. | [portable storage device with auto-executable program] |
US20100174902A1 (en) * | 2005-12-23 | 2010-07-08 | Phison Electronics Corp. | Portable storage media with high security function |
US7849454B2 (en) * | 2006-01-13 | 2010-12-07 | Dell Products L.P. | Automatic firmware corruption recovery and update |
US8028148B2 (en) * | 2006-09-06 | 2011-09-27 | Microsoft Corporation | Safe and efficient allocation of memory |
JP5052878B2 (ja) * | 2006-12-12 | 2012-10-17 | 株式会社バッファロー | 記憶装置及び利用者認証方法 |
KR101196431B1 (ko) * | 2007-03-27 | 2012-11-01 | 삼성전자주식회사 | 외부 저장장치 및 상기 외부 저장장치의 자동 실행방법 |
CN101286121B (zh) | 2007-04-12 | 2011-04-06 | 深圳市顶星数码网络技术有限公司 | 免光盘安装计算机驱动程序的方法 |
EP2015194A1 (en) * | 2007-06-29 | 2009-01-14 | Thomson Licensing | Method for data transfer between host and device |
US20100050166A1 (en) * | 2008-08-22 | 2010-02-25 | Inventec Corporation | Updating system and method of portable executable programs |
TW201019113A (en) * | 2008-11-06 | 2010-05-16 | Genesys Logic Inc | Authenticable USB storage device and method thereof |
US8069324B2 (en) * | 2008-12-19 | 2011-11-29 | Seagate Technology Llc | Storage device with manual learning |
US8328104B2 (en) * | 2009-03-30 | 2012-12-11 | Condel International Technologies Inc. | Storage device management systems and methods |
TWI396994B (zh) * | 2009-05-05 | 2013-05-21 | Phison Electronics Corp | 防電腦病毒擴散的控制器及其儲存系統與方法 |
TWI462014B (zh) * | 2009-08-31 | 2014-11-21 | Phison Electronics Corp | 應用程式執行方法與系統、儲存媒體控制器及儲存裝置 |
US8276188B2 (en) * | 2009-12-03 | 2012-09-25 | Condel International Technologies Inc. | Systems and methods for managing storage devices |
US8555017B2 (en) * | 2010-02-22 | 2013-10-08 | Red Hat, Inc. | In-place physical to virtual (P2V) migration of an existing operating system during installation of a new operating system |
TWI421686B (zh) * | 2010-04-12 | 2014-01-01 | Phison Electronics Corp | 資料存取方法與系統、儲存媒體控制器與儲存系統 |
TWI432987B (zh) * | 2011-03-15 | 2014-04-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與病毒掃描方法 |
-
2009
- 2009-06-23 TW TW098121008A patent/TWI497414B/zh active
- 2009-08-17 US US12/542,167 patent/US8667485B2/en active Active
- 2009-10-14 JP JP2009237080A patent/JP2011008753A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI283347B (en) * | 2000-09-15 | 2007-07-01 | Matrix Semiconductor Inc | Method for storing a file in a contiguous set of memory cells in a memory device, method for partitioning memory cells in a write-once memory device, method for writing file system structures of two file systems into a partition of memory cells of a ... |
TWI292125B (zh) * | 2003-06-02 | 2008-01-01 | Alcor Micro Corp | |
TWI226609B (en) * | 2003-08-26 | 2005-01-11 | Mitac Technology Corp | Media instant play system and its method |
TW200917256A (en) * | 2007-10-04 | 2009-04-16 | Super Talent Electronics Inc | Using various flash memory cells to build USB data flash cards with multiple partitions and autorun function |
Also Published As
Publication number | Publication date |
---|---|
US8667485B2 (en) | 2014-03-04 |
US20100325180A1 (en) | 2010-12-23 |
JP2011008753A (ja) | 2011-01-13 |
TW201101182A (en) | 2011-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
JP2007172586A (ja) | コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム | |
US9164919B2 (en) | Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique | |
US20100077396A1 (en) | Portable storage device for supporting portable computing system and portable computing based system using the same | |
TW201025050A (en) | Device and method for filtering a file system | |
WO2018000300A1 (zh) | 一种电子设备的数据操作方法及电子设备 | |
US9348819B1 (en) | Method and system for file data management in virtual environment | |
US20050044330A1 (en) | System, apparatus and method for controlling a storage device | |
TWI497414B (zh) | 檔案執行方法及系統 | |
US8090927B2 (en) | Method and system for executing applicatons, storage medium controller and storage device | |
US20220374256A1 (en) | Information processing system, information processing apparatus, method of controlling the same, and storage medium | |
JP4714291B2 (ja) | 情報記録装置、情報記録方法及び情報記録用プログラム | |
JP7522775B2 (ja) | 不揮発性記憶区画識別子 | |
CN101944034B (zh) | 文件执行方法及系统 | |
RU2666334C2 (ru) | Способ обработки данных | |
US9154543B2 (en) | Multiple file transfer speed up | |
JP5161989B2 (ja) | 情報記録装置、情報記録方法及び情報記録用プログラム | |
US11853610B2 (en) | Pass-through command queues for unmodified storage drivers | |
KR102712429B1 (ko) | 비휘발성 스토리지 파티션 식별자 | |
US20090132228A1 (en) | Tape management method and tape management system | |
WO2023077519A1 (zh) | 支持多操作系统的存储设备、配置方法以及计算机系统 | |
WO2008069480A1 (en) | Portable storage device for supporting portable computing system and portable computing based system using the same | |
JPWO2014091629A1 (ja) | 記憶装置の管理プログラム、電子装置及び記憶装置の管理方法 | |
EP4446886A1 (en) | Input/output processing of container application data by module addition | |
JP2010257250A (ja) | 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム |