จะแยกไฟล์ APK หรือ DEX บนแพลตฟอร์ม Android ได้อย่างไร? [ปิด]


138

เป็นไปได้หรือไม่ที่จะแตกไฟล์ APK หรือไฟล์ DEX บนแพลตฟอร์ม Android? มีเครื่องมือใดที่สามารถแยกไฟล์ APK ได้หรือไม่?


คุณหมายถึงโดยทางโปรแกรมหรือไม่
ลูซิเฟอร์

ลิงค์นี้มีทุกคำตอบที่คุณต้องการ stackoverflow.com/questions/12732882/…
Mandar Kakade

มีมากมายใน Play store ที่บางคนสามารถค้นหาได้ ..
MarmiK

คำตอบ:


164

คุณต้องมีสามเครื่องมือในการจัดdecompile an APKไฟล์

  1. Dex2jar - เครื่องมือในการทำงานกับไฟล์ android .dex และ java .class

  2. ApkTool - เครื่องมือสำหรับไฟล์ apk วิศวกรรมย้อนกลับ

  3. JD-GUI - Java Decompiler เป็นเครื่องมือในการถอดรหัสและวิเคราะห์ Java 5“ ไบต์รหัส” และรุ่นที่ใหม่กว่า

สำหรับวิธีการใช้งาน dextojarเพิ่มเติม หวังว่านี่จะช่วยคุณและทุกคน! :)


ฉันคิดว่าเครื่องมือเหล่านี้ทำงานในแพลตฟอร์ม windows ฉันสามารถนำเข้าไฟล์ jar เหล่านี้ไปยังโครงการ Android ของฉันและเรียกใช้ในแพลตฟอร์ม Android ได้อย่างไร
user3151261

Rupesh Yadav @ ในขั้นตอนนี้โค้ดบางบรรทัดไม่ตรงกันกับโค้ดต้นฉบับ www.decompileandroid.com/ จากเว็บนี้ฉันสามารถคอมไพล์โค้ดของฉันได้ แต่โค้ดทั้งสองนั้นแตกต่างกันเพราะเหตุใด
Shailendr singh

1
@Shailendrsingh ข้างต้นเป็นกระบวนการมาตรฐานในการถอดรหัส APK และในกรณีที่เปิดใช้งาน obfuscation ในแอปรหัสคลาสที่ถอดรหัสแล้วอาจแตกต่างกัน
Rupesh Yadav

ตกลงถ้าเปิดใช้งาน obfuscation ในแอพฉันจะรับโค้ดต้นฉบับที่เขียนในแอพได้อย่างไร
Shailendr singh

2
@Shailendrsingh เป็นไปได้เฉพาะในกรณีที่คุณมีไฟล์การทำแผนที่ย้อนกลับมิฉะนั้นจะไม่สามารถรับไฟล์ APK ได้ 100%
Rupesh Yadav

32

Decompiler APK ออนไลน์ http://www.decompileandroid.com/
http://www.javadecompilers.com/
APK Decompiler App สำหรับ Windows http://forum.xda-developers.com/showthread.php?t=2493107

อัปเดต 2015/12/4
ClassyShark คุณสามารถเปิดไฟล์ APK / Zip / Class / Jar และวิเคราะห์เนื้อหาของพวกเขา https://github.com/google/android-classyshark


3
DecompileAndroid น่าเสียดายที่ไม่สามารถคอมไพล์
สตริง

ProGuard จะลบ R $ string.class ทั้งหมด แต่ตัวถอดรหัสของ Android สามารถสร้างข้อมูลทั้งหมดใหม่ได้จาก resources.arsc ฉันคิดว่า DecompileAndroid นี้ยังไม่ได้ใช้ฟังก์ชั่นที่ซับซ้อนเช่นนี้
Jacky

11

ฉันได้สร้างเครื่องมือที่รวม dex2jar, jd-core และ apktool: https://github.com/dirkvranckaert/AndroidDecompiler เพียงเช็คเอาต์โครงการในเครื่องและรันสคริปต์ตามเอกสารและคุณจะได้รับทรัพยากรและแหล่งที่มาทั้งหมด


5

APK อยู่ในzipรูปแบบ คุณสามารถแตกไฟล์ได้เหมือน.zipไฟล์อื่น ๆ

