程式自修改

程式自修改(Self-modifying code)是指程式在運行期間(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避防毒軟體的查殺,反靜態分析,反盜版,單晶片程式升級。

基本介紹

  • 中文名:程式自修改
  • 外文名:Self-modifying code
  • 定義:程式在運行期間修改自身指令
  • 領域:計算機
電腦,單晶片,運行期,單晶片,防毒軟體,

電腦

在暫存記憶體中執行代碼的計算機,可修改記憶體中的代碼段,以往這種方法常被駭客用來製造病毒(參見:EICAR 測試病毒),現今許多作業系統CPU提供限制程式修改代碼段的方法。還可用於程式保護,增加軟體破解人員的靜態分析難度。
Java SE 6 提供Java Compiler API,和Java反射(Reflection)機制結合在一起,即可使Java程式在運行時產生新(Class),替換舊類。

單晶片

若由ROM執行程式,如支持IAP的單晶片能夠運用程式自修改進行程式升級,也能對負責IAP功能的代碼進行修改或刪除從而失去IAP功能。

運行期

運行時期(Run time)在計算機科學中代表一個電腦程式從開始運行到終止運行的運作、運行的時期。與運行時期相對的其他時期包括:設計時期(design time)、編譯時期(compile time)、連結時期(link time)、與載入時期(load time)。
運行環境是一種為正在運行的程式或程式提供軟體服務的虛擬機械環境。它有可能是由作業系統自行提供,或由運行此程式的母程式提供。
通常由作業系統負責處理程式的載入:利用載入器(loader)讀入代碼,接著進行基本的存儲器配置,並視需要聯結此程式指定的所有動態程式庫。有些程式語言會由此語言提供的運行環境處理上述工作。
代碼的某些問題,只能在運行期間進行調試動作(或較有效率),例如邏輯錯誤數組邊際檢查等便屬此類。因此不管撰寫與測試得多么精細,有些錯誤必須在實際上線並處理真實數據的情況下才能找出。因此,程式用戶也許會遇到諸如運行時期錯誤之類的訊息。

單晶片

單晶片,全稱單片微型計算機(英語:single-chip microcomputer),又稱微控制器(microcontroller),是把中央處理器存儲器、定時/計數器(timer/counter)、各種輸入輸出接口等都集成在一塊積體電路晶片上的微型計算機。與套用在個人計算機中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多套用場合被稱為範圍更廣的微控制器;由於單片機微電腦常用於當控制器故又名single chip microcontroller。“單晶片”是台灣對單片機的稱呼;中國大陸主要採用“單片機”的稱呼,英文縮寫為MCU。

防毒軟體

防毒軟體(英語:Antivirus software)使用於偵測、移除電腦病毒、電腦蠕蟲、和特洛伊木馬程式。防毒軟體通常含有即時程式監控識別、惡意程式掃描和清除和自動更新病毒資料庫等功能,有的防毒軟體附加損害恢復等功能,是電腦防禦系統(包含防毒軟體,防火牆,特洛伊木馬程式和其他惡意軟體的防護及刪除程式,入侵防禦系統等)的重要組成。

相關詞條

熱門詞條

聯絡我們