Kod metamorf

Dalam istilah virus komputer, kod metamorf adalah kod yang mampu memprogram diri sendiri. Seringkali, ini dilakukan dengan menterjemah kod dirinya kepada perwakilan sementara, menyunting perwakilan sementara dirinya, dan kemudian menulis dirinya kembali kepada kod normal.  Aturan ini dilakukan dengan virus itu sendiri, dan dengan itu juga merupakan enjin metamorf dirinya sendiri melalui perubahan. Ini digunakan oleh sesetengah virus apabila ia hendak menjangkiti fail baru, dan hasilnya adalah "anak" tidak akan kelihatan seperti fail asalnya. Virus komputer menggunakan teknik ini bagi mengelak pengecaman pola (pattern recognition) perisian anti-virus: algorithm sebenar tidak berubah, tetapi yang lain mungkin bertukar.

Perbezaan utama antara virus metamorf dan polimorf adalah virus polimorf enkrip kod asalnya bagi mengelak pengecaman pola, dan virus metamorf menukar kodnya dengan yang seumpama dengannya (contoh. kod masih melakukan perkara yang sama). Penyuntingan ini mampu dicapai dengan menggunakan teknik memasukkan arahan NOP, bertukar register, menukar kawalan aliran (flow control) dengan lompatan atau menukar arahan bebas. Kod metamorf biasanya lebih berkesan berbanding kod polimorf. Ini disebabkan untuk mengesannya, anti-virus perlu menggunakan sejenis emulator untuk menganalisa perubahan kod.

Kod metamorf juga bererti virus mampu menjangkiti file perlaksanaan (executables) dari dua atau lebih sistem pengendalian (seperti Windows dan GNU/Linux) malah seni bina komputer yang berlainan. Sering kali, ini dilakukan dengan membawa beberapa virus dalam dirinya. Awalan virus kemudiannya dikod agar ia menterjemah kepada kod mesin yang betul bagi semua pelantar yang sepatut dilaksanakannya  . Secara teori, virus metamorf mampu menulis semula perwakilan sementara dirinya kepada set arahan lain, yang bertujuan bagi seni bina komputer berlainan. Dalam kes ini, antaramuka pengaturcaraan applikasi (Application programming interface - API) turut perlu ditukar.

 Lihat juga 
 Kod ubah sendiri (Self-modifying code)
 Gelung aneh (Strange loop)
 Kod polimorf (Polymorphic code)

 Virus metamorf 
 Simile
 ZMist

 Pautan luar 
   Hunting for Metamorphic

Kategori:Virus komputer
Kategori:Perisian perosak