วิธีดูเนื้อหาของไฟล์ Android APK


คำตอบ:


126

จริงๆแล้วไฟล์ apk เป็นเพียงไฟล์ zip ดังนั้นคุณสามารถลองเปลี่ยนชื่อไฟล์theappname.apk.zipและแตกไฟล์ด้วยยูทิลิตี้ zip (เช่น 7zip)

androidmanifest.xmlไฟล์และทรัพยากรที่จะถูกแยกและสามารถดูได้ในขณะที่รหัสที่มาไม่ได้อยู่ในแพคเกจ - เพียงแค่รวบรวมไฟล์ .dex ( "Dalvik ปฏิบัติการ")



14

ในขณะที่การคลายซิปจะเปิดเผยทรัพยากร แต่AndroidManifest.xmlจะมีการเข้ารหัส apktoolนอกจากนี้ยังสามารถถอดรหัสไฟล์นี้ได้อีกด้วย

ในการถอดรหัสแอปพลิเคชันApp.apkลงในโฟลเดอร์Appให้เรียกใช้

apktool decode App.apk App

apktool ไม่รวมอยู่ใน Android SDK อย่างเป็นทางการ แต่สามารถใช้ได้โดยใช้ที่เก็บแพ็คเก็ตส่วนใหญ่


10

นอกจากนี้ยังมีzzos (การเปิดเผยข้อมูลทั้งหมด: ฉันเขียนไว้) เป็นการถอดรหัสทรัพยากรจริงเท่านั้นไม่ใช่ส่วนของ dex ( baksmaliซึ่งฉันไม่ได้เขียนไว้ทำงานได้ดีเยี่ยมในการจัดการส่วนนั้น)

Zzos เป็นที่รู้จักน้อยกว่า apktool มาก แต่มี APK บางตัวที่จัดการได้ดีกว่า (และในทางกลับกัน - เพิ่มเติมในภายหลัง) โดยส่วนใหญ่ APK ที่มีประเภททรัพยากรที่กำหนดเอง (ไม่ใช่ตัวปรับแต่ง) ไม่ได้รับการจัดการโดย apktool ในครั้งสุดท้ายที่ฉันตรวจสอบและ zzos จะจัดการ นอกจากนี้ยังมีบางกรณีที่มีการหลบหนีที่ zzos จัดการได้ดีกว่า

ในด้านลบของสิ่งต่างๆ zzos (เวอร์ชันปัจจุบัน) ต้องใช้เครื่องมือสนับสนุนบางอย่างในการติดตั้ง มันเขียนด้วย perl (ตรงข้ามกับ APKTool ซึ่งเขียนด้วย Java) และใช้ aapt สำหรับการแยกไฟล์จริง นอกจากนี้ยังไม่ได้ถอดรหัสทรัพยากรแอตทริบิวต์ (ซึ่ง APKTool ทำ)

ความหมายของชื่อคือ "aapt" ซึ่งเป็นคอมไพเลอร์รีซอร์สของ Android เลื่อนลงมาหนึ่งตัวอักษร



6

4 วิธีที่แนะนำในการเปิดไฟล์ apk:

1. เปิดไฟล์ apk โดยAndroid Studio (สำหรับรูปภาพรหัส java และวิเคราะห์ขนาด) วิธีที่ดีที่สุด

ใส่คำอธิบายภาพที่นี่

2. เปิดโดยแอปพลิเคชั่น winRar, 7zip ฯลฯ (เพียงเพื่อดูรูปถ่ายและ ... )

3. ใช้เว็บไซต์javadecompilers (สำหรับรูปภาพและรหัส java)

4. ใช้เครื่องมือ APK (สำหรับรูปภาพและรหัส java)



3

มีตัวถอดรหัสออนไลน์สำหรับ Android apks

http://www.decompileandroid.com/

อัปโหลด apk จากเครื่องท้องถิ่น

รอสักครู่

ดาวน์โหลดซอร์สโค้ดในรูปแบบ zip

คลายซิปคุณสามารถดูทรัพยากรทั้งหมดได้อย่างถูกต้อง แต่ไฟล์ java ทั้งหมดไม่ได้ถูกถอดรหัสอย่างถูกต้อง

สำหรับรายละเอียดทั้งหมดโปรดไปที่คำตอบนี้


2

ทั้งนี้ขึ้นอยู่กับเหตุผลของคุณที่ต้องการแยก APK เครื่องมือวิเคราะห์ APK อาจเพียงพอ จะแสดงไดเรกทอรีและขนาดไฟล์ นอกจากนี้ยังแสดงวิธีการนับที่จัดกลุ่มตามแพ็กเกจที่คุณสามารถเจาะลึกลงไปได้

APK Analyzer สร้างขึ้นใน Android Studio คุณสามารถเข้าถึงได้จากเมนูด้านบนสร้าง -> วิเคราะห์ APK


2

ในกรณีของแอปไฮบริดที่พัฒนาโดยใช้ Cordova และ angularjs คุณสามารถ:

1)เปลี่ยนชื่อไฟล์. apk เป็น. zip
2)แตก / คลายซิปเนื้อหา
3)ในโฟลเดอร์ assets คุณจะได้รับโฟลเดอร์ www


1

นอกจากนี้คุณยังสามารถใช้ Jadx - https://github.com/skylot/jadx ฉันใช้เครื่องมือทั้งหมดที่กล่าวถึงในหน้านี้แล้วและพบว่า Jadx ทำงานได้ดีที่สุด ไฟล์รายการและไฟล์คลาสอื่น ๆ จะถูกแปลงเป็นรูปแบบที่อ่านได้มากที่สุดโดยเครื่องมือนี้

PS - http://www.javadecompilers.com/apkยังใช้ตัวถอดรหัส jadx เพื่อทำงานแบบเดียวกันทางออนไลน์ ง่ายกว่าถ้าคุณต้องการยกเลิกการเก็บ apk เดียว

ไชโย!


0

คุณยังสามารถดูเนื้อหาของไฟล์ APK ภายในอุปกรณ์ Android ซึ่งช่วยได้มากในการดีบัก

ไฟล์ทั้งหมดรวมทั้งไฟล์ Manifest ของแอพสามารถดูและแชร์โดยใช้อีเมลคลาวด์และอื่น ๆ โดยไม่จำเป็นต้องรูท แอพสามารถใช้ได้จาก:

https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek

คำเตือน: ฉันเป็นผู้เขียนแอปนี้


0

เอพีเคสแกนเนอร์สามารถแสดงข้อมูลของไฟล์ APK บนเครื่องพีซี
นอกจากนี้ยังสามารถดึงไฟล์ apk จากอุปกรณ์ Android
และสามารถเชื่อมโยงไปยังเครื่องมืออื่น ๆ ได้ (JADX-GUI, JD-GUI ... )

ใส่คำอธิบายภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.