คุณสามารถแยก.dexไฟล์โดยใช้dexdumpเครื่องมือซึ่งมีให้ใน Android SDK

ดูhttps://stackoverflow.com/a/7750547/116938สำหรับข้อมูลเพิ่มเติมของ dex


5

คุณสามารถแยกไฟล์ apk บนอุปกรณ์ Android โดยใช้สิ่งนี้: https://play.google.com/store/apps/details?id=com.njlabs.showjava

สำหรับข้อมูลเพิ่มเติมดูที่นี่: http://forum.xda-developers.com/showthread.php?t=2601315

แก้ไข: 28-02-2015

สำหรับการแยกข้อมูล apk คุณสามารถใช้เครื่องมือนี้: https://apkstudio.codeplex.com/license

ถ้านั่นไม่ช่วยตรวจสอบลิงค์นี้


แอพไม่ทำงานสำหรับฉัน มันพยายามอย่างไม่สิ้นสุดที่จะแสดง "Decompiling to java" และพวกเขามักจะล้มเหลว ..
goRGon

จากนั้นคุณควรทำตามคำตอบนี้stackoverflow.com/a/23924665/2736039โซลูชั่นเหล่านี้ทำงานได้ดีมาก
Ultimo_m

วิธีการแก้ปัญหานั้นมีปัญหาอื่น - ดูความคิดเห็นของฉันที่นั่น;)
goRGon

ฉันรู้ว่าปัญหานั้นและเพื่อแก้ปัญหาที่ฉันใช้ Apk Tool เท่าที่ฉันรู้ว่าคุณไม่สามารถหาเครื่องมือที่ทำงานได้ทั้งหมด คุณต้องใช้มันให้หมด :)
344 Ultimo_m

ตรวจสอบคำตอบที่แก้ไขของฉันฉันได้พบเครื่องมือใหม่
Ultimo_m

5

http://www.decompileandroid.com/

เว็บไซต์นี้จะถอดรหัสรหัสที่ฝังอยู่ในไฟล์ APK และแยกเนื้อหาอื่น ๆ ทั้งหมดในไฟล์


2
เว็บไซต์ที่ดีมาก! ฉันใช้มันเป็นเวลาหนึ่งปี นอกจากนี้ยังมีทางเลือก: javadecompilers.com/apkซึ่งใช้วิธีการที่แตกต่างกัน (Jadx แทน Dex2jar + Jad)
Andrew Rukin

@JqueryNinja ตรวจสอบสิ่งนี้เพื่อเป็นทางเลือก - stackoverflow.com/a/27981520/3879847
Ranjith Kumar

@RanjithKumar javadecompilers.com/apkหลังจากรอเป็นเวลานานในคิวเว็บไซต์ได้ทำการถอดรหัส apk ของฉัน อย่างไรก็ตามคลาส Java บางคลาสขาดหายไป ไม่มีทางเลือกอื่นอีกเหรอ?
iOSAndroidWindowsMobileAppsDev

@JqueryNinja ใช้ showjava apk ดีกว่าคนอื่น แต่การโฆษณามีมากขึ้น .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ranjith Kumar

@RanjithKumar showjava ใช้ javadecompilers.com/apk หรือ jadx ซึ่งไม่สามารถถอดรหัสคลาส java ทั้งหมดได้
iOSAndroidWindowsMobileAppsDev

3

คุณยังสามารถใช้ apktool: http://ibotpeaches.github.io/Apktool/ซึ่งจะให้ไฟล์ res xml ให้คุณด้วย นอกจากนั้นคุณยังสามารถใช้ระบบ dex2jar ซึ่งจะส่งออกไฟล์ dex ใน apk ไปยังไฟล์ jar ที่สามารถเปิดได้ด้วย JD-GUI และส่งออกไปยังไฟล์ java มาตรฐาน


0

นอกจากนี้คุณสามารถใช้ Android Multitool คุณสามารถทำการเปลี่ยนแปลงเล็กน้อยในแอพเช่นซ่อนองค์ประกอบ GUI หรือแก้ไขส่วนเล็ก ๆ ของ Logic และสร้าง apk ขึ้นมาใหม่ มันใช้งานง่ายและถอดรหัส / คอมไพล์ไฟล์และไฟล์ jar นี่คือลิงค์คุณสามารถชำระเงินได้

ไชโย

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