ฉันลบโครงการออกจากEclipseโดยไม่ได้ตั้งใจและที่เหลือคือไฟล์APKที่ฉันถ่ายโอนไปยังโทรศัพท์ มีวิธีย้อนกลับกระบวนการส่งออกแอปพลิเคชันไปยังไฟล์. apk ดังนั้นฉันจะได้รับโครงการคืน
ฉันลบโครงการออกจากEclipseโดยไม่ได้ตั้งใจและที่เหลือคือไฟล์APKที่ฉันถ่ายโอนไปยังโทรศัพท์ มีวิธีย้อนกลับกระบวนการส่งออกแอปพลิเคชันไปยังไฟล์. apk ดังนั้นฉันจะได้รับโครงการคืน
คำตอบ:
มีสองเครื่องมือที่มีประโยชน์ซึ่งจะสร้างโค้ด Java (หยาบ แต่ดีพอ) จากไฟล์ APK ที่ไม่รู้จัก
ใช้เครื่องมือเพื่อแปลงไฟล์ APK เป็นJAR :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
เมื่อสร้างไฟล์ JAR แล้วให้ใช้JD-GUIเพื่อเปิดไฟล์ JAR คุณจะเห็นไฟล์ Java
ผลลัพธ์จะคล้ายกับ:
d2j-dex2jar
แทน (v0.0.9.15)
res
โฟลเดอร์
res
โฟลเดอร์ที่มีไฟล์ xml ที่อ่านไม่ได้
Mac
ถ้าคุณไม่สามารถใช้ dex2jar: ให้permission denied
ทำเช่นนี้ $sudo chmod +x d2j-dex2jar.sh
ก่อนอื่นฉันขอแนะนำให้ใช้this
วิดีโอนี้อาจเป็นการล้างข้อสงสัยทั้งหมดของคุณ
ถ้าไม่โปรดผ่านมันไป
Procedure for decoding .apk files, step-by-step method:
Step 1:
สร้างโฟลเดอร์ใหม่และใส่ไฟล์. apk ลงไป (ซึ่งคุณต้องการถอดรหัส) ตอนนี้เปลี่ยนชื่อนามสกุลของ.apk
ไฟล์นี้เป็น.zip
(เช่น.: เปลี่ยนชื่อจาก filename.apk เป็น filename.zip) และบันทึก
หากปัญหาในการแปลงเป็น. zip โปรดอ้างอิง link
หลังจากได้รับ. zip ตอนนี้คุณจะได้รับไฟล์ classes.dex และอื่น ๆ ในขั้นตอนนี้คุณสามารถดูไฟล์ drawable แต่ไม่ใช่ไฟล์ xml และ java ดังนั้นดำเนินการต่อ หากคุณไม่เห็นส่วนขยายให้ตรวจสอบการกำหนดค่า
Step 2:
ตอนนี้แยกไฟล์ zip apk นี้ในโฟลเดอร์เดียวกัน ตอนนี้ดาวน์โหลด dex2jar จากนี้link
และแยกไปยังโฟลเดอร์เดียวกัน ตอนนี้เปิดพร้อมท์คำสั่งและเปลี่ยนไดเรกทอรีเป็นโฟลเดอร์นั้น
จากนั้นเขียนdex2jar classes.dex
และกด Enter ตอนนี้คุณได้รับclasses.dex.dex2jar
ไฟล์ในโฟลเดอร์เดียวกัน
จากนั้นดาวน์โหลดตัวถอดรหัสจาวา
และตอนนี้ดับเบิลคลิกที่ jd-gui และคลิกที่เปิดไฟล์ จากนั้นเปิดclasses.dex.dex2jar
ไฟล์จากโฟลเดอร์นั้น ตอนนี้คุณจะได้ไฟล์คลาสและบันทึกไฟล์คลาสเหล่านี้ทั้งหมด (คลิกที่ไฟล์จากนั้นคลิก "บันทึกแหล่งที่มาทั้งหมด" ใน jd-gui) โดยใช้ชื่อ src แตกไฟล์ zip นั้น(classes_dex2jar.src.zip)
และคุณจะได้รับไฟล์ java ทั้งหมดของแอปพลิเคชัน
ในขั้นตอนนี้คุณจะได้รับแหล่งที่มาของจาวา แต่ไฟล์ xml ยังคงไม่สามารถอ่านได้ดังนั้นให้ทำต่อไป
Step 3:
ตอนนี้เปิดโฟลเดอร์ใหม่อีกไฟล์และใส่ไฟล์เหล่านี้
ใส่ไฟล์. apk ที่คุณต้องการถอดรหัส
ดาวน์โหลด Apktool for windows v1.x
AndApktool
ติดตั้งหน้าต่างโดยใช้ google และใส่ในโฟลเดอร์เดียวกัน
ดาวน์โหลดไฟล์ framework-res.apk โดยใช้ google และวางในโฟลเดอร์เดียวกัน (ไฟล์ apk ทั้งหมดไม่จำเป็นต้องใช้ไฟล์ framework-res.apk)
เปิดหน้าต่างคำสั่ง
นำทางไปยังไดเรกทอรีรากของ APKtool และพิมพ์คำสั่งต่อไปนี้:
apktool if framework-res.apk.
Framework installed ...
คำสั่งดังกล่าวจะส่งผลให้
Step 4:
ในที่สุดเราก็ได้res/
รหัสโครงการ java ซึ่งเป็นเป้าหมายของเราในการเริ่มต้น
P.S.
หากคุณไม่สามารถรับโฟลเดอร์ res ตามขั้นตอนข้างต้นโปรดทำการติดตั้งใหม่apktool
- ติดตั้ง Java 1.7 หรือไม่ ติดตั้ง Apktool 2.x
- ติดตั้ง Java 1.6 หรือสูงกว่าหรือไม่ ติดตั้ง Apktool 1.x
Enjoy and happy coding
apktool.jar
ไม่ได้อยู่ในแพคเกจเดียวกันฉันได้รับมันจากแพคเกจในอดีตและวางไว้ใน dir apktool
เดียวกับ
ไม่มีซอฟต์แวร์ & ไม่มีขั้นตอนมากเกินไป ..
เพียงอัปโหลด APK ของคุณและรับแหล่งข้อมูลทั้งหมดจากเว็บไซต์นี้ ..
https://www.apkdecompilers.com/
เว็บไซต์นี้จะถอดรหัสโค้ดที่ฝังอยู่ในไฟล์ APK และแยกเนื้อหาอื่น ๆ ทั้งหมดในไฟล์
หมายเหตุ: ฉันถอดรหัสไฟล์ APK และรับรหัสภายใน miniute เดียวจากเว็บไซต์นี้
อัปเดต 1 :
ฉันพบเว็บไซต์ถอดรหัสเสียงออนไลน์อื่น
http://www.javadecompilers.com/apk/ - ไม่ทำงานอย่างต่อเนื่องเพื่อขอบล็อกป๊อปอัป
อัปเดต 2:
ฉันพบ apk decompiler app ใน play store
https://play.google.com/store/apps/details?id=com.njlabs.showjava
เราสามารถถอดรหัสไฟล์ apk ในโทรศัพท์ Android ของเรา และเราสามารถดูไฟล์ java & xml ในแอปพลิเคชันนี้
อัปเดต 3:
เราสามารถใช้ฟีเจอร์วิเคราะห์อีกทางเลือกหนึ่งจาก Android studio 2.2 version
สร้าง -> วิเคราะห์ APK -> เลือก APK ของคุณ -> ให้ผล
มีวิธีใหม่ในการทำเช่นนี้
Android Studio 2.2 มี APK Analyzer จะให้ข้อมูลมากมายเกี่ยวกับ apk ชำระเงินที่นี่: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
ไม่ได้จริงๆ มีจำนวนของ dex disassembler / decompiler suites ที่นั่นเช่น smaliหรือdex2jarที่จะสร้างเอาท์พุทกึ่งมนุษย์อ่านได้ (ในกรณีของ dex2jar คุณสามารถรับรหัส java ผ่านการใช้สิ่งเช่นJD-GUIแต่กระบวนการคือ ไม่สมบูรณ์และไม่น่าเป็นไปได้มากที่คุณจะสามารถสร้างซอร์สโค้ดของคุณใหม่ได้ 100% อย่างไรก็ตามอาจทำให้คุณมีที่สำหรับเริ่มต้นการสร้างทรีต้นของคุณขึ้นมาใหม่
ใช่คุณสามารถรับโครงการคืนได้ เพียงเปลี่ยนชื่อyourproject.apk
ไฟล์เป็นyourproject.zip
และคุณจะได้รับไฟล์ทั้งหมดที่อยู่ในไฟล์ ZIP นั้น เรากำลังเปลี่ยนนามสกุลไฟล์จาก. apk เป็น. zip จากไฟล์ ZIP นั้นให้แตกไฟล์classes.dex
ไฟล์และถอดรหัสมันด้วยวิธีการดังต่อไปนี้
ก่อนอื่นคุณต้องมีเครื่องมือเพื่อแยกคลาส (คอมไพล์) ทั้งหมดบน DEX ไปยัง JAR มีหนึ่งชื่อdex2jarซึ่งทำโดยนักเรียนจีน
จากนั้นคุณสามารถใช้JD-GUIเพื่อถอดรหัสคลาสใน JAR ไปยังซอร์สโค้ด ซอร์สโค้ดผลลัพธ์ควรอ่านได้ค่อนข้างดีเนื่องจาก dex2jar ใช้การปรับให้เหมาะสมที่สุด
สำหรับแพลตฟอร์ม Android คุณสามารถลองShowJavaได้ที่ Play Store
คุณสามารถศึกษารหัสที่สร้างขึ้นผ่านส่วนต่อประสานของแอพและโครงสร้างไฟล์และโฟลเดอร์ java ที่สร้างขึ้นจะถูกเก็บไว้ในShowJava
โฟลเดอร์/sdcard
พร้อมกับ.jar
ไฟล์ผลลัพธ์จากการแปลง
แอพนี้ไม่มีแบนเนอร์โฆษณาที่ด้านล่างของมุมมองหลัก แต่มีตัวเลือกการซื้อในแอพ (3,99 $) เพื่อลบออก การซื้อในแอปไม่ได้เพิ่มฟังก์ชั่นใด ๆ นอกเหนือจากลบแบนเนอร์โฆษณา
การเปิดเผยข้อมูล: ฉันไม่ใช่นักพัฒนาของแอปและไม่ได้เป็นพันธมิตรกับเขา แต่อย่างใด
ทำตามขั้นตอนด้านล่างเพื่อทำสิ่งนี้หรือเพียงแค่ใช้apkToJava gemสำหรับกระบวนการนี้มันยังดูแลการติดตั้งเครื่องมือที่จำเป็นเพื่อให้ใช้งานได้
หากคุณกำลังมองหาทางเลือกมืออาชีพลองดูJEB Decompilerจาก PNF Software
มีเวอร์ชั่นเดโมที่จะให้คุณถอดรหัสรหัสส่วนใหญ่ได้
ด้านล่างนี้เป็นเครื่องมือบางส่วนที่คุณสามารถใช้ในการทำวิศวกรรมย้อนกลับจากไฟล์ APK ไปยังซอร์สโค้ด:
ใน Android Studio 3.5 มันเป็นเรื่องง่ายมากที่คุณสามารถทำได้ในไม่กี่นาที ต่อไปนี้เป็นกระบวนการที่ชาญฉลาดขั้นตอน
1:เปิด Android Studio กดปุ่มหน้าต่าง -> พิมพ์ Android Studio -> คลิกที่ไอคอนเพื่อเปิดหน้าจอ Android Studio ซึ่งจะมีลักษณะเช่นนี้
2: ที่นี่คุณสามารถเห็นตัวเลือก"โปรไฟล์หรือดีบัก APK"คลิกที่มันแล้วเลือกไฟล์ apk ของคุณแล้วกดตกลง
3: มันจะเปิดคลาส Manifest และจาวาทั้งหมดของคุณภายในหนึ่งนาทีขึ้นอยู่กับขนาดของ apk
แค่นั้นแหละ.
ลองใช้เครื่องมือนี้: https://decompile.ioมันทำงานบน iPhone / iPad / Mac