\

Facebook


วันพฤหัสบดีที่ 7 สิงหาคม พ.ศ. 2557

แกะโค๊ด JAVA จากไฟล์ APK บน GOOGLE PLAY

ปกติแล้ว app android จะถูกคอมไพล์จาก JAVA มาเป็น .apk เรียบร้อย เพื่ออินสตอลงมือถือ แต่วันนี้เราจะเอา apk จากมือถือ มาแกะโค๊ดกลับไปเป็น JAVA ครับ

ไปโหลดแอปมาตัวนึง ถูกใจมากเป็นเกมส์ธรรมดานี้แหละ แต่ผมเล่นสู้กับคอมไม่เคยชนะมันเลยสักตาเดียว เล่นมา 1 อาทิตย์เต็มๆ ก็ยังหาทางชนะไม่ได้สักที เริ่มเกิดความสงสัย ทำไมระบบAI มันเทพขนาดนั้น เอาเป็นว่าแกะโค๊ดดูเลยดีกว่าว่ามันเขียนระบบเอไอยังไง

เริ่มจากต้องหาโหลดไฟล์ .apk (ซึ่งเป็นไฟล์สมบูรณ์ที่ถูกคอมไพล์มาเรียบร้อยเเล้ว ) มาจาก Google Play ไปที่เว็บนี้เลยครับ เค้าบริการให้ดาว์นโหลดไฟล์แอปเพียงแค่ใส่ link ลงไป

โหลด APK
http://apps.evozi.com/apk-downloader/

ทดลองกับ app นี้ละกัน แอป Locket ของ CEO สาวสุดสวย
https://play.google.com/store/apps/details?id=com.locket.matterhorn

โหลดแล้วเอาไปเก็บไว้ใน folder ชื่อ apk ในไดฟ์ C: จากนั้นให้ไปดาว์นโหลดไลบราลี่  dex2jar มาจาก
https://code.google.com/p/dex2jar/wiki/Faq

รัน command promte (CMD) จากโฟล์เดอร์ที่เก็บ dex2jar แล้วพิมพ์คำสั่งลงไป
"dex2jar.bat C:\apk\name.apk "
โดย name เป็นชื่อแอปที่เราโหลดมา

ถ้าไม่มีปัญหาอะไร จะขึ้นข้อความประมาณว่า C:\apk\name_dex2jar.jar Done. แปลว่าเสร็จเเล้วครับ ที่เหลือก็แค่เปิด JAR จากโปรแกรมเช่น JD-GUI โหลดที่
http://jd.benow.ca/

เท่านี้ก็สามารถเปิดดู code java ได้เเล้ว
ปล. เท่าที่สังเกต ตัวแปรต่างๆถูกกำหนดชื่อใหม่ เป็น a b c ว่าไป
ปล. โค๊ดดูไม่ยาก แต่ syntax ไม่ได้ตรงไปซะหมด

อ้างอิง  : StackOverFlow






ไม่มีความคิดเห็น:

May be like this posts