حصري [شروحات RockChip] [01] شرح مفصل لأداة rkDumper

الحالة
مغلق و غير مفتوح للمزيد من الردود.

DZ-Developer

:: الإدارة R&D ::
إنضم
28 أفريل 2012
المشاركات
7,017
مستوى التفاعل
31,118
النقاط
113
الإقامة
الجزائر الغالية
142462240471.png


العنوان.webp



🔧 شرح مفصل لأداة rkDumper
أداة استخراج النسخة الاحتياطية من أجهزة Rockchip



✅ ما هي أداة rkDumper؟

rkDumper.exe هي أداة مخصصة للتعامل مع أجهزة Rockchip (لوحيات، Android TV Box، أجهزة تعليمية...)، وتستخدم بشكل رئيسي من أجل:
🗂️ استخراج نسخة احتياطية كاملة (Dump) من ذاكرة الجهاز (NAND/NOR/EMMC).
🔄 التبديل بين أوضاع الجهاز: Loader ↔ MSC.
🔍 استخراج معلومات تفصيلية عن الشريحة والذاكرة.
🧩 قراءة الجداول مثل parameter و IDB.
الأداة من تطوير RedScorpio، وتُستخدم غالبًا من طرف المبرمجين وفنيي الصيانة.


📦 متطلبات التشغيل:

نظام تشغيل: Windows 7/8/10/11 (يفضّل 64 بت).
تعريف Driver: تثبيت Rockchip Driver Assistant بنجاح.
الاتصال عبر كابل USB في Loader Mode.
تشغيل الأداة عبر CMD كمسؤول (Run as Administrator).

🔌 أوضاع عمل أجهزة Rockchip:


الوضع
الوصف
هل يدعم rkDumper
Loader Mode
وضع الخدمة، يسمح بقراءة وكتابة الذاكرة
✅ضروري للـ Dump
MaskROM Mode
وضع الطوارئ (عند فشل البوت الكامل)
❌غير مدعوم مباشر
MSC Mode
الوضع الطبيعي كـ USB Storage
❌لا يعمل معه

🛠️ أهم الأوامر في rkDumper:

الأمر
الوظيفة
dump
استخراج كامل لأقسام الذاكرة (Firmware Dump).
swt
التبديل إلى Loader Mode.
rst
إعادة تشغيل الجهاز إلى وضع MSC (العادي).
scan
فحص الأجهزة المتصلة عبر USB.
info
عرض معلومات ذاكرة التخزين (NAND أو eMMC).
chip
عرض معلومات المعالج / الشريحة.
parm
البحث عن ملف parameter داخل الجهاز.
idb
قراءة جدول IDB (يحتوي إعدادات التمهيد).
bad
قراءة جدول الكتل التالفة (Bad Blocks).

🧪 أوامر مساعدة (Options):

الخيار
الاستخدام
/last أو /user
حفظ القسم الأخير (عادة يكون قسم المستخدم).
/part
استخدام حجم الأقسام الحقيقي للنسخ.
/incl:<pn0,pn1>
تحديد الأقسام المراد استخراجها.
/excl:<pn0,pn1>
استثناء أقسام معينة من النسخ.
/pfile:<path>
استخدام ملف parameter خارجي.
/nrst
عدم إعادة تشغيل الجهاز بعد الانتهاء.
/log
حفظ ملف سجل (log) لكل العملية.
/debug
عرض معلومات تفصيلية أثناء العمل (يتطلب /log).
/lname:<loader.bin>
تحديد ملف Loader خارجي (عند الحاجة).
/load
استخراج معلومات من IDB تلقائيًا.

✅ خطوات القيام بـ Dump كامل:

1- أدخل الجهاز في Loader Mode:
إما - من خلال الأزرار الظاهرة إما عن طريق الضغط على زر خفض الصوت او رفع الصوت ثم توصيل USB
- من خلال ازرار غير ظاهرة مثل زر Reset ثم توصيل USB
او بإستخدام الأمر التالي:
كود:
rkDumper.exe swt

2- تأكد أن الجهاز ظهر كـ Rockusb:
عبر الأمر التالي:

كود:
rkDumper.exe scan

3- ابدأ القراءة و سحب الـDump:
عبر الأمر التالي:

كود:
rkDumper.exe dump /log /nrst
سيتم إنشاء ملفات bin لكل قسم (boot.bin, system.bin, ...).

⚠️ المشاكل الشائعة وحلولها:

المشكلة
السبب المحتمل
الحل
الجهاز لا يستجيب
ليس في Loader Mode
استخدم الأمرswtأو ادخل يدويًا
dump لا يبدأ ولا تظهر ملفات
حماية bootloader أو لا يوجد ملف parameter
جرّبinfo, parm, chipأولاً
يظهر "rkDumper.inf not found"
ملف ini مفقود (لا يؤثر غالبًا)
تأكد أن الأداة مكتملة، أو تجاهله
قراءة وسحب ناقص أو مع أخطاء
مشكلة Bad Blocks أو حماية على الأقسام
جرّب استخدام/inclأو/excl
الجهاز يُعيد التشغيل مباشرة بعد dump
لم يتم استخدام/nrst
أضف/nrstللأمر
 

📂 مخرجات الأداة:

مجلد Dump_yyyyMMdd_HHmmss يحتوي:
1- ملفات bin (لكل قسم).
2- ملف rkDumper.log: سجل العملية.
3- ملف parameter.txt: إن تم استخراجه.
4- ملف config.cfg: ملفين config_8.cfg و config_16.cfg


📌 ملاحظات هامة:

