ကိုယ္တိုင္းVirusေရးနည္း+1
လိုရင္းေရာက္ေအာင္ မူရင္းအဂၤလိပ္စာလံုးေတြကိုပဲ သံုးထားပါတယ္။Virus ဖန္တီးျခင္းအတြက္ သိထားရမယ့္ အခ်က္ေတြနဲ႔ နည္းပညာပိုင္းေတြ ပါ၀င္မွာျဖစ္ပါတယ္...။
Virusမ်ား ႏွင့္ မိတ္ဆက္ျခင္း
Virus ဆိုတာ အျခား programs ေတြ ဖိုင္ေတြ နဲ႔ သူတို႔ရဲ႕ အျပဳအမူေတြကို ကိုယ္တိုင္ပံုတူပြားတဲ႔ Program ျဖစ္ပါတယ္။
Viruses ေတြကို သူတို႔ရဲ႕ ဖိုင္ေတြ၊ တိုက္ခိုက္တဲ႔နည္းလမ္းေတြ ၾကည့္ျခင္းအားျဖင့္ ေအာက္ပါအတိုင္း ေတြ႔ရပါတယ္။
- Boot Viruses
- Program Viruses
- Multipartite Viruses
- Stealth Viruses
- Polymorphic Viruses
- Macro Viruses
- Active X
- FAT(File Allocation Table)
- COM Viruses တို႔ပဲျဖစ္ၾကပါတယ္။
Viruses အမ်ိဳးအစားခြဲျခားျခင္း
Virusေတြကို သူတို႔ရဲ႕ အရြယ္အစားကို ၾကည့္ျခင္းအားျဖင့္ ၃ မ်ိဳးခြဲျခားထားပါတယ္။
(၁) Tiny Virus
(size ၅၀၀ bytes ရဲ႕ ေအာက္ )
(၂) Large Virus
(size ၁၅၀၀ bytes ရဲ႕ အထက္)
(၃) Other Virus တို႔ျဖစ္ပါတယ္။
Virus တစ္ခု တိုက္ခိုက္ျခင္းရဲ႕ လကၡဏာရပ္မ်ား
Virusတစ္ခု တိုက္ခိုက္ျခင္းရဲ႕ လကၡဏာရပ္မ်ားကေတာ့ ေအာက္ပါအတိုင္းျဖစ္ပါတယ္။
- ၾကီးမားေသာ program ကို loading လုပ္ေနရသလို အခ်ိန္ၾကာျခင္း၊
- ဖိုင္ နဲ႔ Folders မ်ားကို ဖြင့္ရန္ ခက္ခဲျခင္း၊
- ထူးျခားစြာ floppy (သို႔) Hard disk မွ အခ်က္အလက္မ်ားကိုလက္ခံေနျခင္း၊
- disk spaceအသံုးျပဳမႈတိုးလာျခင္း နဲ႔ ဖိုင္အရြယ္အစားမ်ား ၾကီးမားလာျခင္း၊
- ပံုမွန္မဟုတ္ေသာ write-protect errors မ်ားျဖစ္ျခင္း၊
- ဖိုင္နာမည္မ်ားရဲ႕ directory list အတြင္းတြင္ ထူးျခားေသာ စာလံုးမ်ားေပၚေနျခင္း၊
- ထူးျခားျပီး ေမွ်ာ္လင့္မထားေသာ messagesမ်ားေတြ႔ရျခင္း၊
- ထူးျခားေသာ ပံုရိပ္မ်ားေဖာ္ျပေနျခင္း၊
- Programနဲ႔ systemတို႔ hang သြားျခင္း တို႔ပဲျဖစ္ပါတယ္။
Virusesေရးျခင္းအတြက္ မရွိမျဖစ္ရွိထားရမယ့္ အခ်က္မ်ား
(၁) assembly language ဗဟုသုတ
- memory management ကို နားလည္ျခင္း၊
- registers ကို နားလည္ျခင္း။
- Pointers ရဲ႕ အယူအဆမ်ား
- Function နဲ႔ procedure calling
လိုအပ္ေသာ Tool နဲ႔ Utilitie မ်ား
(၁) C compiler ( Borland Turbo Assembler (သို႔) Borland C++)
(၂) Norton Utilities
(၃) Memory management utilities
- MAPMEM
- PMAP
- MARK/RELEASE
Virus ကူးစက္ျခင္းအဆင့္အဆင့္ျပပံု
နားလည္ေလာက္မယ္လို႔ေမ်ာ္လင့္ရပါတယ္။Virusကူးစက္ပံုအဆင့္ဆင့္နဲ႔ နည္းလမ္းေတြကို အပိုင္း(၂)မွာ ဆက္လက္ေဖာ္ျပေပးထားပါတယ္...။
နားလည္ေလာက္မယ္လို႔ေမ်ာ္လင့္ရပါတယ္။Virusကူးစက္ပံုအဆင့္ဆင့္နဲ႔ နည္းလမ္းေတြကို အပိုင္း(၂)မွာ ဆက္လက္ေဖာ္ျပေပးထားပါတယ္...။
ကိုယ္တိုင္းVirusေရးနည္း+2
Virus ကူးစက္ျခင္း : အဆင့္ (၁)
ကူးစက္ရန္ ဖိုင္ရွာေဖြျခင္း
Virus ကူးစက္ဖို႔အတြက္ ကူးစက္ရန္လြယ္ကူေသာ ဖိုင္တစ္ခုရွာေဖြရာတြင္ ထိေရာက္မႈ (သို႔) Virusesကူးစက္ႏိုင္မႈ တိုးတက္လာဖို႔အတြက္ target ေပးျခင္း။
ကူးစက္ရန္ဖိုင္တစ္ခုကို ရွာေဖြဖို႔ ေအာက္ပါ နည္းလမ္းမ်ားကို အသံုးျပဳႏိုင္ပါတယ္။
- Directory Traversal
- "dot dot" method
Directory Traversal Method
- ကူးစက္ရန္ဖိုင္တစ္ခုကို ရွာေဖြဖို႔ directory traversal function တစ္ခုေရးသားျခင္း၊
- တကယ္တကယ္မွာေတာ့ Directory Traversal functions ေတြဟာ recursive ျဖစ္ပါတယ္။ ဒါေၾကာင့္ေႏွးေကြးပါတယ္။
"dot dot" Method
- "dot dot" method ဟာလည္း ကူးစက္ဖို႔ ဖိုင္ရွာေဖြျခင္း အတြက္ အသံုးျပဳႏိုင္ပါတယ္။
- "dot dot" method virus မွာ directory တစ္ခုစီအတြက္ ရွာေဖြပါတယ္။ အကယ္၍ viurs ကူးစက္ဖို႔ မလုပ္ေလာက္ဘူး ဆိုရင္ ယခင္ directory ( dot dot ) ကိုျပန္သြားျပီး ေနာက္တၾကိမ္ ကူးစက္ဖို႔အတြက္ ္ၾကိဳးစားပါတယ္။
- ပထမဆံုး ေျပာင္းလဲဖို႔လြယ္ကူတဲ႔ memory chunk တစ္ခုကို set up လုပ္တယ္။
- FINDFIRST နဲ႔ FINDNEXT calls ေတြရဲ႕ series တစ္ခုကို ထုတ္ေပးတယ္။
Virus ကူးစက္ျခင္း : အဆင့္ (၂)
Virueses ကူးစက္ျခင္းဆိုင္ရာ စံကိုစစ္ေဆးျခင္း
ဖိုင္ နဲ႔ program တစ္ခုခုကို virues ကူးစက္သင့္သလား မသင့္ဘူးလား ဆိုတာ စစ္ေဆးျခင္းပါ။
စံခ်ိန္စံညႊန္းကို စစ္ေဆးဖို႔အတြက္ ဥပမာေပးထားတဲ႔ code ေတြပါ ....
အထက္ပါ code နဲ႔ ဖိုင္တစ္ခုရဲ႕ file name ကို စစ္ေဆးရာမွာ အကယ္၍ file name မွာ ေနာက္ဆံုး စာလံုးေတြဟာ ND နဲ႔ တူညီေနမယ္ဆိုရင္ စစ္ေဆးျခင္းဟာ fail ျဖစ္ပါလိမ့္မယ္။
Virus ကူးစက္ျခင္း : အဆင့္ (၃)
ယခင္ကူးစက္ျခင္းမ်ားအတြက္ စစ္ေဆးျခင္း
ဖိုင္တစ္ခုခုကို virus ကူးစက္ျပီးျပီလား၊ မျပီးေသးဘူးလား ဆိုတာ စစ္ေဆးပါတယ္။
ဒီဟာက ဖိုင္တစ္ခုတည္းကို virus ေတြ တစ္သီတစ္တန္းၾကီး ကူးစက္ေနျခင္းမွာ ေရွာင္ရွားဖို႔အတြက္ အသံုး၀င္ပါတယ္။
ေအာက္မွာျပထားတဲ႔ code ေတြကေတာ့ အရင္ကတည္းက virus ကူးစက္ျပီးျပီလားဆိုတာကို စစ္ေဆးတဲ႔ ဥပမာ code ေတြပါ။
Virus ကူးစက္ျခင္းအတြက္ ဖုိင္တစ္ခုကို မွတ္သားျခင္း
ကူးစက္ဖိုင္တစ္ခုကို မွတ္သားျခင္းဟာ ကူးစက္ဖိုင္ေတြကို အသိအမွတ္ျပဳဖို႔အတြက္ အသံုး၀င္ပါတယ္။
၄င္းဟာ ကူးစက္ျပီးသားဖိုင္ေတြကို ေရွာင္ရွားႏိုင္ဖို႔အတြက္လည္း အကူအညီေပးပါတယ္။
ဖိုင္ဟာ ယခင္ကူးစက္ျပီးသားဖိုင္တစ္ခုခုကို စစ္ေဆးဖို႔အတြက္ marker ကို ရွာေဖြေပးပါတယ္။
ေအာက္မွာျပထားတဲ႔ ဥပမာcode ေတြကေတာ့ ကူးစက္ဖိုင္တစ္ခုမွာ marker ကို အေထာက္အကူေပးႏိုင္ဖို႔အတြက္သံုးျပဳပါတယ္။
ကိုယ္တိုင္းVirusေရးနည္း+3
ဒီအပိုင္းကေတာ့ Virus ဖန္တီးျခင္း posts နဲ႔ပတ္သတ္ျပီး ေနာက္ဆံုးအပိုင္းပါ။
ေသခ်ာေလ့လာၾကည့္မယ္ဆိုရင္ Virus တစ္ခုကို ဖန္တီးဖို႔အတြက္ အစိတ္အပိုင္း ၂၅
ပိုင္း ပါ၀င္တယ္ဆိုတာကို ေတြ႔ရပါလိမ့္မယ္။ ျပီးေတာ့ Virus
ကူးစက္ျခင္းအဆင့္ ၅ ဆင့္ရွိတဲ႔အထဲမွာ အဆင့္ (၁)၊ (၂)၊ (၃) ကို
ေဖာ္ျပခဲ႔ျပီးပါျပီ။ ဒီ post မွာေတာ့ အဆင့္ (၄) နဲ႔ (၅) အျပင္ Virus
ဖန္တီးျခင္းအတြက္ သိထားရမယ့္ Virus ရဲ႕အဓိက အစိတ္အပိုင္း (၃)ပိုင္းကို
ေဖာ္ျပထားပါတယ္။ ဒီအပိုင္းက နဲနဲရႈပ္ေထြးပါတယ္။ ၾကိဳးစားျပီး
ဖတ္ရပါလိမ့္မယ္။
Virus ကူးစက္ျခင္း : အဆင့္ (၄)
Virus ကူးစက္ဖိုင္
ဖိုင္ attributes မ်ားကို သိမ္းဆည္းျခင္း
- virus ကူးစက္ဖို႔အတြက္ ဖိုင္တစ္ခုကို ရွာေဖြျပီးတဲ႔ ေနာက္မွာ အဲဒီဖိုင္ရဲ႕ attributes ၊ အခ်ိန္ ၊ ေန႔ရက္ နဲ႔ ဖိုင္ဆိုဒ္ ေတြကို ဖတ္သားထားလိုက္ပါတယ္။
- အဲဒီ attributes ေတြကို variable memory space မွာ သိမ္းဆည္းထားျပီး ျပန္လည္ခြဲေ၀သတ္မွတ္ေပးပါတယ္။
-ေအာက္မွာျပထားတဲ႔ code ေတြကေတာ့ အဲဒီ attributes အားလံုးကို သိမ္းဆည္းေပးဖို႔အတြက္ အသံုးျပဳပါတယ္။
Virus ကူးစက္ျခင္း : အဆင့္ ( ၄) ( ဆက္လက္၍)
ဖိုင္ attributes မ်ားကို လိုအပ္သလို ျပင္ဆင္ေျပာင္းလဲျခင္း
- ဒီအပိုင္းကေတာ့ systemရဲ႕ virus ကူးစက္ျခင္း၊ ဖံုးကြယ္ျခင္း နဲ႔ read only ဖိုင္ မ်ားျဖစ္လာဖို႔အတြက္ ကူညီေပးပါတယ္။
- ေအာက္မွာ ဥပမာ ျပထားတဲ႔ code ေတြကေတာ့ အခုေျပာခဲ႔တဲ႔ဟာေတြကို လုပ္ေဆာင္ေပးဖို႔အတြက္ အသံုးျပဳပါတယ္။
read/write mode မွာ ဖိုင္ကိုဖြင့္ျခင္း
- handler တစ္ခုနဲ႔ ဖိုင္ကို ဖြင့္ဖို႔အတြက္ အသံုးျပဳႏိုင္ပါတယ္။
- ဖိုင္တစ္ခုကို ဖြင့္ႏိုင္တဲ႔ ဥပမာ code ေတြပါ။
Virus ကူးစက္ျခင္း : အဆင့္ (၄) ( ဆက္လက္၍)
Virus ရဲ႕ လုပ္ငန္းမ်ားကို Run ျခင္း
- ဒီအဆင့္မွာေတာ့ Virus ဟာ သူရဲ႕ main action ကို ေဆာင္ရြက္ပါတယ္။
- အစိတ္အပိုင္း အမ်ိဳးမ်ိဳး နဲ႔ သူတို႔ရဲ႕ actions ေတြကို ေနာက္ပိုင္းမွာ ေဖာ္ျပေပးသြားပါမယ္။
Virus ကူးစက္ျခင္း : အဆင့္ (၅)
လမ္းေၾကာင္းမ်ားကို ကာကြယ္ျခင္း
- ဖိုင္ attribute ေတြ ၊ အခ်ိန္ နဲ႔ ေန႔ရက္ေတြကို ေျပာင္းလဲသြားမွန္ မသိေအာင္ Restore ျဖစ္လုပ္ပါတယ္။
- ေအာက္ပါ code ေတြကေတာ့ ဖိုင္ attribute ေတြကို restore လုပ္ဖို႔အတြက္ အသံုးျပဳပါတယ္။
Virus မ်ား၏ အစိတ္အပိုင္းမ်ား
Virusေတြမွာ ေအာက္ပါအတိုင္း အပိုင္း ( ၃ ) ပိုင္း ပါ၀င္ ပါတယ္။ အဲဒါေတြကေတာ့...
(၁) Replicator ( Copier)
Replicator ဆိုတာကေတာ့ Virus ေရာက္ရွိသြားတဲ႔ system တစ္ခုလံုးမွာ Virus ျပန္႔ႏွံ႕ သြားဖို႔ ေဆာင္ရြက္ရတဲ႔ အပိုင္းပါ။
(၂) Conceler (ဖံုးကြယ္ျခင္း)
Conceler ကေတာ့ ေန႔စဥ္အသံုးျပဳေနတဲ႔ user ေတြ၊ Virus scanner ေတြက Virus program ကို ေတြ႔မသြားေအာင္ ကာကြယ္ထားေပးပါတယ္။
(၃) Bomb/Payload
Virus ရဲ႕ ဒီအပိုင္းကေတာ့ deletion အားလံုး ၊ slowdown အားလံုး စသျဖင့္ Virus ရဲ႕ ဖ်က္ဆီးျခင္းအပိုင္းေတြကို လုပ္ေဆာင္ပါတယ္။
Replicator အပိုင္း ရဲ႕ Function မ်ား
Diagrammatical representation
Replicator ရဲ႕ Writing ပိုင္း
အဆင့္ (၁) : program ရဲ႕ V2 သို႔ V1 transfers control
Replicator ရဲ႕ Writing ပိုင္း (ဆက္လက္၍)
အဆင့္ (၂) :
Concealer ရဲ႕ Writing ပိုင္း
Dispatcher
Dispatcher ဆိုတာကေတာ့ Virus ကူးစက္တဲ႔ program ဆီကို control ျပန္လုပ္ႏိုင္ဖို႔အတြက္ restore လုပ္ေပးတဲ႔ Virus ရဲ႕ အစိတ္အပိုင္းတစ္ခုျဖစ္ပါတယ္။
COM virus တစ္ခုအတြက္ Dispatcher ပါ...
Bomb/Payload ရဲ႕ Writing ပိုင္း
ဒီအပိုင္းကေတာ့ virus တစ္ခုရဲ႕ အဓိက အခန္းက႑ျဖစ္ပါတယ္။
Bomb အပိုင္းမွာ ေအာက္မွာ ျပထားတဲ႔ problem ေတြကို ဖန္တီးဖို႔အတြက္ ေရးသားႏိုင္ပါတယ္ :
Trigger Mechanism ဟာ Virus တစ္ခု activation ျဖစ္ဖုိ႔အတြက္ logical condition ကို ဖန္တီးေပးပါတယ္။
Trigger ေတြရဲ႕ type ေတြကေတာ့ ေအာက္ပါအတိုင္းျဖစ္ႏိုင္ပါတယ္ :
Bombs/ Payloads
Payloads ရဲ႕ logics မွာ ေအာက္ပါ action ေတြအတိုင္း ေဆာင္ရြက္ေအာင္ code ေရးသားႏိုင္ပါတယ္ :
Brute Force Logic Bombs
ဒီ bombs ေတြကေတာ့ system resources ေတြကို ပ်က္ဆီးေစျခင္း မရွိပါဘူး။ ဒါေပမယ့္ စိတ္အေႏွာင့္အယွက္ ျဖစ္ေအာင္ေတာ့ ဖန္တီးႏိုင္ၾကပါတယ္။
ေအာက္မွာ ဥပမာ ျပထားတဲ႔ code ေတြကေတာ့ system speaker ကို turn on လုပ္ေပးတဲ႔ code ေတြျဖစ္ပါတယ္...
Virus Code မ်ားကို စမ္းသပ္ျခင္း
အေကာင္းမြန္ဆံုး Virus ေရးသားျခင္းအတြက္ အၾကံေပးခ်က္
အတိုခ်ဳပ္အေနနဲ႔ ေျပာရရင္ေတာ့...
နားလည္မယ္လို႔ေတာ့ ထင္ပါတယ္။ ဒါေပမယ့္ beginner ေတြအတြက္ေတာ့ နဲနဲခက္ပါတယ္။ ေနာက္ထပ္ Virus Guide ေတြကိုလည္း အဆင္ေျပရင္ ေျပသလို (က်ေနာ္ မပ်င္းရင္ေပါ့ေလ...:P ) တင္သြားေပးပါ့မယ္။
(Educational Purposes Only)
Virus ကူးစက္ျခင္း : အဆင့္ (၄)
Virus ကူးစက္ဖိုင္
ဖိုင္ attributes မ်ားကို သိမ္းဆည္းျခင္း
- virus ကူးစက္ဖို႔အတြက္ ဖိုင္တစ္ခုကို ရွာေဖြျပီးတဲ႔ ေနာက္မွာ အဲဒီဖိုင္ရဲ႕ attributes ၊ အခ်ိန္ ၊ ေန႔ရက္ နဲ႔ ဖိုင္ဆိုဒ္ ေတြကို ဖတ္သားထားလိုက္ပါတယ္။
- အဲဒီ attributes ေတြကို variable memory space မွာ သိမ္းဆည္းထားျပီး ျပန္လည္ခြဲေ၀သတ္မွတ္ေပးပါတယ္။
-ေအာက္မွာျပထားတဲ႔ code ေတြကေတာ့ အဲဒီ attributes အားလံုးကို သိမ္းဆည္းေပးဖို႔အတြက္ အသံုးျပဳပါတယ္။
Virus ကူးစက္ျခင္း : အဆင့္ ( ၄) ( ဆက္လက္၍)
ဖိုင္ attributes မ်ားကို လိုအပ္သလို ျပင္ဆင္ေျပာင္းလဲျခင္း
- ဒီအပိုင္းကေတာ့ systemရဲ႕ virus ကူးစက္ျခင္း၊ ဖံုးကြယ္ျခင္း နဲ႔ read only ဖိုင္ မ်ားျဖစ္လာဖို႔အတြက္ ကူညီေပးပါတယ္။
- ေအာက္မွာ ဥပမာ ျပထားတဲ႔ code ေတြကေတာ့ အခုေျပာခဲ႔တဲ႔ဟာေတြကို လုပ္ေဆာင္ေပးဖို႔အတြက္ အသံုးျပဳပါတယ္။
read/write mode မွာ ဖိုင္ကိုဖြင့္ျခင္း
- handler တစ္ခုနဲ႔ ဖိုင္ကို ဖြင့္ဖို႔အတြက္ အသံုးျပဳႏိုင္ပါတယ္။
- ဖိုင္တစ္ခုကို ဖြင့္ႏိုင္တဲ႔ ဥပမာ code ေတြပါ။
Virus ကူးစက္ျခင္း : အဆင့္ (၄) ( ဆက္လက္၍)
Virus ရဲ႕ လုပ္ငန္းမ်ားကို Run ျခင္း
- ဒီအဆင့္မွာေတာ့ Virus ဟာ သူရဲ႕ main action ကို ေဆာင္ရြက္ပါတယ္။
- အစိတ္အပိုင္း အမ်ိဳးမ်ိဳး နဲ႔ သူတို႔ရဲ႕ actions ေတြကို ေနာက္ပိုင္းမွာ ေဖာ္ျပေပးသြားပါမယ္။
Virus ကူးစက္ျခင္း : အဆင့္ (၅)
လမ္းေၾကာင္းမ်ားကို ကာကြယ္ျခင္း
- ဖိုင္ attribute ေတြ ၊ အခ်ိန္ နဲ႔ ေန႔ရက္ေတြကို ေျပာင္းလဲသြားမွန္ မသိေအာင္ Restore ျဖစ္လုပ္ပါတယ္။
- ေအာက္ပါ code ေတြကေတာ့ ဖိုင္ attribute ေတြကို restore လုပ္ဖို႔အတြက္ အသံုးျပဳပါတယ္။
Virus မ်ား၏ အစိတ္အပိုင္းမ်ား
Virusေတြမွာ ေအာက္ပါအတိုင္း အပိုင္း ( ၃ ) ပိုင္း ပါ၀င္ ပါတယ္။ အဲဒါေတြကေတာ့...
(၁) Replicator ( Copier)
Replicator ဆိုတာကေတာ့ Virus ေရာက္ရွိသြားတဲ႔ system တစ္ခုလံုးမွာ Virus ျပန္႔ႏွံ႕ သြားဖို႔ ေဆာင္ရြက္ရတဲ႔ အပိုင္းပါ။
(၂) Conceler (ဖံုးကြယ္ျခင္း)
Conceler ကေတာ့ ေန႔စဥ္အသံုးျပဳေနတဲ႔ user ေတြ၊ Virus scanner ေတြက Virus program ကို ေတြ႔မသြားေအာင္ ကာကြယ္ထားေပးပါတယ္။
(၃) Bomb/Payload
Virus ရဲ႕ ဒီအပိုင္းကေတာ့ deletion အားလံုး ၊ slowdown အားလံုး စသျဖင့္ Virus ရဲ႕ ဖ်က္ဆီးျခင္းအပိုင္းေတြကို လုပ္ေဆာင္ပါတယ္။
Replicator အပိုင္း ရဲ႕ Function မ်ား
- Replicator ဟာ ေအာက္က အဆင့္ ႏွစ္ခု အတိုင္း အလုပ္လုပ္ပါတယ္...
- ၄င္းဟာ ကူးစက္ခံရတဲ႔ ဖိုင္ရဲ႕ ပထမဆံုး bytes အနည္းငယ္ကို အရင္ဆံုး saves လိုက္ပါတယ္။
- အဲဒီေနာက္မွာေတာ့ Virus code အပိုင္းေလးတစ္ခုကို ဖိုင္ ရဲ႕ အစ နဲ႔ အဆံုး ပိုင္းမွာ copy ကူးထည့္ေပးလိုက္ပါတယ္။
Diagrammatical representation
Replicator ရဲ႕ Writing ပိုင္း
အဆင့္ (၁) : program ရဲ႕ V2 သို႔ V1 transfers control
Replicator ရဲ႕ Writing ပိုင္း (ဆက္လက္၍)
အဆင့္ (၂) :
- V2 မွာ main virus code ကိုထည့္ပါတယ္။
- V2 ရဲ႕ ေနာက္ဆံုးအပိုင္းမွာ V1 ရဲ႕ ေနရာကေနထြက္လာတဲ႔ P1 ကို copy လုပ္ပါတယ္။
- ဖိုင္ ရဲ႕ အစပိုင္းကို Transfers control လုပ္ပါတယ္။
Concealer ရဲ႕ Writing ပိုင္း
- Concelar က user ေတြ နဲ႔ Virus scanner ေတြ မေတြ႔ေအာင္ Virus codes ကို ဖံုးကြယ္လုိက္ပါတယ္။
- Virusေတြကို ဖံုးကြယ္ေပးဖို႔အတြက္ Encryption ဟာ အတြင္က်ယ္ဆံုးသံုးေနတဲ႔ methodတစ္ခုပါ။
Dispatcher
Dispatcher ဆိုတာကေတာ့ Virus ကူးစက္တဲ႔ program ဆီကို control ျပန္လုပ္ႏိုင္ဖို႔အတြက္ restore လုပ္ေပးတဲ႔ Virus ရဲ႕ အစိတ္အပိုင္းတစ္ခုျဖစ္ပါတယ္။
COM virus တစ္ခုအတြက္ Dispatcher ပါ...
Bomb/Payload ရဲ႕ Writing ပိုင္း
ဒီအပိုင္းကေတာ့ virus တစ္ခုရဲ႕ အဓိက အခန္းက႑ျဖစ္ပါတယ္။
Bomb အပိုင္းမွာ ေအာက္မွာ ျပထားတဲ႔ problem ေတြကို ဖန္တီးဖို႔အတြက္ ေရးသားႏိုင္ပါတယ္ :
- System slowdown
- File deletion
- မေကာင္းေသာ/ရုိင္းစိုင္းေသာ message မ်ား ေဖာ္ျပေစျခင္း
- hard drive ရဲ႕ Partion Table/Boot Sector/FAT မ်ားကို ဖ်က္ဆီးပစ္ျခင္း/အစားထိုးျခင္း(သို႔)အသစ္လဲလွယ္ျခင္း
- Trigger mechanism (အစပ်ိဳးေပးေသာ စနက္ပိုင္း)
- Destructive code (ပ်က္စီးေစေသာ code )
Trigger Mechanism ဟာ Virus တစ္ခု activation ျဖစ္ဖုိ႔အတြက္ logical condition ကို ဖန္တီးေပးပါတယ္။
Trigger ေတြရဲ႕ type ေတြကေတာ့ ေအာက္ပါအတိုင္းျဖစ္ႏိုင္ပါတယ္ :
- Counter trigger
- Keystoke trigger
- Time trigger
- Replication trigger
- System parameter trigger
- Null trigger
Bombs/ Payloads
Payloads ရဲ႕ logics မွာ ေအာက္ပါ action ေတြအတိုင္း ေဆာင္ရြက္ေအာင္ code ေရးသားႏိုင္ပါတယ္ :
- Brute force attacks
- Hardware failure
- Stealth attack
- Indirect attack
Brute Force Logic Bombs
ဒီ bombs ေတြကေတာ့ system resources ေတြကို ပ်က္ဆီးေစျခင္း မရွိပါဘူး။ ဒါေပမယ့္ စိတ္အေႏွာင့္အယွက္ ျဖစ္ေအာင္ေတာ့ ဖန္တီးႏိုင္ၾကပါတယ္။
ေအာက္မွာ ဥပမာ ျပထားတဲ႔ code ေတြကေတာ့ system speaker ကို turn on လုပ္ေပးတဲ႔ code ေတြျဖစ္ပါတယ္...
Virus Code မ်ားကို စမ္းသပ္ျခင္း
- back up လုပ္ထားတဲ႔ Virus codes ေတြကို ယူပါ။
- RamDrives မ်ားကိုသံုးပါ။
- anti-virus utilitie မ်ားကိုသံုးပါ။
အေကာင္းမြန္ဆံုး Virus ေရးသားျခင္းအတြက္ အၾကံေပးခ်က္
- heap memory ကိုသံုးပါ။
- procedure call မ်ားကိုအသံုးျပဳပါ။
- ေကာင္းမြန္တဲ႔ assembler နဲ႔ debugger တစ္ခုကို သံုးပါ။
- LEA အစား MOV ကို အသံုးမျပဳပါနဲ႔။
အတိုခ်ဳပ္အေနနဲ႔ ေျပာရရင္ေတာ့...
- ကြန္ျပဴတာ virus ဆိုတာ self-replicating computer program တစ္ခုျဖစ္ျပီးေတာ့ အျခား executable code ( သို႔) documents မ်ားထဲကို သူ႔ကိုယ္သူ copy ကူးထည့္ျခင္း အားျဖင့္ ကူးစက္ျပန္႔ႏွံ႕ေစပါတယ္။
- Virus ေရးသားျခင္းအတြက္ အေျခခံက်တဲ႔ လိုအပ္ခ်က္ကေတာ့ assembly language ကို မခၽြင္းမခ်န္ သိထားရမွာပဲျဖစ္ပါတယ္။
- Utilitie ေတြအေနနဲ႔ကေတာ့ turbo C compiler နဲ႔ Norton utilitie ေတြက virus ေရးသားျခင္း process အတြက္ လြယ္ကူေခ်ာေမြ႔ေစပါတယ္။
- Virus မွာ replicator , concealer နဲ႔ payload ဆိုျပီး အပိုင္း (၃) ပိုင္းပါ၀င္ပါတယ္။
နားလည္မယ္လို႔ေတာ့ ထင္ပါတယ္။ ဒါေပမယ့္ beginner ေတြအတြက္ေတာ့ နဲနဲခက္ပါတယ္။ ေနာက္ထပ္ Virus Guide ေတြကိုလည္း အဆင္ေျပရင္ ေျပသလို (က်ေနာ္ မပ်င္းရင္ေပါ့ေလ...:P ) တင္သြားေပးပါ့မယ္။
(Educational Purposes Only)












