Sunday, November 22, 2015

Android Application APK မွ Source Code ထုတ္ယူျခင္း

 Android apk ဖုိင္ကေန Source Codeထုတ္ပုံထုတ္နည္းေလးေၿပာၿပမယ္။ ကၽြန္ေတာ့္လို  androidကုိ စတင္ေလ့လာသူေတြဟာ ေလ့လာသူတို႔ ထုံးစံအတိုင္း သူမ်ားဘယ္လို ေရးသလဲ သိခ်င္ၾကတာေပါ့။ androidမွာ xmlနဲ႔ ဖန္တီးတဲ့ Layout ပိုင္းက မခက္ေပမဲ့ Java Codingေရးရတဲ့အခါ အခက္ေတြ႕ေလ့ရွိပါတယ္။ ဒါေၾကာင့္ ကၽြန္ေတာ္ကိုယ္တုိင္ သူမ်ားရဲ႕ ေရးသားနည္းကို ေလ့လာခ်င္လို႔ siteေပါင္းမ်ားစြာ ရွာေဖြၿပီး ရလာတဲ့နည္းေလးၿဖစ္ပါတယ္။ 

Apkဆိုတာ တကယ္ေတာ့ Android Package ၿဖစ္ပါတယ္။ .apk ဖိုင္ extensionဟာ .zipဖိုင္ formatၿဖစ္ၿပီး jar file formatအေပၚမွာ အေၿခခံထားတာပါ။ apkဖုိင္ထဲမွာ ဘာေတြပါမလဲဆုိေတာ့ .dex files, resources, assests, certificates ႏွင့္ Manifest ဖုိင္တို႔ ပါဝင္တယ္။
အဲေတာ့ ကၽြန္ေတာ္တို႔က Java sourceဖုိင္ေတြကို ဘယ္လုိရယူမလဲ။ လြယ္လြယ္ေလးပါ။ 

Step 1: .apk ဖုိင္ extensionကို .zipဆုိၿပီး zipဖုိင္ ေၿပာင္းလုိက္ပါ။ ၿပီးရင္ zipကို ၿဖည္ထားပါ။ အဲမွာ classes.dexဆိုတာေလးကို ေတြ႕ပါလိမ့္မယ္။ အဲဟာ ကၽြန္ေတာ္တုိ႔ လိုခ်င္ေနတဲ့ Source Codeပါ။
Step 2: dex2jarဆုိတာေလးကို ဒီlinkကေန downloadဆြဲလိုက္ပါ။ zipၿဖည္ထားပါ။ ၿပီးရင္ ဒီ dex2jarထဲကုိ ခုနက apkကို zipၿဖည္ထားတဲ့ထဲက classes.dex
Step 3: ၿပီးရင္ cmdကို ဖြင့္လိုက္ပါ။ dex2jarရွိတဲ့ locationကုိ cd commandနဲ႔သြားပါ။ dex2jar folderကို ေရာက္ေနၿပီဆိုရင္ေတာ့ ဒီ commandကို ရိုက္ပါ။ dex2jar classes.dex လုိ႔ ရုိက္လိုက္ရင္ အဲ့ dex2jar folderထဲမွာ classes_dex2jar.jar ဆုိတဲ့ .jar fileေလးရပါလိမ့္မယ္။ 
Step 4: ဒီအဆင့္မွာ .jar ဖုိင္ကို Java decompilerနဲ႔ java source codeထုတ္ယူပါ့မယ္။ အရင္ဆုံး java decompilerကို downloadဆဲြပါ။
Step 5: ရလာတဲ့ ဖုိင္ကို zipၿဖည္ၿပီး jd-gui.exeဖုိင္ကို runလုိက္ပါ။ jd-gui.exeရဲ႕ window file menuကေန classes_dex2jar.jarကို browseလုပ္ေပးလိုက္ပါ။
Step 6: ေနာက္ file menuကေန "save all sources"ကုိ ႏွိပ္လုိက္ပါ။ အဲ့ဒါဆိုရင္ java source codeေတြ အားလုံးပါဝင္တဲ့ classes_dex2jar.src.zipဆုိတဲ့ zipဖိုင္ေလး ရပါမယ္။ zipကို ၿဖည္ၾကည့္လုိက္ရင္ ကၽြန္ေတာ္တုိ႔ လုိခ်င္တဲ့ .javaဖုိင္ေတြ ရၿပီေပါ့။


XML fileကို apkကေန extractလုပ္မယ္
 ခုဒီမွာ ေပးထားတဲ့ XML Edit ဆိုတဲ့ folderကို downloadဆြဲၿပီး zipၿဖည္လိုက္ပါ။ ၿပီးရင္ ကိုယ္ extractလုပ္ခ်င္တဲ့ apkကို အဲ့ folder ထဲ pasteလုပ္လိုက္ပါ။ ၿပီးရင္ cmdကို ေခၚၿပီး folderရွိတဲ့ locationကို cd commandနဲ႔ သြားပါ။ ေနာက္ "apktool if framework-res.apk" လုိ႔ command ရုိက္လိုက္ပါ။ အဲ့ဒါဆုိရင္ "framework installed to......."ဆိုၿပီး ေပၚလာပါလိမ့္မယ္။ ေနာက္တဆင့္အေနနဲ႔ "apktool filename.apk" ဆိုၿပီး ကိုယ္extractလုပ္ခ်င္တဲ့ file nameနဲ႔ commandရုိက္ေပးပါ။ လက္ရွိေရာက္ေနတဲ့ folderထဲမွာပဲ apk nameနဲ႔ xml fileေတြပါတဲ့ folder ေပၚလာပါလိမ့္မယ္။

No comments:

Post a Comment