\

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

  • [[แจก]] โปรแกรมอ่าน Skype โดยไม่ต้อง LogIN
    16/10/2014 - 0 Comments
    โปรแกรมอ่านข้อความใน Skype โดยไม่ต้อง LogIN เอาไว้จับผิดตอนเค้าไม่อยู่เครื่อง ** ตอนนี้ ผมเขียนให้รันบน…
  • ทำความรู้จัก Foundation CSS สร้างเลย์เอ้าเว็บง่ายปลายนิ้วชี้
    16/10/2014 - 0 Comments
    การเขียนเว็บไซด์ปัจจุบันไม่ได้กำจัดให้ดูได้เฉพาะบน PC อีกต่อไปเเล้วครับ มีอุปกรณ์เพิ่มขึ้นมาเรื่อยๆ…
  • Notebook for Programmer โน๊ตบุ๊คสำหรับเขียนโปรแกรม
    04/04/2014 - 0 Comments
    ถ้าให้ผมแนะนำการเลือกซื้อโน๊ตบุ๊คสักเครื่องเพื่อมาเขียนโปรแกรมละก่อ…
  • [แนะนำ] ใช้ Medoo Database Framework สร้างเว็บไซด์ ให้ดาต้าเบสเป็นเรื่องกล้วยๆ
    10/04/2014 - 0 Comments
    ใครที่เริ่มบรรทัดการติดต่อดาต้าเบสด้วยภาษา php ด้วยคำสั่ง mysqli_connect(xx,xx) อยู่บ้างยกมือขึ้นครับ…
  • วิธีแก้ปัญหา lint บนโปรเจก nodejs
    15/10/2018 - 0 Comments
    เหล่าโปรเจค ตัวอย่าง ที่น่าสนใจบน github บางโปรเจคใช้ lint มาช่วยกำกับ standard…
  • [PHP] วิธีจับ Notice มาเป็น Exception ใน TryCatch
    24/02/2015 - 0 Comments
    ในภาษาพีเฮชพี Notice กับ Warning ไม่ถือเป็น runtime error ครับ ทำให้เวลาเราครอบด้วย try catch…
  • จัดระเบียบ SQL Query ให้อ่านง่ายๆสบายตา DEV ด้วย ApexSQL
    07/10/2015 - 0 Comments
    สำหรับท่านที่ต้องใช้งาน MSSMS อยู่เป็นประจำน่าจะเจอปัญหาคล้ายๆกับผมคือ "เวลาแก้ store procedure…