.NET assemblies decompiler

မနေ့က သူငယ်ချင်းတစ်ယောက်က သူ့ရဲ့ ASP.NET project တစ်ခုကို နည်းနည်း modify လုပ်ပေးပါဆိုပြီး source code ပေးလိုက်တယ်။ ကိုယ်ကလည်း ASP.NET ကို အတတ်ကြီးတော့ မဟုတ်ပေမယ့် လေးငါးလလောက်တော့ project တစ်ခုအောက်မှာ လုပ်ဖူးတယ်။ အဲဒါနဲ့ ယူလာပြီး ကိုယ့်PC မှာ database တွေဘာတွေ create လုပ်ပြီးတော့ IIS ကနေ run လိုက်တယ်။ အားလုံး ကောင်းကောင်း အလုပ်လုပ်တယ်။ ဒါပေမယ့် Modify လုပ်ဖို့ code directory ကို ကြည့်လိုက်တော့ .aspx file တွေ ချည်းဘဲ။ code-behind file တွေ တစ်ခုမှ မတွေ့ဘူး။

စစချင်းတော့ တော်တော် စဉ်းစားရ ကျပ်သွားတယ်။ code-behind file တွေ ဘယ်ပျောက်သွားတာလဲလို့။ file ကူးလာတုန်းက သူ့ကွန်ပျူတာရဲ့ Inetpub/wwwroot အောက်ကနေ folder တစ်ခုလုံး ကူးလာတာဘဲ။ ပြီးတော့ ကိုယ့်PC ထဲရောက်တော့ အလုပ်မလုပ်ဘူးဆိုရင်လည်း ဟုတ်သေးတယ်။ အခုဟာက page တွေ အားလုံး အလုပ်လုပ်နေတယ်။ ဒါပေမယ့် code-behind file ရှာမရဘူး။ နေ့တစ်ဝက်လောက် google လုပ် ဟို forum တက်မေး ဒီ forum တက်မေးနဲ့မှ နည်းနည်း ရှင်းသွားတယ်။ မူရင်း developer က သူ့ code-behind တွေ အကုန်လုံးကို dll အနေနဲ့ compile လုပ်ထားတာကိုး။ ဒါကြောင့် edit လုပ်လို့ မရတာ။ development အပိုင်းမှာဘဲ လုပ်ဖူးပြီး deployment အပို်င်းမှာ လုံးဝ experience မရှိတော့ ဘယ်သိမလဲနော်။ ဟူး…

အဖြေလိုက်ရှာရင်းနဲ့ Reflector ဆိုတဲ့ ASP.NET project ကို decompile လုပ်လို့ရတဲ့ tool တော့ ရှာတွေ့လိုက်တယ်။ decompile လုပ်ပြီး original business logic တွေကိုတော့ သွားကြည့်လို့ ရသွားတယ်။ သူငယ်ချင်းကိုတော့ ဘာအကူအညီမှ မပေးလိုက်နိုင်ပေမယ့် Reflector tool ကို စမ်းသုံးကြည့်ဖြစ်သွားတယ်။ Dissembler အပြင် နောက်ထပ် စိတ်ဝင်စားဖို့ ကောင်းတဲ့ feature တစ်ခုက Analyzer ဘဲ။ class တွေ အားလုံးကို depends on, exposed by, instantiated by, assigned by ဆိုပြီး ကြည့်လို့ရတယ်။ ကိုယ့်ရဲ့ code တွေကို ပြန်ပြီး analyze လုပ်ချင်တဲ့ အခါမှာ တော်တော် အသုံးမှာ။ အသေအချာတော့ မသုံးကြည့်ရသေးဘူး။

.NET သမားတွေအတွက် တော်တော် အသုံးဝင်တဲ့ tool တစ်ခု လို့တော့ review တွေမှာ ရေးထားကြတယ်။ နောက်လိုအပ်ရင် မမေ့သွားအောင် blog မှာ မှတ်ထားလိုက်မယ်။

download - http://www.aisto.com/roeder/dotnet/
blog - http://www.denisbauer.com/weblog/

0 comments:

Post a Comment

Please feel free to use any font to comment :)