Ahmed Hosam
26-01-2012, 08:43
السلام عليكم و رحمة الله و بركاته
-- في البداية هذا الموضوع مخصص لتعريف الاعضاء بطريقة تعديل البيوس من نوع PHOENIX و مناقشة طريقة التعديل و كل جديد فيها ..... و لكن طلبات التعديل للبيوس ستكون في هذا الموضوع :-
https://arabhardware.net/forum/showthread.php?t=254660
ابدأ الموضوع اولا بالادوات التي سوف نحتاجها في التعديل علي البيوس :-
1) البيوس الاصلي للجهاز من موقع الشركة المصنعة صاحبة الجهاز او اللوحة الام ........ و يجب التأكد ان هذا البيوس هو خاص بجهازك لان استخدام بيوس خطأ يؤدي الي تلف البيوس .
2) اداة ANDY`S PHOENIX MOD TOOL و هي التي ستقوم بفك ملف البيوس الي MODULES لنتمكن من التعديل ثم بنا الملف مرة اخري :-
https://www.mediafire.com/?q6q26t6gywz1si9
3) اي برنامج HEX EDITOR تفضله و من ابسط البرامج برنامج WINHEX و برنامج XVI EDITOR و العديد من البرامج الاخري ..... و في الرابط برنامج XVI EDITOR :-
https://www.mediafire.com/?4vr02rrlae5rtj2
4) برنامج PHOENIX BIOS EDITOR لفتح ملف البيوس بصيغة .ROM او WPH لرؤية القوائم الموجودة حاليا في البيوس و رؤية اسماء الخيارات المخفية :-
https://www.mediafire.com/?255g8wtkbmw2n80
5) برنامج IDA DISASSEMBLER و هو برنامج شهير لعمل DISASSEMBLY لاي ملف بمحاكاة لغة اي معالج مثل 8086 او 8051 او ARM و اختيارات اخري كثيرة لكننا لن نستخدمه في حالة اظهار الخيارات الا في خطوة واحدة فقط .
انا عندي اصدار 5.5 و لكن من فترة كبيرة و عندما بحثت عن نفس الاصدار لم اجده و لكن وجدت اصدار احدث 6.1 و لكن لم اجربه بعد :-
https://rapidshare.com/files/4034444612/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part1.rar
https://rapidshare.com/files/2795575970/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part2.rar
https://rapidshare.com/files/1101114726/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part3.rar
https://rapidshare.com/files/2539500403/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part4.rar
و ليس مهما ابدا ان يكون لديك نفس الملف للجهاز الذي ساتخدمه كمثال لان كل انواع البيوس PHOENIX لها نفس الطريقة و نفس المعمارية في البرمجة .
و نبدأ الان الخطوات بالتفصيل :-
1) في البداية نكون مجلد جديد للعمل فيه مثل C:/ BIOS
2) قم بتنزيل ملف البيوس من الموقع و استخرج منه ملف البيوس و سيكون بامتداد ROM او WPH ........ فقط استخرجه من ملف ال EXE عن طريق فكه بواسطة WINRAR او اي طريقة اخري .
3) نستعمل اداة PHOENIX TOOL لفك ضغط ملف البيوس مثل الصورة :-
https://dl.dropbox.com/u/34989732/Untitled2222.png
قم باختيار ملف البيوس من جانب كلمة ORIGINAL BIOS و ستقوم الاداة بفكه تلقائيا في مجلد يسمي DUMP موجود بجانب ملف البيوس المطلوب فكه .
4) قم بفتح ملف البيوس باستخدام برنامج PHOENIX BIOS EDITOR (PBE ) و ستظهر لك العديد من نوافذ الاخطاء فتجاهلها كلها لانها عادية و اضغط YES لاي خطأ ثم ستري نوافذ كثيرة لمكونات البيوس كلها و ما نحتاجه منها هي STRINGS و SETUP و خيار EMULATE .
https://dl.dropbox.com/u/34989732/Untitle222d.png
هنا يظهر نوافذ SETUP TABLE و بها خيار EMULATE و نافذة STRINGS و هذا ما سنحتاجه بالتحديد .
نافذة ال sETUP بها الخيارات الموجودة حاليا و المفروض انك تراها في بيوس جهازك عند الدخول علي الخيارات فيه .
نافذة ال STRINGS تحتوي علي كل ال TEXT في البيوس ........... فمثلا هناك قائمة اسمها MAIN اذا ستجد اسمها في ال STRINGS و هناك خيار يسمي AHCI فستجد اسمه ايضا فيها و هناك خطأ يخرج لك مثلا بجملة PRESS F1 TO CONTINUE فستجده ايضا و هكذا .
5)بعدها قم بالذهاب الي مجلد DUMP المفكوك فيه البيوس و ستجد كل ملفات البيوس بداخله و ما نحتاجه منها هو ملفان :-
STRINGS00.ROM
TEMPLAT00.ROM
فقم بطباعتهم لاي مكان لاننا ستعمل عليهم .
ثم قم بفتح ملف STRINGS00.ROM باستخدام ال HEX EDITOR و قم بالغاء اول 1B BYTES في الملف :-
لاحظ في الصورة عنوان البايت في الاسفل علي اليسار .
نقوم بفتح قائمة FILE و عمل MARK علي اول بايت في الملف ثم نذهب الي 1B و نعمل MARK علي البايت ثم DELETE .
https://dl.dropbox.com/u/34989732/Untitled123.png
الذي قمنا بالغاءه هو مجر HEADER للملف و يحدد عدد اللغات التي يحتويها الملف مثلا الانجليزية و اليابانية و هكذا ...... لذلك الملف يبدأ من العنوان 0X1C و هذا ما فعاناه باننا نسحنا كل ما قبل هذا العنوان .
6) في برنامج PBE قم بعمل SEARCH في نافذة ال STRINGS عن اي قائمة او اختيار ....... مثلا نريد ان نجد اختيار Thermal Control في بيوس جهازي ( بالنسبة لجهازك ليس شرط ان تجد هذا الخيار و لكن ابحث عن خيار اخر مثل VIRTUALIZATION او قائمة مثل ADVANCED )
https://dl.dropbox.com/u/34989732/Untitled1234.png
ثم نبحث في ملف STRINGS عن THERMAL CONTROL عن طريق خاصية ال SEARCH في ال HEX EDITOR :-
https://dl.dropbox.com/u/34989732/Untitled12345.png
و لاحظ العنوان الذي وجدنا عنده الكلمة وهو 419D و اننا اخترنا بحث لايجاد TEXT و ليس HEX STRING .
7) نقوم بالبحث من بداية الملف علي 9D 41 و بحث علي انها HEX STRING و معني ذلك اننا طبقنا ال ENDIAN FORMAT في البحث ........ سنجد ال BYTES مثل ذلك :-
https://dl.dropbox.com/u/34989732/Untitled123456.png
و طبعا وجدناها في العنوان 05BA .
8) نفتح ملف ال TEMPLAT00.ROM باستخدام ال HEXEDITOR و نبحث فيه عن BA 05 :-
https://dl.dropbox.com/u/34989732/Untitled1234567.png
لاحظ الاتي :-
اننا نبحث عن اول نتيجة للبحث من اول الملف و هي المطلوبة .
ال BYTES التي نبحث عنها هي من قبل ال BA05 ب 2BYTES بدءا من 110C و بذلك يصبح نتيجة بحثنا :-
110C BA 05 C0 05 78 21 83 21 8E 21
11 : تدل علي ان هذا خيار INFORMATION او قائمة و لكن بالطبع هذا ليس اسم قائمة و ليس خيار لضبطه .
و لو كانت 00 او 01 : اذا هي خيار يتم ضبطه .
و لو كانت 10 : فهي غالبا قائمة .
و لو كانت 21 : فهذا احتيار الوقت .
و لو كانت 22 : فهو الوقت .
و لو كانت 23 : فهو ليس شيء اصلا و يسمي FREE FROM HEX .
0C : هي عدد ال BYTES للروتين و لكن عدد HEX و ليس DECIMAL بمعني ان الاساس له 16 و يكون 0C هو رقم 13 في الاعداد العادية .
BA05 : و هي 05BA ( العنوان الموجود في ملف ال STRINGS ) .
05C0 : و هي تسمي HELP STRING فاحيانا يظهر لك وصف للاختيار في البيوس و يكون هذا هو عنوان الوصف في ملف ال STRINGS .
7821 ,8321 , 8E21 : هي عناوين ال ROUTINES المسئولة عن ظهور الاختيار او اخفاؤه في البيوس .
لذلك يكون العنوان الذي وجدنا فيه الاختيار داخل الملف هو 0789 و هذا العنوان لاننا اخدنا ال HEADER في اعتبارنا مع العنوان ....... العنوان يبتدي من ال HEADER للملف .
9)
نعمل SEARCH من اول الملف علي العنوان 0789 ( 8907 ) و اذا وجدناه في هذه الصيغة 00 07 89 00 اذا فهو اختيار موجود بالفعل داخل قائمة و القائمة مخفية .
و لو لم نجده كذلك اذا نفتح خيار ال EMULATION في برنامج PBE و مختار القائمة التي سندخل الخيار اليها و لتكن مثلا قائمة MAIN و سندخله في اي مكان فارغ في القائمة .
و بذلك نحن نحتاج عنوان القائمة MAIN ايضا و نجيبه بنفس الطريقة تماما ........... نعمل SEARCH علي MAIN في ال STRINGS و نجد عنوانها ثم SEARCH مرة اخري علي هذا العنوان داخل ال STRINGS و بعد ذلك SEARCH علي العنوان الجديد داخل ال TEMPLAT و نجيب العنوان بال HEADER و في حالتي العنوان هو 0AD7 ثم نعمل search علي D70A من بداية ملف ال TEMPLAT و سنجد هذا :-
https://dl.dropbox.com/u/34989732/Untitled12345678.png
نلاحظ اننا وجدنا القائمة في العنوان 01CC و هو العنوان الذي عنده يوجد كل القوائم بالترتيب ....... تكون كل قائنة بجانبها عنوان و عند الذهاب اليه نحصل علي كل الخيارات الموجودة بداخل القائمة .
مثلا هنا وجدنا
D70A 2E02 EB0A EB01 8402 490F FA02 5F07 1E03 DD0D 3603
نجد ان D70A التي هي عنوان قائمة MAIN التي نبحث عنها ...... و بجانبها تمام 2E02 و هو العنوان الذي تبدأ عنده الاختيارات الموجودة داخل القائمة .
EB0A هي عنوان قائمة INFORMATION في حالتي .......... و EB01 هو( 01EB ) و هو عنوان بداية الختيارات الموجودة داخل قائمة INFORMATION و هكذا .
للتأكد من الممكن ان تذهب الي عنوان قائمة INFORMATION و هو 0AEB ثم تري ال HEADER و تأخذ العنوان ( بعد ال HEADER مباشرة ) و تذهب اليه في ال STRINGS و بعذلك تأخذ ال 2BYTES في هذا العنوان و تعكسهم لل ENDIAN FORMAT و تذهب الي العنوان الناتج و ستجد نفسك في النهاية امام كلمة INFORMATION .
الان نذهب الي العنوان الذي تبدأ عنده قائمة MAIN و هو 022E بال ENDIAN .
نذهب الي هذا العنوان و نجد الاتي :-
https://dl.dropbox.com/u/34989732/Untitled123456789.png
نحن بذلك بداخل القائمة الان و امامنا عناوين كل الخيارات و بين كل عنوان و الاخر يفصل بينهما 0000 .
نعرف الخيارات التي امامنا عن طريق ال PBE فنحن نعرف اننا الان داخل قائمة ال MAIN و نعمل EMULATE بال PBE و ندخل ال MAIN لنجد الاتي :-
https://dl.dropbox.com/u/34989732/Untitled09.png
و من الصورتين نستنتج ان ال 590E في اول القائمة في ال TEMPLAT هي ال SYSTEM TIME و هكذا ...... ( ملحوظة الفراغات يتم عدها لانها موجودة فعلا في ال TEMPLAT ...... فمثلا يوجد فراغ واحد بعد ال SYSTEM DATE و هو عنوانه 4D0A في ال TEMPLAT و من الممكن ان نكتب بدلا منه 8907 ( العنوان الذي وجدنا فيه اختيار ال THERMAL كان 0789 اذا عندما نريد كتابته حتي يذهب البيوس الي عنوانه و يعرضه نعكسه بال ENDIAN FORMAT ايضا و يكتب داخل اي قائمة 8907 ) و بذلك نكون اظهرنا الخيار في قائمة ال MAIN .
ببعد ذلك نحدد ال MANUFACTURER في ال PHOENIX TOOL و نضغط علي خيار SSV2 و نضغط ADVANCED و نتجاهل التحذير و نضغط YES ثم نعلم علي الخيارات الموضحة بالصورة و نزيل العلامات من اي خيارات اخري :-
https://dl.dropbox.com/u/34989732/Untitled1234567890.png
بد ذلك نضغط DONE ثم نضغط كلمة GO و ننتظر الي ان تأتي هذه الرسالة :-
https://dl.dropbox.com/u/34989732/Untitled12345678901.png
و عندها نأخذ ملف ال TEMPLAT00.ROM الذي عدلناه فقط و نبدله بالملف القديم داخل مجدلد ال DUMP ثم نضغط OK .
و ملحوظه هامة جدااااا ...... اذا جاءت رسالة مثل :-
NEW TEMPLAT.ROM IS 2 BYTES TOO BIG فعندها قم بالبحث في ال STRINGS عن اي خيار مخفي ولا تحتاجه و قم بالوصول اليه في ملف ال TEMPLAT و بدل ال BYTES الخاصة به باصفار و اضغط GO مرة اخري في الاداه و انتظر الرسالة و بدل الملف حتي يقول لك NEW TEMPLAT.ROM IS CORRECT SIZE و عندها لا يوجد اي مشاكل لكن لو قال BIGGER او SMALLER فعندها لا ينجح التعديل .
و لو قال SMALLER فانه سيستمر ببناء الملف و لكن هذا خطأ فيبنبغي عليك الاعادة مرة اخري .
ملف البيوس الجديد ستجده بجانب القديم و بنفس الاسم مع اضافة _SLIC للاسم .
في حالة رغبتك باظهلر قائمة كاملة فانت تاتي اولا بعنوانها في ال TEMPLAT و ليكن مثلا 01AC و تأتي عنوان اي اختيار بها ثم منه تستنتج عنوان اول اختيار بالقائمة و عنوانه مثلا 59AD ثم تكتب مكان قائمة MAIN مثلا عنوان القائمة و تربطها باختياراتها بكتابة AC 01 AD 59 بدلا من قائمة ال MAIN هو اي قائمة اخري .
اذا تركت اول 2 BYTES كما هما من دون تغيير و لكن غيرت فقط عنوان اول اختيار في القائمة الي AD59 فانت بذلك نقلت كل اختيارات القائمة المخفية الي قائمة MAIN و هذا حل يعتبر جيد جدا .
ساضع غدا ان شاء الله في رد في نفس الموضوع كيفية استخدام ال IDA DISASSEMBLER في اظهار القوائم المخفية .
في انتظار اي رد او استفسار من اي احد و ساجيب عليه ان شاء الله .
-- في البداية هذا الموضوع مخصص لتعريف الاعضاء بطريقة تعديل البيوس من نوع PHOENIX و مناقشة طريقة التعديل و كل جديد فيها ..... و لكن طلبات التعديل للبيوس ستكون في هذا الموضوع :-
https://arabhardware.net/forum/showthread.php?t=254660
ابدأ الموضوع اولا بالادوات التي سوف نحتاجها في التعديل علي البيوس :-
1) البيوس الاصلي للجهاز من موقع الشركة المصنعة صاحبة الجهاز او اللوحة الام ........ و يجب التأكد ان هذا البيوس هو خاص بجهازك لان استخدام بيوس خطأ يؤدي الي تلف البيوس .
2) اداة ANDY`S PHOENIX MOD TOOL و هي التي ستقوم بفك ملف البيوس الي MODULES لنتمكن من التعديل ثم بنا الملف مرة اخري :-
https://www.mediafire.com/?q6q26t6gywz1si9
3) اي برنامج HEX EDITOR تفضله و من ابسط البرامج برنامج WINHEX و برنامج XVI EDITOR و العديد من البرامج الاخري ..... و في الرابط برنامج XVI EDITOR :-
https://www.mediafire.com/?4vr02rrlae5rtj2
4) برنامج PHOENIX BIOS EDITOR لفتح ملف البيوس بصيغة .ROM او WPH لرؤية القوائم الموجودة حاليا في البيوس و رؤية اسماء الخيارات المخفية :-
https://www.mediafire.com/?255g8wtkbmw2n80
5) برنامج IDA DISASSEMBLER و هو برنامج شهير لعمل DISASSEMBLY لاي ملف بمحاكاة لغة اي معالج مثل 8086 او 8051 او ARM و اختيارات اخري كثيرة لكننا لن نستخدمه في حالة اظهار الخيارات الا في خطوة واحدة فقط .
انا عندي اصدار 5.5 و لكن من فترة كبيرة و عندما بحثت عن نفس الاصدار لم اجده و لكن وجدت اصدار احدث 6.1 و لكن لم اجربه بعد :-
https://rapidshare.com/files/4034444612/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part1.rar
https://rapidshare.com/files/2795575970/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part2.rar
https://rapidshare.com/files/1101114726/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part3.rar
https://rapidshare.com/files/2539500403/IDA_Pro_Advanced_6.1_HexRays_1.5_release_Sporaw_Se rial_Key_2011.part4.rar
و ليس مهما ابدا ان يكون لديك نفس الملف للجهاز الذي ساتخدمه كمثال لان كل انواع البيوس PHOENIX لها نفس الطريقة و نفس المعمارية في البرمجة .
و نبدأ الان الخطوات بالتفصيل :-
1) في البداية نكون مجلد جديد للعمل فيه مثل C:/ BIOS
2) قم بتنزيل ملف البيوس من الموقع و استخرج منه ملف البيوس و سيكون بامتداد ROM او WPH ........ فقط استخرجه من ملف ال EXE عن طريق فكه بواسطة WINRAR او اي طريقة اخري .
3) نستعمل اداة PHOENIX TOOL لفك ضغط ملف البيوس مثل الصورة :-
https://dl.dropbox.com/u/34989732/Untitled2222.png
قم باختيار ملف البيوس من جانب كلمة ORIGINAL BIOS و ستقوم الاداة بفكه تلقائيا في مجلد يسمي DUMP موجود بجانب ملف البيوس المطلوب فكه .
4) قم بفتح ملف البيوس باستخدام برنامج PHOENIX BIOS EDITOR (PBE ) و ستظهر لك العديد من نوافذ الاخطاء فتجاهلها كلها لانها عادية و اضغط YES لاي خطأ ثم ستري نوافذ كثيرة لمكونات البيوس كلها و ما نحتاجه منها هي STRINGS و SETUP و خيار EMULATE .
https://dl.dropbox.com/u/34989732/Untitle222d.png
هنا يظهر نوافذ SETUP TABLE و بها خيار EMULATE و نافذة STRINGS و هذا ما سنحتاجه بالتحديد .
نافذة ال sETUP بها الخيارات الموجودة حاليا و المفروض انك تراها في بيوس جهازك عند الدخول علي الخيارات فيه .
نافذة ال STRINGS تحتوي علي كل ال TEXT في البيوس ........... فمثلا هناك قائمة اسمها MAIN اذا ستجد اسمها في ال STRINGS و هناك خيار يسمي AHCI فستجد اسمه ايضا فيها و هناك خطأ يخرج لك مثلا بجملة PRESS F1 TO CONTINUE فستجده ايضا و هكذا .
5)بعدها قم بالذهاب الي مجلد DUMP المفكوك فيه البيوس و ستجد كل ملفات البيوس بداخله و ما نحتاجه منها هو ملفان :-
STRINGS00.ROM
TEMPLAT00.ROM
فقم بطباعتهم لاي مكان لاننا ستعمل عليهم .
ثم قم بفتح ملف STRINGS00.ROM باستخدام ال HEX EDITOR و قم بالغاء اول 1B BYTES في الملف :-
لاحظ في الصورة عنوان البايت في الاسفل علي اليسار .
نقوم بفتح قائمة FILE و عمل MARK علي اول بايت في الملف ثم نذهب الي 1B و نعمل MARK علي البايت ثم DELETE .
https://dl.dropbox.com/u/34989732/Untitled123.png
الذي قمنا بالغاءه هو مجر HEADER للملف و يحدد عدد اللغات التي يحتويها الملف مثلا الانجليزية و اليابانية و هكذا ...... لذلك الملف يبدأ من العنوان 0X1C و هذا ما فعاناه باننا نسحنا كل ما قبل هذا العنوان .
6) في برنامج PBE قم بعمل SEARCH في نافذة ال STRINGS عن اي قائمة او اختيار ....... مثلا نريد ان نجد اختيار Thermal Control في بيوس جهازي ( بالنسبة لجهازك ليس شرط ان تجد هذا الخيار و لكن ابحث عن خيار اخر مثل VIRTUALIZATION او قائمة مثل ADVANCED )
https://dl.dropbox.com/u/34989732/Untitled1234.png
ثم نبحث في ملف STRINGS عن THERMAL CONTROL عن طريق خاصية ال SEARCH في ال HEX EDITOR :-
https://dl.dropbox.com/u/34989732/Untitled12345.png
و لاحظ العنوان الذي وجدنا عنده الكلمة وهو 419D و اننا اخترنا بحث لايجاد TEXT و ليس HEX STRING .
7) نقوم بالبحث من بداية الملف علي 9D 41 و بحث علي انها HEX STRING و معني ذلك اننا طبقنا ال ENDIAN FORMAT في البحث ........ سنجد ال BYTES مثل ذلك :-
https://dl.dropbox.com/u/34989732/Untitled123456.png
و طبعا وجدناها في العنوان 05BA .
8) نفتح ملف ال TEMPLAT00.ROM باستخدام ال HEXEDITOR و نبحث فيه عن BA 05 :-
https://dl.dropbox.com/u/34989732/Untitled1234567.png
لاحظ الاتي :-
اننا نبحث عن اول نتيجة للبحث من اول الملف و هي المطلوبة .
ال BYTES التي نبحث عنها هي من قبل ال BA05 ب 2BYTES بدءا من 110C و بذلك يصبح نتيجة بحثنا :-
110C BA 05 C0 05 78 21 83 21 8E 21
11 : تدل علي ان هذا خيار INFORMATION او قائمة و لكن بالطبع هذا ليس اسم قائمة و ليس خيار لضبطه .
و لو كانت 00 او 01 : اذا هي خيار يتم ضبطه .
و لو كانت 10 : فهي غالبا قائمة .
و لو كانت 21 : فهذا احتيار الوقت .
و لو كانت 22 : فهو الوقت .
و لو كانت 23 : فهو ليس شيء اصلا و يسمي FREE FROM HEX .
0C : هي عدد ال BYTES للروتين و لكن عدد HEX و ليس DECIMAL بمعني ان الاساس له 16 و يكون 0C هو رقم 13 في الاعداد العادية .
BA05 : و هي 05BA ( العنوان الموجود في ملف ال STRINGS ) .
05C0 : و هي تسمي HELP STRING فاحيانا يظهر لك وصف للاختيار في البيوس و يكون هذا هو عنوان الوصف في ملف ال STRINGS .
7821 ,8321 , 8E21 : هي عناوين ال ROUTINES المسئولة عن ظهور الاختيار او اخفاؤه في البيوس .
لذلك يكون العنوان الذي وجدنا فيه الاختيار داخل الملف هو 0789 و هذا العنوان لاننا اخدنا ال HEADER في اعتبارنا مع العنوان ....... العنوان يبتدي من ال HEADER للملف .
9)
نعمل SEARCH من اول الملف علي العنوان 0789 ( 8907 ) و اذا وجدناه في هذه الصيغة 00 07 89 00 اذا فهو اختيار موجود بالفعل داخل قائمة و القائمة مخفية .
و لو لم نجده كذلك اذا نفتح خيار ال EMULATION في برنامج PBE و مختار القائمة التي سندخل الخيار اليها و لتكن مثلا قائمة MAIN و سندخله في اي مكان فارغ في القائمة .
و بذلك نحن نحتاج عنوان القائمة MAIN ايضا و نجيبه بنفس الطريقة تماما ........... نعمل SEARCH علي MAIN في ال STRINGS و نجد عنوانها ثم SEARCH مرة اخري علي هذا العنوان داخل ال STRINGS و بعد ذلك SEARCH علي العنوان الجديد داخل ال TEMPLAT و نجيب العنوان بال HEADER و في حالتي العنوان هو 0AD7 ثم نعمل search علي D70A من بداية ملف ال TEMPLAT و سنجد هذا :-
https://dl.dropbox.com/u/34989732/Untitled12345678.png
نلاحظ اننا وجدنا القائمة في العنوان 01CC و هو العنوان الذي عنده يوجد كل القوائم بالترتيب ....... تكون كل قائنة بجانبها عنوان و عند الذهاب اليه نحصل علي كل الخيارات الموجودة بداخل القائمة .
مثلا هنا وجدنا
D70A 2E02 EB0A EB01 8402 490F FA02 5F07 1E03 DD0D 3603
نجد ان D70A التي هي عنوان قائمة MAIN التي نبحث عنها ...... و بجانبها تمام 2E02 و هو العنوان الذي تبدأ عنده الاختيارات الموجودة داخل القائمة .
EB0A هي عنوان قائمة INFORMATION في حالتي .......... و EB01 هو( 01EB ) و هو عنوان بداية الختيارات الموجودة داخل قائمة INFORMATION و هكذا .
للتأكد من الممكن ان تذهب الي عنوان قائمة INFORMATION و هو 0AEB ثم تري ال HEADER و تأخذ العنوان ( بعد ال HEADER مباشرة ) و تذهب اليه في ال STRINGS و بعذلك تأخذ ال 2BYTES في هذا العنوان و تعكسهم لل ENDIAN FORMAT و تذهب الي العنوان الناتج و ستجد نفسك في النهاية امام كلمة INFORMATION .
الان نذهب الي العنوان الذي تبدأ عنده قائمة MAIN و هو 022E بال ENDIAN .
نذهب الي هذا العنوان و نجد الاتي :-
https://dl.dropbox.com/u/34989732/Untitled123456789.png
نحن بذلك بداخل القائمة الان و امامنا عناوين كل الخيارات و بين كل عنوان و الاخر يفصل بينهما 0000 .
نعرف الخيارات التي امامنا عن طريق ال PBE فنحن نعرف اننا الان داخل قائمة ال MAIN و نعمل EMULATE بال PBE و ندخل ال MAIN لنجد الاتي :-
https://dl.dropbox.com/u/34989732/Untitled09.png
و من الصورتين نستنتج ان ال 590E في اول القائمة في ال TEMPLAT هي ال SYSTEM TIME و هكذا ...... ( ملحوظة الفراغات يتم عدها لانها موجودة فعلا في ال TEMPLAT ...... فمثلا يوجد فراغ واحد بعد ال SYSTEM DATE و هو عنوانه 4D0A في ال TEMPLAT و من الممكن ان نكتب بدلا منه 8907 ( العنوان الذي وجدنا فيه اختيار ال THERMAL كان 0789 اذا عندما نريد كتابته حتي يذهب البيوس الي عنوانه و يعرضه نعكسه بال ENDIAN FORMAT ايضا و يكتب داخل اي قائمة 8907 ) و بذلك نكون اظهرنا الخيار في قائمة ال MAIN .
ببعد ذلك نحدد ال MANUFACTURER في ال PHOENIX TOOL و نضغط علي خيار SSV2 و نضغط ADVANCED و نتجاهل التحذير و نضغط YES ثم نعلم علي الخيارات الموضحة بالصورة و نزيل العلامات من اي خيارات اخري :-
https://dl.dropbox.com/u/34989732/Untitled1234567890.png
بد ذلك نضغط DONE ثم نضغط كلمة GO و ننتظر الي ان تأتي هذه الرسالة :-
https://dl.dropbox.com/u/34989732/Untitled12345678901.png
و عندها نأخذ ملف ال TEMPLAT00.ROM الذي عدلناه فقط و نبدله بالملف القديم داخل مجدلد ال DUMP ثم نضغط OK .
و ملحوظه هامة جدااااا ...... اذا جاءت رسالة مثل :-
NEW TEMPLAT.ROM IS 2 BYTES TOO BIG فعندها قم بالبحث في ال STRINGS عن اي خيار مخفي ولا تحتاجه و قم بالوصول اليه في ملف ال TEMPLAT و بدل ال BYTES الخاصة به باصفار و اضغط GO مرة اخري في الاداه و انتظر الرسالة و بدل الملف حتي يقول لك NEW TEMPLAT.ROM IS CORRECT SIZE و عندها لا يوجد اي مشاكل لكن لو قال BIGGER او SMALLER فعندها لا ينجح التعديل .
و لو قال SMALLER فانه سيستمر ببناء الملف و لكن هذا خطأ فيبنبغي عليك الاعادة مرة اخري .
ملف البيوس الجديد ستجده بجانب القديم و بنفس الاسم مع اضافة _SLIC للاسم .
في حالة رغبتك باظهلر قائمة كاملة فانت تاتي اولا بعنوانها في ال TEMPLAT و ليكن مثلا 01AC و تأتي عنوان اي اختيار بها ثم منه تستنتج عنوان اول اختيار بالقائمة و عنوانه مثلا 59AD ثم تكتب مكان قائمة MAIN مثلا عنوان القائمة و تربطها باختياراتها بكتابة AC 01 AD 59 بدلا من قائمة ال MAIN هو اي قائمة اخري .
اذا تركت اول 2 BYTES كما هما من دون تغيير و لكن غيرت فقط عنوان اول اختيار في القائمة الي AD59 فانت بذلك نقلت كل اختيارات القائمة المخفية الي قائمة MAIN و هذا حل يعتبر جيد جدا .
ساضع غدا ان شاء الله في رد في نفس الموضوع كيفية استخدام ال IDA DISASSEMBLER في اظهار القوائم المخفية .
في انتظار اي رد او استفسار من اي احد و ساجيب عليه ان شاء الله .