版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-程序自修改

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

程序自修改(Self-modifying code)是指程序在運(yùn)行期間(Run time)修改自身指令??赡艿挠猛居校翰《纠么朔椒ㄌ颖軞⒍拒浖牟闅?,反靜態(tài)分析,反盜版,單芯片程序升級(jí)。

電腦在暫存內(nèi)存中執(zhí)行代碼的計(jì)算機(jī),可修改內(nèi)存中的代碼段,以往這種方法常被駭客用來制造病毒(參見:EICAR 測(cè)試病毒),現(xiàn)今許多操作系統(tǒng)及CPU提供限制程序修改代碼段的方法。還可用于程序保護(hù),增加軟件破解人員的靜態(tài)分析難度。

Java SE 6 提供Java Compiler API,和Java的反射(Reflection)機(jī)制結(jié)合在一起,即可使Java程序在運(yùn)行時(shí)產(chǎn)生新類(Class),替換舊類。1

單芯片若由ROM執(zhí)行程序,如支持IAP的單芯片能夠運(yùn)用程序自修改進(jìn)行程序升級(jí),也能對(duì)負(fù)責(zé)IAP功能的代碼進(jìn)行修改或刪除從而失去IAP功能。1

運(yùn)行期運(yùn)行時(shí)期(Run time)在計(jì)算機(jī)科學(xué)中代表一個(gè)計(jì)算機(jī)程序從開始運(yùn)行到終止運(yùn)行的運(yùn)作、運(yùn)行的時(shí)期。與運(yùn)行時(shí)期相對(duì)的其他時(shí)期包括:設(shè)計(jì)時(shí)期(design time)、編譯時(shí)期(compile time)、鏈接時(shí)期(link time)、與加載時(shí)期(load time)。

而運(yùn)行環(huán)境是一種為正在運(yùn)行的程序或程序提供軟件服務(wù)的虛擬機(jī)械環(huán)境。它有可能是由操作系統(tǒng)自行提供,或由運(yùn)行此程序的母程序提供。

通常由操作系統(tǒng)負(fù)責(zé)處理程序的加載:利用加載器(loader)讀入代碼,接著進(jìn)行基本的存儲(chǔ)器配置,并視需要聯(lián)結(jié)此程序指定的所有動(dòng)態(tài)鏈接庫。有些編程語言會(huì)由此語言提供的運(yùn)行環(huán)境處理上述工作。

代碼的某些問題,只能在運(yùn)行期間進(jìn)行調(diào)試動(dòng)作(或較有效率),例如邏輯錯(cuò)誤或數(shù)組邊際檢查等便屬此類。因此不管撰寫與測(cè)試得多么精細(xì),有些錯(cuò)誤必須在實(shí)際上線并處理真實(shí)數(shù)據(jù)的情況下才能找出。因此,程序用戶也許會(huì)遇到諸如運(yùn)行時(shí)期錯(cuò)誤之類的消息。2

單芯片單芯片,全稱單片微型計(jì)算機(jī)(英語:single-chip microcomputer),又稱微控制器(microcontroller),是把中央處理器、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器(timer/counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。與應(yīng)用在個(gè)人計(jì)算機(jī)中的通用型微處理器相比,它更強(qiáng)調(diào)自供應(yīng)(不用外接硬件)和節(jié)約成本。它的最大優(yōu)點(diǎn)是體積小,可放在儀表內(nèi)部,但存儲(chǔ)量小,輸入輸出接口簡(jiǎn)單,功能較低。由于其發(fā)展非常迅速,舊的單片機(jī)的定義已不能滿足,所以在很多應(yīng)用場(chǎng)合被稱為范圍更廣的微控制器;由于單片機(jī)微電腦常用于當(dāng)控制器故又名single chip microcontroller。“單芯片”是臺(tái)灣對(duì)單片機(jī)的稱呼;中國(guó)大陸主要采用“單片機(jī)”的稱呼,英文縮寫為MCU。2

殺毒軟件殺毒軟件(英語:Antivirus software)使用于偵測(cè)、移除電腦病毒、電腦蠕蟲、和特洛伊木馬程序。殺毒軟件通常含有即時(shí)程序監(jiān)控識(shí)別、惡意程序掃描和清除和自動(dòng)更新病毒數(shù)據(jù)庫等功能,有的殺毒軟件附加損害恢復(fù)等功能,是電腦防御系統(tǒng)(包含殺毒軟件,防火墻,特洛伊木馬程序和其他惡意軟件的防護(hù)及刪除程序,入侵防御系統(tǒng)等)的重要組成。2

本詞條內(nèi)容貢獻(xiàn)者為:

王沛 - 副教授、副研究員 - 中國(guó)科學(xué)院工程熱物理研究所