12/26/2013

Reverse Engineering [Explaination]

 

In Brief

Reverse Engineering ဆုိတာကုိ Reverse Engineering လုိ႔ပဲမွတ္ထားတာေကာင္းပါတယ္။ တခါတေလ Computer Term ေတြကုိျမန္မာလုိတုိက္ရုိက္ျပန္ရင္ ကဂ်ဳိးကေဂ်ာင္ႏုိင္လြန္းပါတယ္။ Reverse Engineering ဆုိတာ Device ဒါမွမဟုတ္ System တစ္ခုရဲ႕ Structure ကုိ Analysis လုပ္ျခင္းလုိ႔ ေယဘုယ်အားျဖင့္သတ္မွတ္ႏုိင္ပါတယ္။ဥပမာဗ်ာ ေလယာဥ္တစ္ခုရဲ႕တည္ေဆာက္ပုံကုိ ေသခ်ာနားလည္ဖုိ႔ အဲဒီေလယာဥ္ကုိ ျဖဳတ္ျပီး Analysis လုပ္မယ္။ disassembling လုိ႔ေခၚပါတယ္။ ေဆာ့ဝဲလ္ေတြကုိ Crack တယ္ဆုိတာလည္း ဒီသေဘာတရားပါပဲ။ ရည္ရြယ္ခ်က္ကေတာ့ အဲဒီ Hardware, Device, Tool တစ္ခုရဲ႕ အားနည္းခ်က္ (bug) ကုိရွာေဖြဖုိ႔၊ ပုိေကာင္းတဲ့ေနာက္တစ္ခုထပ္ထြင္ႏုိင္ဖုိ႔အတြက္ပါ။ Reverse Engineering ေၾကာင့္ ကြ်န္ေတာ္တုိ႔ ပုိေကာင္းတဲ့ ေမာ္ဒယ္ျမင့္ေလယာဥ္ေတြ။ ေဆာ့ဝဲလ္ဗားရွင္းေတြ၊ ထြက္လာတာေပါ့ေနာ္။


Reasons for reverse engineering:

Interfacing- မတူညီတဲ့ System ႏွစ္ခုကုိ ဆက္သြယ္ေပးဖုိ႔ ၾကားခံစနစ္အျဖစ္အသုံးခ်ရာမွာ Reverse Engineering ကုိအသုံးခ်ပါတယ္။ ဥပမာ iPod Device ကုိ Windows ကြန္ပ်ဴတာမွာ သိေအာင္ ဘာညာ။
Military or commercial espionage- စစ္ဘက္ဆုိင္ရာေတြမွာဆုိရင္ ရန္သူေတြရဲ႕ နည္းပညာနမူနာ prototype ေတြကုိ ခုိးျပီး dismantling လုပ္မယ္။ ျပီးရင္ အဲဒီထက္ပုိေကာင္းတဲ့ Device ကုိထြင္မယ္။ ဥပမာ အေမရိကန္က F35 ေလယာဥ္ထြင္ထားတယ္ဆုိရင္ ျမန္မာႏုိင္ငံက အဲဒီထက္အဆင့္ျမင့္တဲ့ ကုိယ္ေပ်ာက္ေလယာဥ္ အသံထက္ 50 ဆျမန္တဲ့ေလယာဥ္ထြင္မယ္။ သူတုိ႔နမူနာေလယာဥ္ရဲ႕ နည္းပညာေတြကုိ Reverse လုပ္ျပီးေတာ့။ ဟီး
Improve documentation shortcomings-အခ်ဳိ႕ေသာ Original designer ေတြက သူတုိ႔ရဲ႕ System ဒါမွမဟုတ္ Operation အတြက္ ထပ္ျပီး Develop လုပ္ဖုိ႔ Function မပါလာဘူး။ ဒီေနရာမွာ Reverse Engineering Software ေတြနဲ႔ Develop လုပ္ႏုိင္ေစတယ္။
Obsolescence-တခါတေလမွာ Integrated circuits ေတြဟာ design obsolete ျဖစ္လာတယ္။ နည္းပညာ ပေပ်ာက္ကုန္တာေပါ့ေနာ္။ သူကုိေနာက္ထပ္ develop လုပ္ဖုိ႔မလြယ္ကူေတာ့ဘူး။ အဲဒိအခ်ိန္မွာ Reverse Engineering နဲ႔ Design အသစ္ဆြဲႏုိင္ေစတယ္။
Product Security Analysis-ကုိယ္ေရးထားတဲ့ Tool/Software တစ္ခုရဲ႕ Security ကုိစစ္ေဆးဖုိ႔ အသုံးခ်ႏုိင္ပါတယ္။ ဥပမာ Copy Protection လုပ္ထားတာမ်ဳိး။
Bug fixing-ဒါေတာ့ အားလုံး သိထားၾကတဲ့အတုိင္းပါပဲ။ Tool/Software/Device ေတြဆုိတာ 100% perfect ဆုိတာမရွိဘူးေလ။ ဒီေတာ့ bug fix လုပ္ဖုိ႔လုိအပ္ပါတယ္။
Creation of unlicensed/unapproved duplicates-ဒါကုိေတာ့ Computer ေလာကမွာ Clone လုိ႔ေခၚပါတယ္။ ဥပမာ iPhone 5 အတု၊ Galaxy s4 အတု ဘာညာေပါ့။
Competitive technical intelligence-ကုိ္ယ့္ျပိဳင္ဖက္က ဘာေတြလုပ္ေနသလဲဆုိတာသိရဖုိ႔ အသုံးခ်ပါတယ္။ ဥပမာ Samsung က iPhone 5 နည္းပညာကုိခုိးခ်ပါတယ္။ iPhone ကလည္း Samsung နည္းပညာကုိခုိးခ်ပါတယ္ ေျပာသံေတြၾကားေနရတာပဲ။ ဒါပဲေနလိမ့္မယ္။


