อยากดูวิธีแฮ็กเกมแอนดรอยด์ เข้าไปเลย
ไฟล์โปรแกรมของ Android มีรูปแบบเป็น APK ไฟล์ APK เป็นโปรแกรมที่ทำงานได้จริงของ Android คือชื่อเต็มของ Android Package คล้ายกับไฟล์ sis ในระบบปฏิบัติการ Symbian หรือไฟล์ JAR ในแพลตฟอร์ม J2ME จริง ๆ แล้วไฟล์ APK เป็นไฟล์รูปแบบ ZIP แต่มีการเปลี่ยนนามสกุลเป็น APK เมื่อแตกไฟล์ด้วย RAR จะเห็นไฟล์ Dex ซึ่ง Dex เป็นชื่อเต็มของ Dalvik VM executes คือโปรแกรมที่รันบน Dalvik ของ Android ไม่ใช่ bytecode ของ Java แต่เป็น Dalvik bytecode โครงสร้างของไฟล์ APK คือ: res/ ไดเรกทอรีเก็บไฟล์ทรัพยากร META-INF/ ในไฟล์ Jar มักจะเห็น resources.arsc ไฟล์ทรัพยากรไบนารีที่คอมไพล์แล้ว ใช้สำหรับสตริงในโปรแกรม AndroidManifest.xml ไฟล์การตั้งค่าแบบทั่วทั้งโปรแกรม classes.dex ไฟล์ Dalvik bytecode ไฟล์ JAVA ที่เราเขียนจะถูกคอมไพล์เป็น bytecode ในรูปแบบ DEX สรุปเราพบว่า เมื่อ Android รันโปรแกรม จะต้องทำการ UnZip ก่อน แล้วเหมือนกับ Symbian โดยตรง แตกต่างจากไฟล์ PE ใน Windows Mobile การทำแบบนี้ไม่ค่อยปลอดภัยและเชื่อถือได้สูง สามารถ decompile ได้ด้วยคำสั่ง dexdump แต่การทำแบบนี้เป็นไปตามพัฒนาการ โดยที่ Windows Gadgets หรือ WPF ของ Microsoft ก็ใช้โครงสร้างแบบนี้เช่นกัน 1. ไฟล์ Java --------- ไฟล์ต้นฉบับของแอปพลิเคชัน ผมคิดว่านี่คือไฟล์ที่หลายคนจะนึกถึงเมื่อได้ยินคำว่า Android Android เองส่วนใหญ่ถูกเขียนด้วย Java (ในไดอะแกรมสถาปัตยกรรม ส่วนสีน้ำเงินถูกพัฒนาด้วย Java) แอป Android ต้องพัฒนาด้วย Java 2. ไฟล์ Class --------- ไฟล์เป้าหมายหลังจากคอมไพล์ Java ต่างจากที่เราใช้ J2SE โดยปกติ java คอมไพล์เป็น class ก็สามารถรันได้ทันที แต่ใน Android class file ไม่สามารถรันโดยตรงบน Android ได้ เนื่องจาก Google ใช้ Dalvik ของตัวเองในการรันแอป ดังนั้น class ที่นี่ไม่สามารถรันบนสภาพแวดล้อม Java ของ Sun ได้ ผมรู้สึกว่าไฟล์ class ของ Android เป็นเพียงไฟล์เป้าหมายระหว่างการคอมไพล์ ต้องเชื่อมโยงเป็นไฟล์ dex ก่อนจึงจะรันบน Dalvik ได้3. ไฟล์ Dex ---- ไฟล์ที่สามารถเรียกใช้งานได้บนแพลตฟอร์ม Android ไฟล์รูปแบบไบต์โค้ดที่เครื่องเสมือน Dalvik ของ Android รองรับ Google ได้ใช้เครื่องเสมือน Dalvik ของตนเองบนแพลตฟอร์ม Android เวอร์ชันใหม่เพื่อกำหนด ซึ่งเครื่องเสมือนนี้ไม่ได้รัน Java bytecode แต่เป็นไบต์โค้ดรูปแบบอื่น: ไบต์โค้ดแบบ dex หลังจากคอมไพล์โค้ด Java แล้ว สามารถใช้เครื่องมือบนแพลตฟอร์ม Android แปลง Java bytecode เป็น Dex bytecode ได้ แม้ว่า Google จะกล่าวว่า Dalvik ถูกปรับแต่งสำหรับอุปกรณ์เคลื่อนที่ แต่หลายคนในวงการเชื่อว่านี่เป็นการหลีกเลี่ยงการขอใบอนุญาต Java จาก Sun เนื่องจากไม่มีรายละเอียดมากนักที่เปิดเผย ปัจจุบันจึงยังไม่สามารถหาวิธีการทำงานของ Dalvik ได้อย่างชัดเจน สามารถวิเคราะห์ได้เพียงบางส่วนจาก SDK เครื่องเสมือน Dalvik นี้ถูกปรับแต่งสำหรับโปรแกรมบนมือถือ/CPU สามารถรันเครื่องเสมือนหลายตัวพร้อมกันโดยไม่ใช้ทรัพยากรมาก Source ของ Dalvik VM ยังไม่เปิดให้ดาวน์โหลด (ในอนาคตทั้งระบบจะเปิด) ในมุมมองของ Google ตอนนี้ต้องการให้ทุกคนเริ่มพัฒนาแอปด้วย SDK นี้ ส่วนด้านล่างจะถูกปล่อยออกมาเรื่อย ๆ 4. ไฟล์ Apk ---- ไฟล์ติดตั้งบน Android นามสกุลของไฟล์ติดตั้ง Android คือ .apk ไฟล์ติดตั้ง Android หนึ่งไฟล์จะรวมไฟล์ทั้งหมดที่เกี่ยวข้องกับแอปพลิเคชัน Android นั้น ๆ ไฟล์ apk จะรวมไฟล์ AndroidManifest.xml โค้ดแอปพลิเคชัน (.dex), ไฟล์ทรัพยากร และไฟล์อื่น ๆ ไว้ในแพ็กเกจซิปเดียว โปรเจคหนึ่งโปรเจคสามารถสร้าง .apk ได้เพียงไฟล์เดียว ส่วนการแคร็กเป็นเรื่องของแต่ละบุคคล
ตอบกลับ (4)
มีโอกาสมากใน .dex
)╮(〉_〉")╭ ด้านบน
ไม่ได้ดูเข้าใจ! ฮิฮิ
ไม่เข้าใจ..
— โหลดคำตอบทั้งหมดแล้ว —