طريقة حساب كود الذاكرة الداخلية يدوياً
METHOD: CALCULATE EMMC USER SIZE MANUAL BY Shorbagy
هذه الصورة تم اعادة تحجيمها . الحجم الافتراضي لها هو 1024x106.
أهلاً بكم جميعاً أعضاء المنتدى الكريم
المراد من هذا الموضوع هو أن يكون كل علمنا في البرمجة والسوفت مبني على الفهم..
اليوم سنتحدث عن موضوع مهم جداً مخصص للاستطلاع والاكتشاف وفي نفس الوقت يهتم بتحديد وقراءة مساحة الذاكرة الغير محسوبة أو ظاهرة، وغالباً تكون على هيئة:
HEX Code
في الموضوعات السابقة منذ 8 سنوات مضت كنت قد طرحت موضوع عن الملفات المخصصة لمسح الفلاش بالكامل وكان من ضمنها شرح طريقة معرفة المساحة أو الذاكرة الداخلية لاختيار الملف المناسب للمسح ، في هذا الموضوع للإطلاع.. رابط الموضوع
المعادلة هي:
HEX Convert to DEC /1024=Events
اليوم بنفس الطريقة المذكورة آنفاً سوف نبدأ العمل..
هذه الطريقة تعمل فقط مع جميع أجهزة ميدياتك أو إم تي كي
MTK MediaTek CPU Android
في بعض البوكسات المختصة لتصليح هذه الأنواع تعرض لنا مساحة الذاكرة الداخلية للجهاز بدون حساب أو إيضاح ويظهر لنا كود صغير غير محسوب بحجم الذاكرة .. وهناك بوكسات تظهرها..
وقد تسبب للمستخدمين أخطاء كثيرة أثناء عملية التفليش الخاطيء في هذه الأحوال مما يسبب في فصل الجهاز نهائياً.
والسبب هو عدم مطابقة مساحة الفلاشة الموجودة بالفيرموير مع مساحة الجهاز الأساسية..
الذاكرات الداخلية المتاحة اليوم لأنظمة الأندرويد هي:
2 جيجا - 4 جيجا - 8 جيجا - 16 جيجا - 32 جيجا - أو ربما 64 جيجا و 128 جيجا و 256 جيجا .. إلخ
هذه الصورة تم اعادة تحجيمها . الحجم الافتراضي لها هو 1024x106.
المهم نستكمل الموضوع
طبعاً كثير من المهندسين المختصين في البرمجة يلاحظون أن الإنفو الخاص بالهاتف أثناء قراءته على واجهة الأداة أو البوكس يظهر كود دون معرفة المساحة ودون حسابها وتظهر بهذا الشكل أثناء البوت الأول:
EMMC_USER_SIZE : 0x1C8000000
الآن كيف يمكنني حساب هذا الكود وتحويله إلى أرقام ؟ ومن خلال الأرقام سوف نعرف المساحة التي يشكلها هذا الكود..
بكل بساطة ننسخ الكود :
0x1C8000000
ونذهب إلى الآلة الحاسبة في الكمبيوتر
View >> Programmer >> HEX
Past Code
then Press DEC
سيظهر لك أرقام بهذا الشكل:
7650410496
هذا الرقم المفروض أنه بالبايت
نقسمه على 1024
سيظهر لك الرقم التالي:
7471104
هذا الرقم المفروض أنه أصبح بالكيلوبايت
نقسمه ثان على 1024
سيظهر لك الرقم التالي:
7296
الآن هذا الرقم المفروض أنه أصبح بالميجابايت
لو قمنا بتقريب الأرقام حتى يصبح رقم صحيح واثنان رقم عشري سيكون هكذا
7.12 G
إذن الذاكرة الداخلية لهذا الجهاز هي 8 جيجا
ونقوم بتطبيق هذه الطريقة على الباقي ..
هذه الصورة تم اعادة تحجيمها . الحجم الافتراضي لها هو 1024x106.
أمر آخر في هذه الأنواع أو الذاكرات عموماً لها عناوين بداية وعناوين نهاية لو قمت بتجميعها بنفس الطريقة ستظهر لك نفس النتيجة أيضاً.
على سبيل المثال:
قمنا بسحب نسخة كاملة لجهاز
Tecno W3
وبعد سحب النسخة ظهر لنا أكواد بداية ونهاية الذي يهمنا فيها الآن هو هذا الكود التالي:
Userdata: add:0xBA800000 -- length: 0x10c780000
لو جمعنا الكود الأول + الثاني بطريقة التحليل أعلاه وقسمناه على 1024
سيظهر لك هذا الرقم:
7279.5
وهذا بالميجابايت
ولو قمنا بتقريبه سيظهر نفس النتيجة أعلاه وهي :
7.12
طيب يبقى المعادلة هنا:
الأدريس الأول + الثاني = الكود الظاهر في الاسفل :D
0xBA800000
+
0x10c780000
=
0x1C8000000
===================
أيضاً قمنا بعمل إنفو لجهاز
TECNO L8
EMMC_USER_SIZE: 0x3A3E00000
ومن الإنفو لاحظنا هذا الكود الذي يحتوي على عناوين البداية والنهاية:
userdata:>>addr:0xEA000000 -- length:0x2B8D80000
المفروض لو حسبت الكود الأول بالطريقة أعلاه سيظهر لك في النهاية:
14.56 GB
وأيضاً لو جمعت العنوان الأول والثاني في السطر الثاني سيظهرلك نفس النتيجة في النهاية، أي أن الذاكرة الداخلية هي 16 جيجا بايتس
هذه الصورة تم اعادة تحجيمها . الحجم الافتراضي لها هو 1024x106.
طيب كيف يمكننا حساب الذاكرة الداخلية من خلال ملف السكاتر
SCATTER EMMC_USER_SIZE CALCULATE
بكل بساطة نقوم بفتح ملف الساكتر ونبحث عن الكلمات التالية:
partition_name: userdata
سوف يظهر لك بيانات هذه المنطقة من عناوين البداية والنهاية وعنوان المنطقة ، لو طابقت العناوين فيها ستلاحظ أنها متوافقة مع العنوان أعلاه..
ستكون شكلها كالتالي:- partition_index: SYS21
partition_name: userdata
file_name: userdata.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0xea000000
physical_start_addr: 0xea000000
partition_size: 0x2b8d80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
الذي يهمنا في هذه المعلومات من الساكتر هو العنوان التالي:
physical_start_addr: 0xea000000
partition_size: 0x2b8d80000
ولو قمنا بجمعهم بنفس الطريقة سنجد نفس النتيجة
في المرفقات بعض الصور الهامة التي تدعم الشرح أيضاً
أتمنى في النهاية أن يكون هذا الشرح مفيد وقد أضفت شيئاً جديداً في التعامل مع خفايا هذه الأنواع ولدي كالكوليت لملفات أخرى سيتم الشرح عنها فيما بعد.
ملحوظة: يمنع النقل دون ذكر المصدر للأمانة
مع أطيب الأمنيات
Mahmoud H. Elshorbagy
Shorbagy






رد مع اقتباس
.gif)



المفضلات