1- بعض الأجهزة تحتاج loader خاص لتعمل الأداة بشكل سليم (خاصة الموديلات الحديثة).
2- الأداة لا تدعم تحديث أو كتابة النظام، فقط قراءة وسحب.
3- إذا كان الجهاز في وضع MaskROM، فلن يتعرف عليه rkDumper.


🔚 خلاصة:

rkDumper.exe أداة قوية ومجانية تفيد بشكل كبير في:
1- حفظ نسخ احتياطية قبل التفليش.
2- استخراج قسم المستخدم أو النظام للتعديل مثل تجهيز ملفات تخطي FRP.
3- تحليل مشاكل أجهزة Rockchip دون مخاطرة التشفير أو الحذف.
4- تجهيز ملف الـDump لإعادة الكتابة على جهاز آخر سنتطرق الى الكيفية في قادم مواضيع السلسلة.
لكن تحتاج فهم دقيق لوضع الجهاز واستخدام الخيارات المناسبة حسب الحالة.


PHP:
        Usage:  rkDumper.exe [options] <dump|swt|rst|scan|parm|info|chip|bad|idb>
                rkDumper.exe [options] dump     - dumping
                rkDumper.exe [options] swt      - switch to LOADER mode
                rkDumper.exe [options] rst      - reset to MSC mode
                rkDumper.exe [options] scan     - USB devices enumeration
                rkDumper.exe [options] parm     - "parameter" file copies searching
                rkDumper.exe [options] info     - get Flash info (in LOADER mode)
                rkDumper.exe [options] chip     - get Chip info (in LOADER mode)
                rkDumper.exe [options] bad      - bad bloks table reading
                rkDumper.exe [options] idb      - IDB table(es) reading

        Options:
                /last or /user                  - make backup of last partition (dump mode)
                /part                           - use partition size for dumping (dump mode)
                /incl:<pn0[,pn1[,pn2...]]>      - list of included partition numbers (dump mode)
                /excl:<pn0[,pn1[,pn2...]]>      - list of excluded partition numbers (dump mode)
                /pfile:<[path]name>             - external parameter file name (dump mode)
                /nrst                           - don`t reset to MSC mode (dump mode)
                /log                            - write log
                /debug                          - debug mode on (works with /log option)
                /quiet                          - don't output to console
                /mono                           - monochrome mode on
                /bcpath:<path>                  - base path for RKAndroidTool's cfg
                /lname:<[path]name>             - loader file name for RKAndroidTool's cfg
                /load                           - extract FileData & FileBoot from IDB (idb mode)
                /noupdate                       - don't check updates
                /ini                            - rewrite *.ini-file with new parameters

فيما يلي أول 20 فرق بين ملفي config_8.cfg و config_16.cfg:

السطرconfig_8.cfgconfig_16.cfg
7fwver:,fwver: ,0,0,0,0,0
10Loader:LOADER/loader.binLoader:LOADER/loader.bin,0,0,0,0,0
13CMD:WRITECMD:WRITE,0,0,0,0,0
14CMD:MISCCMD:MISC,0,0,0,0,0
15CMD:GET_FLASH_INFOCMD:GET_FLASH_INFO,0,0,0,0,0
16CMD:ERASECMD:ERASE,0,0,0,0,0
17CMD:RESETCMD:RESET,0,0,0,0,0
18CMD:RUNCMD:RUN,0,0,0,0,0
19CMD:TESTUNITREADYCMD:TESTUNITREADY,0,0,0,0,0
20CMD:SETIFCMD:SETIF,0,0,0,0,0
21CMD:READ_LBACMD:READ_LBA,0,0,0,0,0
22CMD:WRITE_LBACMD:WRITE_LBA,0,0,0,0,0
23CMD:SCSI_CMDCMD:SCSI_CMD,0,0,0,0,0
24CMD:TESTUNITREADY_LUN0CMD:TESTUNITREADY_LUN0,0,0,0,0,0
25CMD:SET_LUNCMD:SET_LUN,0,0,0,0,0
26CMD:SETIF_LUN0CMD:SETIF_LUN0,0,0,0,0,0
27CMD:READ_LBA_LUN0CMD:READ_LBA_LUN0,0,0,0,0,0
28CMD:WRITE_LBA_LUN0CMD:WRITE_LBA_LUN0,0,0,0,0,0
29CMD:SCSI_CMD_LUN0CMD:SCSI_CMD_LUN0,0,0,0,0,0
30CMD:CHECKFLASHCMD:CHECKFLASH,0,0,0,0,0

الفرق الأساسي هو أن ملف config_16.cfg يضيف ستة أرقام (غالباً صفرية) بعد كل أمر أو قيمة، وهي تتعلق بتنسيق الإصدارات الأحدث من AndroidTool (الإصدار 2 فما فوق)، والتي تتطلب هذا التنسيق الموسّع.
أما ملف config_8.cfg فهو مخصص للإصدار 1.37

ملخص القول:
AndroidTool v1.xx: يستخدم ملفات config_8.cfg (مخصص للأجهزة القديمة أو التعريفات ذات 8 أقسام).
AndroidTool v2.xx: يستخدم ملفات config_16.cfg (يدعم تخطيطات أكبر وتعريفات أحدث).


 
في المواضيع القادمة سنتطرق الى أجهزة مختلفة قراءة وسحب ثم تهيئة الـDump للكتابة ، في كل مرة نأخذ حالة من الحالات لدراستها لحين توفر الأجهزة

تحميل الملفات الخاصة بسلسلة RockChip
هنـــMediaFireـــا
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى