บทนำ (Overview)
จากบทความที่เราสามารถทำการ Reverse engineering โปรแกรม “Android” ที่นามสกุล “.apk” ให้สามารถอ่านไฟล์ “.jar” ที่มี “Source-code” อยู่รู้เรื่อง โดยใช้โปรแกรม “dex2jar” บน “Kali” ที่บทความ How to reverse engineer .apk (dex2jar via Kali) มาในบทความนี้ทำเช่นเดียวกันแต่ใช้งานตัว “Appie2” ที่เราได้ติดตั้งเอาไว้ก่อนหน้า (ดูในส่วนของ ขั้นตอน) ก็มีความสะดวกในการใช้งานเช่นเดียวกัน
ขั้นตอน (Steps)
- ลงโปรแกรม “Genymotion” และวิธีติดตั้ง “Emulator” ได้ที่ How to set Genymotion (Android emulator)
- ติดตั้ง “GoatDroid” สามารถติดตามได้ที่ How to set GoatDroid
- ลงโปรแกรม “Appie2” สามารถติดตามวิธีติดตั้งใช้งานได้ที่ How to use ADB via Appie
- เราสามารถนำโปรแกรมที่ “install” ไว้ (.apk) ออกจาก “Emulator” โดยใช้คำสั่งตามบทความ How to use ADB via Appie2
- ให้นำโปรแกรม “GoatDroid” มาทดลอง “Reverse Engineering” หรือเราจะเอามจากโฟลเดอร์ของโปรแกรม “Appie2” ที่โฟลเดอร์ โฟลเดอร์ “[โฟลเดอร์เก็บ Appie2]/Appie2/Appie/pentesting/OWASP-GoatDroid-0.9/goatdroid_apps/FourGoats/android_app”
- จากนั้นใช้โปรแกรม “dex2jar” ตามด้วยชื่อโปแกรม “.apk” ที่ต้องการตามคำสั่งดังนี้
C:\Users\[user]\Desktop λ dex2jar "OWASP GoatDroid- FourGoats Android App.apk" this cmd is deprecated, use the d2j-dex2jar if possible dex2jar version: translator-0.0.9.15 dex2jar OWASP GoatDroid- FourGoats Android App.apk -> OWASP GoatDroid- FourGoats Android App_dex2jar.jar Done.
- เราจะได้ไฟล์ “.jar” ที่หน้า “desktop” ซึ่งสามารถเปิดเป็นไฟล์ “Source-code” ได้โดยใช้โปรแกรม “jd-gui” ที่อยู่ในโฟลเดอร์ “[โฟลเดอร์เก็บ Appie2]/Appie/vendor/jd-gui” หรือใช้คำสั่งดังนี้
C:\Users\[user]\Desktop λ jdgui
- โปรแกรม “jd-gui” จะถูกเปิดขึ้นมา ให้เปิดไฟล์ .jar ที่เราแปลงเรียบร้อยแล้วโดยคลิกที่ “File” แล้ว “Open File”
- จากนั้นเราสามารถเปิดดู “Source-code” ของ “java” ได้
เพิ่มเติม
- สำหรับ Appie version ใหม่หรือไม่พบคำสั่ง dex2jar ให้ใช้คำสั่งดังนี้
C:\Users\wsunpachit\Desktop $ d2j-dex2jar.bat TargetApp.apk dex2jar TargetApp.apk -> .\TargetApp-dex2jar.jar