ฉันจะรับไฟล์. apk ของแอพที่ติดตั้งได้หรือไม่


9

ฉันปรับใช้ไฟล์. apk ของแอพบนอุปกรณ์ Qualcomm แล้ว ตอนนี้โชคไม่ดีแล็ปท็อปของฉันที่แอพนี้ได้รับการพัฒนาจึงถูกขโมยดังนั้นฉันจึงไม่มีรหัสแอพกับฉัน อย่างไรก็ตามฉันมีอุปกรณ์ที่ติดตั้งแอพไว้ก่อนหน้านี้

ดังนั้นคำถามของฉันคือฉันจะรับแอพไฟล์. apk จากอุปกรณ์นี้ได้ไหม ถ้าใช่โปรดบอกวิธีรับสิ่งนั้น

ความช่วยเหลือใด ๆ ที่จะเห็นคุณค่า

ขอบคุณ Gaurav

คำตอบ:


10

/data/app/มันควรจะตั้งอยู่ที่ คุณสามารถเข้าถึงได้โดยตรงหากคุณมีรูต adb pullถ้าไม่ได้คุณจะต้องใช้ ตัวอย่างเช่น:

adb pull /data/app/myapp.apk C: \ backup \ myapp.apk

ข้อมูลเพิ่มเติมเกี่ยวกับ adb: http://developer.android.com/guide/developing/tools/adb.html


4

หากคุณรู้ชื่อไฟล์ที่ติดตั้งของ apk (ซึ่งในอุปกรณ์บางอย่างอาจเป็น myapp-1.apk หรือ myapp-2.apk แทนที่จะเป็นเพียง myapp.apk) คุณสามารถเข้าถึงได้โดยตรงในฐานะผู้ใช้ทั่วไปรวมถึง adb หนึ่งตัวที่ทำงานเป็น บนอุปกรณ์ที่ปลอดภัยดังนั้นคุณควรจะสามารถดึงมันได้ แต่ถ้าคุณไม่รู้ชื่อ apk ที่ติดตั้งคุณจะไม่สามารถเรียกดูไดเรกทอรี / data / app โดยไม่ต้องเป็น root หรือระบบช่วยเหลือ

มันอาจจะคุ้มค่าที่จะคาดเดาจากชื่อที่ติดตั้ง - ลองใช้แบบธรรมดาลองด้วย -1.apk และ -2.apk เป็นต้น

อาจมีวิธีอื่น: ฉันเชื่อว่าสิ่งต่อไปนี้จะทำงานบนอุปกรณ์ที่มีความปลอดภัย แต่ไม่มีอุปกรณ์ต่อหน้าฉันในขณะนี้เพื่อทดสอบ

แก้ไข: แนวคิดใหม่สำหรับการพิจารณาชื่อไฟล์ APK ที่แน่นอน

1) adb pull /data/system/packages.xml

2) ดูผ่านรายการ codePath ของแอปพลิเคชันของคุณ

3) adb ดึงมัน

แก้ไข: ตามแนวคิดเก่าด้านล่างแมทธิวค้นพบว่าในขณะที่ไฟล์ต่อกระบวนการภายใต้ / proc ได้รับอนุญาตให้อ่านบนอุปกรณ์ที่มีการรักษาความปลอดภัยพวกเขาจะว่างเปล่าเมื่ออ่านโดย uid ที่ไม่มีสิทธิ์อื่นนอกเหนือจากเจ้าของ ดังนั้นสิ่งนี้จะไม่ทำงาน


1) ทำให้แอปของคุณทำงาน คุณจะต้องใช้เครื่องที่มี adb

2) ประเภท

adb shell ps 

และมองหาบรรทัดที่มีชื่อแอปของคุณ:

app_1     11959 907   112984 27580 ffffffff afd0c5bc S com.clevername.myapp

3) ใช้ตัวเลขในคอลัมน์ที่สองซึ่งเป็นรหัสกระบวนการและดูว่าเป็นแผนที่หน่วยความจำเสมือนในกรณีนี้ฉันจะพิมพ์

adb shell cat /proc/11959/maps

และมองหาบรรทัดที่มีการแม็พไฟล์ apk ของตัวเองเข้าไปในหน่วยความจำ

43e9c000-43ea3000 r--s 001f4000 b3:06 15393      /data/app/com.clevername.myapp-1.apk

4) นั่นคือชื่อไฟล์ที่คุณจะต้องดึง adb

adb pull /data/app/com.clevername.myapp-1.apk .

การตรวจสอบการอนุญาตของไดเรกทอรีใน / proc แนะนำว่าสิ่งนี้ควรใช้กับผู้ใช้ที่ไม่มีสิทธิพิเศษขอโทษด้วยถ้าไม่ได้รับ หากคุณคุ้นเคยกับการใช้งาน 'grep' คุณสามารถใช้เพื่อหลีกเลี่ยงการสแกนเอาต์พุตด้วยตนเอง

ภาคผนวก: ฉันไม่แน่ใจจริงๆว่าเรื่องราวในแอพที่ติดตั้งลงในการ์ด SD คืออะไร


ฉันเพิ่งลองบนอุปกรณ์รักษาความปลอดภัยของฉัน; adb shell cat /proc/####/mapsไม่มีอะไรน่าเสียดาย
Matthew อ่าน

@Matthew ... แปลกฉันกำลังจำลองเคสที่ปลอดภัยและการเห็นไฟล์ส่วนใหญ่ใน proc มีขนาดเป็นศูนย์ แต่อ่านได้ ก่อนที่ฉันจะตรวจสอบเพียงว่าพวกเขาจะมีสิทธิ์อ่าน อาจทำได้โดยการทำให้เป็นโมฆะแทนที่จะให้สิทธิ์ดังนั้นเครื่องมืออ่าน / proc จะไม่ได้รับข้อผิดพลาดในการเข้าถึงอย่างต่อเนื่อง อืม ... เดาได้ว่าตัวแปรชื่อ apk ที่ติดตั้งไว้อาจดีที่สุด
Chris Stratton

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