هل تقوم بتخزين النسخ الاحتياطية غير المشفرة على جهاز الكمبيوتر الشخصي على جهاز الكمبيوتر الشخصي الخاص بك؟ مع القليل جدًا من الجهد ، يمكننا تفريغ جميع الرسائل المحفوظة من النسخ الاحتياطي ، وكذلك الملاحظات ومواقع الصور والبيانات الأخرى.
تحقق من مشاركتي التي تم تحديثها مؤخرًا عن عملي على النسخ الاحتياطية هنا: عكس Engineering The iOS Backup
لا تزال هذه الأداة أيضًا تجريبية إلى حد ما ، لذا استخدمها على مسؤوليتك الخاصة! على الرغم من أن الأداة تفتح ملفات النسخ الاحتياطي على أنها قراءة فقط ، إلا أنه لا يزال يتعين عليك عمل نسخة من النسخ الاحتياطية قبل استخدام هذا إذا كانت مهمة.
يعمل حاليًا على MacOS ، ولم يتم اختباره على نطاق واسع على Windows ولكن يجب أن يعمل بشكل صحيح. يرجى الإشارة إلى أي مشاكل!
يهدف هذا ReadMe إلى أن تكون نظرة عامة على الميزات. يرجى قراءة Wiki للحصول على المزيد من الأمثلة المحدثة والمتعمقة ، وأمثلة على كيفية عمل واستخدام التقارير.
يعتمد دعم iOS على أنواع التقارير الفردية وأي الملفات الموجودة خصيصًا داخل النسخة الاحتياطية. عندما لا يتم دعم نوع التقرير ، يتم إخراج رسالة خطأ إلى المحطة. بعض التقارير ، ستقوم بإخراج رسالة خطأ إذا كانت الملفات المطلوبة غير موجودة في النسخ الاحتياطي.
قائمة التقارير الكاملة متوفرة على الويكي
npm i ibackuptool --saveيمكنك بعد ذلك استيراد الوحدة النمطية لتشغيل التقارير والحصول على كائنات JavaScript كنتيجة:
const bt = require ( 'ibackuptool' )
// Call the backups.list report.
bt . run ( 'backups.list' )
. then ( backups => {
// Gives you a list of backups.
console . log ( backups )
} ) المتطلبات الأساسية: Nodejs و NPM. يوصى بشدة باستخدام NVM لتثبيت العقدة/NPM ، لأنه يسهل تثبيت عالميًا.
# Install directly from NPM
npm i -g ibackuptoolإذا لم يكن لديك إذن للتثبيت على مستوى العالم ، فيمكنك تجربة شيء كهذا لتغيير بادئة NPM وإضافته إلى مسار $ الخاص بك.
# List all the backups on the system
ibackuptool -l
# I'm using "0c1bc52c50016933679b0980ccff3680e5831162" as a placeholder.
# The list of backups contains the different UDIDs in the first column.
UDID= " 0c1bc52c50016933679b0980ccff3680e5831162 "
# Run ibackuptool --help to get a list of reports that are available
ibackuptool -b $UDID --report ' $TYPE 'إذا تلقيت خطأ عند محاولة سرد النسخ الاحتياطية ، فمن الممكن أن يكون المحطة الممكنة إذن للوصول إلى المجلد حيث يتم تخزين النسخ الاحتياطية. اقرأ رسالة الخطأ للموقع ، وإلا حاول فقط سرد النسخ الاحتياطية يدويًا:
# List all backups manually (macOS)
ls " /Users/ $( whoami ) /Library/Application Support/MobileSync/Backup " سترى ls: Operation not permitted وتعرف أن المحطة لا تحتوي على إذن. إصلاح عن طريق السماح للمحطة في الوصول إلى القرص الكامل تحت الأمن والخصوصية. أولا ، محطة إغلاق ، ثم:
System Preferences -> Security & Privacy -> Privacy -> Full Disk Access -> + -> tick Terminal
أعد تشغيل المحطة وحاول مرة أخرى.
يمكنك أيضًا توفير قائمة تقارير مفصولة بفاصلة لتوليدها. بالإضافة إلى ذلك ، هناك نوع خاص من all سيقوم بتشغيل جميع التقارير المتاحة. من الأفضل إقران هذا الخيار -o للحفظ في القرص وخيار -f لتحديد تنسيق مثل CSV أو JSON.
# Run all phone reports and wifi report.
ibackuptool -b $UDID --report ' phone.*,system.wifi '
# Report all possible
ibackuptool -b $UDID --report all يدعم Ibackuptool الآن أنواعًا متعددة من تصدير البيانات ، والتي يمكن تحديدها باستخدام علامة -f .
table - أعمدة البيانات المحددة في جدول ASCIIjson - أعمدة بيانات محددة للعرض (نفس البيانات مثل table )csv - ملف CSV يحتوي على أعمدة محددة (نفس البيانات مثل table )بالإضافة إلى ذلك ، هناك وظائف تصدير أكثر شمولية من شأنها تصدير جميع البيانات التي تم جمعها ، والحفاظ على التنسيق الأصلي والأعمدة:
raw-csv تصدير CSV الكامل من كل من الجداول.raw ، raw-json التصدير الكامل للإقامة من كل من الجداول. هذا المخرج يمكن أن يكون كبير جدا. بالإضافة إلى ذلك ، بالنسبة لأنواع json و raw-json ، هناك علامة --join-reports التي ستدمج جميع البيانات في ملف JSON واحد ، حيث يحتوي كائن المستوى الأعلى على مفتاح لكل نوع تقرير تم تحديده.
# Generate both wifi and calls reports, joined as JSON
ibackuptool -b $UDID -r systme.wifi,phone.calls -f json --join-reports يحدد خيار -o <path> ( --output <path> مجلد لتصدير التقارير إليه. إذا لم يكن الدليل موجودًا ، فسيتم إنشاءه. بالنسبة إلى تقارير JSON المرتبطة ، يتم تصدير ملف JSON واحد بدلاً من ملفات متعددة في الدليل.
# Export wifi, calls, voicemail as CSV files to disk in a folder named "exported/"
ibackuptool -b $UDID --report system.wifi,phone.calls,phone.voicemail -f csv -o exported ستستخلص المعلمة --extract <path> المقترنة مع تقرير النسخ الاحتياطي. جميع الملفات في نسخة احتياطية.
للحد من الملفات التي يتم استخلاصها ، تمرير مرشحات واحدة أو أكثر عبر --filter <filter> . يجب أن يتطابق كل مرشح لتضمين الملف.
يمكن تمرير مرشحات التعبير العادية بواسطة- --regex-filter <filter> .
# Export all JPEG photos onto "~/Desktop/Photos"
ibackuptool -b $UDID -r backup.files --extract ~ /Desktop/Photos --filter DCIM --regex-filter ' .(jpg|JPG|jpeg|JPEG)$ ' أولا ، تثبيت الصنبور
بعد ذلك ، قم بتشغيل npm test .
يجب عليك عمل نسخة احتياطية من النسخ الاحتياطية التي تنظر إليها في استخدام هذه الأداة ، على الرغم من فتحها على أنها للقراءة فقط ، لا يزال يتعين عليك فعل ذلك ، هل لا تفعل شيئًا عن طريق الخطأ لتفقد البيانات.
انظر المساهمة
انظر خارطة الطريق
حقوق الطبع والنشر © 2017-2019 ريتشارد إنفانت.
متوفر تحت رخصة معهد ماساتشوستس للتكنولوجيا.
إخلاء المسئولية: تتيح هذه الأداة استخراج المعلومات الشخصية من النسخ الاحتياطية iPhone الموجودة على محرك الكمبيوتر. الأداة هي لأغراض الاختبار ويجب استخدامها فقط على النسخ الاحتياطية iPhone حيث تم منح موافقة المالك. لا تستخدم هذه الأداة لأغراض غير قانونية ، من أي وقت مضى.
لن يتحمل المساهمون في المشروع وريتشارد إنفانتي مسؤولين في حالة قيام أي تهم جنائية ضد أي أفراد يسيئون استخدام هذه الأداة و/أو المعلومات الواردة داخلها ، لكسر القانون.