มีวิธีแยกและดูเนื้อหาของไฟล์. apk หรือไม่?
มีวิธีแยกและดูเนื้อหาของไฟล์. apk หรือไม่?
คำตอบ:
จริงๆแล้วไฟล์ apk เป็นเพียงไฟล์ zip ดังนั้นคุณสามารถลองเปลี่ยนชื่อไฟล์theappname.apk.zip
และแตกไฟล์ด้วยยูทิลิตี้ zip (เช่น 7zip)
androidmanifest.xml
ไฟล์และทรัพยากรที่จะถูกแยกและสามารถดูได้ในขณะที่รหัสที่มาไม่ได้อยู่ในแพคเกจ - เพียงแค่รวบรวมไฟล์ .dex ( "Dalvik ปฏิบัติการ")
ในขณะที่การคลายซิปจะเปิดเผยทรัพยากร แต่AndroidManifest.xml
จะมีการเข้ารหัส apktool
นอกจากนี้ยังสามารถถอดรหัสไฟล์นี้ได้อีกด้วย
ในการถอดรหัสแอปพลิเคชันApp.apk
ลงในโฟลเดอร์App
ให้เรียกใช้
apktool decode App.apk App
apktool
ไม่รวมอยู่ใน Android SDK อย่างเป็นทางการ แต่สามารถใช้ได้โดยใช้ที่เก็บแพ็คเก็ตส่วนใหญ่
นอกจากนี้ยังมีzzos (การเปิดเผยข้อมูลทั้งหมด: ฉันเขียนไว้) เป็นการถอดรหัสทรัพยากรจริงเท่านั้นไม่ใช่ส่วนของ dex ( baksmaliซึ่งฉันไม่ได้เขียนไว้ทำงานได้ดีเยี่ยมในการจัดการส่วนนั้น)
Zzos เป็นที่รู้จักน้อยกว่า apktool มาก แต่มี APK บางตัวที่จัดการได้ดีกว่า (และในทางกลับกัน - เพิ่มเติมในภายหลัง) โดยส่วนใหญ่ APK ที่มีประเภททรัพยากรที่กำหนดเอง (ไม่ใช่ตัวปรับแต่ง) ไม่ได้รับการจัดการโดย apktool ในครั้งสุดท้ายที่ฉันตรวจสอบและ zzos จะจัดการ นอกจากนี้ยังมีบางกรณีที่มีการหลบหนีที่ zzos จัดการได้ดีกว่า
ในด้านลบของสิ่งต่างๆ zzos (เวอร์ชันปัจจุบัน) ต้องใช้เครื่องมือสนับสนุนบางอย่างในการติดตั้ง มันเขียนด้วย perl (ตรงข้ามกับ APKTool ซึ่งเขียนด้วย Java) และใช้ aapt สำหรับการแยกไฟล์จริง นอกจากนี้ยังไม่ได้ถอดรหัสทรัพยากรแอตทริบิวต์ (ซึ่ง APKTool ทำ)
ความหมายของชื่อคือ "aapt" ซึ่งเป็นคอมไพเลอร์รีซอร์สของ Android เลื่อนลงมาหนึ่งตัวอักษร
4 วิธีที่แนะนำในการเปิดไฟล์ apk:
1. เปิดไฟล์ apk โดยAndroid Studio (สำหรับรูปภาพรหัส java และวิเคราะห์ขนาด) วิธีที่ดีที่สุด
2. เปิดโดยแอปพลิเคชั่น winRar, 7zip ฯลฯ (เพียงเพื่อดูรูปถ่ายและ ... )
3. ใช้เว็บไซต์javadecompilers (สำหรับรูปภาพและรหัส java)
4. ใช้เครื่องมือ APK (สำหรับรูปภาพและรหัส java)
unzip my.apk
นี่เป็นการหลอกลวงจากบรรทัดคำสั่ง Linux เนื่องจากรูปแบบ APK เป็นเพียงไฟล์ ZIP ที่ด้านบน
มีตัวถอดรหัสออนไลน์สำหรับ Android apks
http://www.decompileandroid.com/
อัปโหลด apk จากเครื่องท้องถิ่น
รอสักครู่
ดาวน์โหลดซอร์สโค้ดในรูปแบบ zip
คลายซิปคุณสามารถดูทรัพยากรทั้งหมดได้อย่างถูกต้อง แต่ไฟล์ java ทั้งหมดไม่ได้ถูกถอดรหัสอย่างถูกต้อง
สำหรับรายละเอียดทั้งหมดโปรดไปที่คำตอบนี้
ทั้งนี้ขึ้นอยู่กับเหตุผลของคุณที่ต้องการแยก APK เครื่องมือวิเคราะห์ APK อาจเพียงพอ จะแสดงไดเรกทอรีและขนาดไฟล์ นอกจากนี้ยังแสดงวิธีการนับที่จัดกลุ่มตามแพ็กเกจที่คุณสามารถเจาะลึกลงไปได้
APK Analyzer สร้างขึ้นใน Android Studio คุณสามารถเข้าถึงได้จากเมนูด้านบนสร้าง -> วิเคราะห์ APK
ในกรณีของแอปไฮบริดที่พัฒนาโดยใช้ Cordova และ angularjs คุณสามารถ:
1)เปลี่ยนชื่อไฟล์. apk เป็น. zip
2)แตก / คลายซิปเนื้อหา
3)ในโฟลเดอร์ assets คุณจะได้รับโฟลเดอร์ www
นอกจากนี้คุณยังสามารถใช้ Jadx - https://github.com/skylot/jadx ฉันใช้เครื่องมือทั้งหมดที่กล่าวถึงในหน้านี้แล้วและพบว่า Jadx ทำงานได้ดีที่สุด ไฟล์รายการและไฟล์คลาสอื่น ๆ จะถูกแปลงเป็นรูปแบบที่อ่านได้มากที่สุดโดยเครื่องมือนี้
PS - http://www.javadecompilers.com/apkยังใช้ตัวถอดรหัส jadx เพื่อทำงานแบบเดียวกันทางออนไลน์ ง่ายกว่าถ้าคุณต้องการยกเลิกการเก็บ apk เดียว
ไชโย!
คุณยังสามารถดูเนื้อหาของไฟล์ APK ภายในอุปกรณ์ Android ซึ่งช่วยได้มากในการดีบัก
ไฟล์ทั้งหมดรวมทั้งไฟล์ Manifest ของแอพสามารถดูและแชร์โดยใช้อีเมลคลาวด์และอื่น ๆ โดยไม่จำเป็นต้องรูท แอพสามารถใช้ได้จาก:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
คำเตือน: ฉันเป็นผู้เขียนแอปนี้
เอพีเคสแกนเนอร์สามารถแสดงข้อมูลของไฟล์ APK บนเครื่องพีซี
นอกจากนี้ยังสามารถดึงไฟล์ apk จากอุปกรณ์ Android
และสามารถเชื่อมโยงไปยังเครื่องมืออื่น ๆ ได้ (JADX-GUI, JD-GUI ... )