Usage of Reverse engineering

Reverse engineering ကုိအသုံးခ်တဲ့ေနရာေတြအမ်ားၾကီးပါပဲ။ အလြယ္ကူဆုံးဥပမာကေတာ့ ကြ်န္ေတာ္တုိ႔ Tool ေတြကုိ Crack လုပ္ထားတာပါပဲ။ Windows 8 ထြက္တာမၾကာေသးဘူး။ Crack Version ကထြက္လာျပီ။ Adobe Photoshop CS6 လာထား Crack version ရွိတယ္။ အဲသလုိေပါ့ဗ်ာ။ ဟီး။ ဒုတိယ ကမၻာစစ္တုန္းက အေမရိကန္ေတြ ဂ်ပန္ႏုိင္ငံေပၚကုိ ဗုံးၾကဲခဲ့တဲ့ B-29 ဗုံးၾကဲေလယာဥ္ဆုိတာ နာမည္ၾကီးပါပဲ။ အဲဒါကုိ ဆုိဗီယက္ေတြမွာမရွိေပမယ့္ ေကာ္ပီကူးျပီး Tu-4 ကုိထြင္လုိက္တယ္။ အားလုံးနီပါးတူပါသတဲ့။ Reverse Engineering နည္းနဲ႔ေပါ့။ တရုတ္ေတြဆုိ Reverse Engineering နဲ႔ အေနာက္တုိင္းက နည္းပညာေတြကုိ ခုိးခ်တာ ကမၻာအသိပါပဲ။ Cracking စာအုပ္ေတြဖတ္ၾကည့္လုိက္ဗ်ာ။ Tool တစ္ခုကုိဘယ္လုိ Crack ရမလဲဆုိတာ Tool ေတြ၊ နည္းေတြအမ်ားၾကီးေတြ႕ရလိမ့္မယ္။ decompiler, disassembler ေတြေနာက္ထပ္ အမ်ားၾကီးပါပဲဗ်ာ။

Legality

Reverse Engineering နည္းပညာကုိ မဟုတ္တဲ့ေနရာမွာ သုံးဖုိ႔ သူမ်ားႏုိင္ငံေတြမွာေတာ့ ခြင့္မျပဳပါဘူး။ ဒီအတြက္ Copyright Law ေတြရွိပါတယ္။ ကုိယ့္ျမန္မာႏုိင္ငံမွာေတာ့ ေသခ်ာမရွိေသးဘူးထင္တာပဲ။ ကုိယ္လုပ္လုိက္တဲ့ Tool ကုိ သူမ်ား Crack လုိက္ရင္ ဘယ္နား Complain တက္ရမယ္မသိဘူး။ ဒါကေတာ့ အမ်ားၾကီးလုိအုံးမယ္။ ထားပါေတာ့။ ေအာက္မွာ US ႏုိင္ငံမွာ သတ္မွတ္ထားတဲ့ အေျခေနတစ္ခုအတြင္း Reverse Engineering နည္းပညာကုိ အသုံးခ်ႏုိင္ပုံကုိ ေလ့လာႏုိင္ပါတယ္။
 
(f) Reverse Engineering.—
(1) Notwithstanding the provisions of subsection (a)(1)(A), a person who has lawfully obtained the right to use a copy of a computer program may circumvent a technological measure that effectively controls access to a particular portion of that program for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability of an independently created computer program with other programs, and that have not previously been readily available to the person engaging in the circumvention, to the extent any such acts of identification and analysis do not constitute infringement under this title.
(2) Notwithstanding the provisions of subsections (a)(2) and (b), a person may develop and employ technological means to circumvent a technological measure, or to circumvent protection afforded by a technological measure, in order to enable the identification and analysis under paragraph (1), or for the purpose of enabling interoperability of an independently created computer program with other programs, if such means are necessary to ach.


Read my post@ http://www.4sectors.com/forum/showthread.php?tid=1453&pid=4947#pid4947

No comments:

Post a Comment

If you good, i don't bad. if you think you can bark me, I think i can also fuck you. I'm just ordinary person. Is that OK? :)