View Full Version : برنامه نویسی بایوس
delphi77
پنج شنبه 28 آبان 1383, 17:36 عصر
برنامه نویسی بایوس
درود به همه دوستان جوینده دانش
چگونه می توان از داخال برنامه گزینه های بایوس را تغییر داد؟؟؟
-------------------------------------------------------------------------------
بی خود شده ام جانا بی خود تر از این خواهم
با چشم تو می گویم من مست چنین خواهم
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم
S.O.S for Learn
vcldeveloper
جمعه 29 آبان 1383, 03:58 صبح
این کار وابسته به نوع بایوس و چیپ ست مادربرد شما ست و با یک کد واحد نمیشه تنظیمات هر بایوسی رو تغییر داد. اگه دقت کرده باشید هر شرکت مادربرد سازی برای این کار از نرم افزارهای خودش که مربوط به همان مدل بایوس و چیپ ست هستند استفاده می کنه و شما نمی تونید از نرم افزاری که Asus اراپه کرده در مادربردهای MSI استفاده کنید. حتی اگر مدلهای بایوس هم یکی باشه!!! بخصوص که خیلی از این شرکت ها بایوس را برای مادربردهای ساخت خو Customize می کنند.
حاجی مسعود
جمعه 29 آبان 1383, 07:53 صبح
شاید بهتر باشه طرفهای اسمبلی یه سری بزنیم؟
مهدی کرامتی
جمعه 29 آبان 1383, 11:53 صبح
خودت رو خسته نکن. یک بار دیگه مطالبی که آقای کشاورز نوشته است رو مرور کن.
MiRHaDi
یک شنبه 01 آذر 1383, 21:12 عصر
سلام
بستگی داره بخوای تو چه Biosی چه چیزی رو عوض کنی !
بای
phantasm
یک شنبه 01 آذر 1383, 22:37 عصر
البته به نظر من هم این سوال باید در قسمت اسمبلی پرسیده میشد!!
برای شروع میتونی سایتهای زیر رو ببینی:
http://www.wimsbios.com/
http://www.openbios.info/
vcldeveloper
دوشنبه 02 آذر 1383, 03:46 صبح
آقای phantasm، این دو سایتی که معرفی کردید اولی فقط به update ها و manual های Award و Phonix می پرداخت. دومی هم سایت جالبی بود، اما درباره پیاده سازی یک firmware و نه نحوه تنظیم گزینه های بایوس از داخل نرم افزار.
همونطوری که در پست قبلی هم گفتم استاندارد خاصی برای نوشتن برنامه های Setup وجود نداره. دو شرکت معروف Award و Phonix محصولاتشون رو به کارخانه های مادربرد سازی اراپه می کنند و این کارخانه ها هم نرم افزار مورد نظر رو معمولا برای سازگاری بیشتر با محصولشون دستکاری می کنند. حتی مدلهای مختلف نرم افزار های یک شرکت هم ممکنه با هم فرق داشته باشند. در نتیجه حتی اگر شما SKD مربوط به یکی از این بایوس ها رو هم پیدا کنید، باز هم نرم افزار شما نمیتونه طیف وسیعی از سیستم ها رو تحت تاثیر قرار بده.
فکرش رو بکنید اگه این کدها یک رابط برنامه نوبسی استاندارد برای نرم افزارهای کاربردی داشتند، ویروس نویس ها چه کارها که نمی کردند!!!! :evil2:
phantasm
دوشنبه 02 آذر 1383, 14:52 عصر
علی جان حرفت درسته ٬ ولی ایشون نگفتن که میخواد یه برنامه جهان شمول :wink: بنویسه!!من فکر میکنم با خوندن source code بایوس از توی flash memory و disassemble کردن hex bytes ها میشه برای یه بایوس بخصوص منطق مناسب رو یافت.
نظرت چیه استاد؟ :)
vcldeveloper
سه شنبه 03 آذر 1383, 02:38 صبح
استاد شما هستی، نه من :)
علی جان حرفت درسته ٬ ولی ایشون نگفتن که میخواد یه برنامه جهان شمول بنویسه!!من فکر میکنم با خوندن source code بایوس از توی flash memory و disassemble کردن hex bytes ها میشه برای یه بایوس بخصوص منطق مناسب رو یافت.
کاملا صحیح هست. من فکر کردم که ایشون یه برنامه کلی برای همه بایوس ها میخوان :wink:
MiRHaDi
سه شنبه 03 آذر 1383, 04:36 صبح
سلام
اگه میخوای ببینی توی بایوس چیه که از اول Memory فکر کنم آدرس 40 هگزا اطلاعاتش هست ! DeAssembly کن بخون ! ولی اینجا بخش دلفی است !احتمالا ایشون VCL برای BIOS میخوان
بای
delphi77
سه شنبه 03 آذر 1383, 18:27 عصر
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم
KaChaLKaChaLKaLaChERoGhaNKaLEPaChE :D
منظورم فقط در حد تغییرات منوهای Setup Bios می باشد؟ یعنی همان چیزی که با گرفتن DEL در هنگام روشن شدن سیستم می توان تغییر داد.من قصد ندارم بایوس را Rewrite کنم.البته جراتشم ندارم!!
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم
MM_Mofidi
سه شنبه 03 آذر 1383, 18:34 عصر
جناب استاد کشاورز
شما هیچ مرجع مناسبی برای محتویات بایوسهای مختلف داری(کامل) یعنی مثلا شامل آدرس reset Bios,password Add,Bios serial NO. & ETC.
ممنون
مهندس
سه شنبه 03 آذر 1383, 23:54 عصر
سلام
راستی یه سوال ...
من چهار خط برنامه دارم در محیط پاسکال که با استفاده از پورت
بایوس رو ریسیت میکنه ... :موفق:
می خواستم بدونم که این برنامه در دلفی هم کار میکنه ؟ :گیج:
( البته دم دستم نیست که روی دلفی تست کنم ) :D
BOB
چهارشنبه 04 آذر 1383, 07:05 صبح
من چهار خط برنامه دارم در محیط پاسکال که با استفاده از پورت
بایوس رو ریسیت میکنه ... :موفق:
می خواستم بدونم که این برنامه در دلفی هم کار میکنه ؟ :D
سلام
بله . مسلما معادل اون چهارخط در هر زبانی کار میکنه .
با استفاده از اون چهار خط شما مقادیر استانداردی رو به پرت CMOS/RealTime
ارسال میکنید که باعث ریست شدن بایوس میشود .
MM_Mofidi
چهارشنبه 04 آذر 1383, 14:49 عصر
آدرس 70و 71 با کمک debug.exe هم میشود.
c:\debug
-o 70 10
-o 71 00
-q
بعدش ....بایوس ریست :wink:
vcldeveloper
پنج شنبه 05 آذر 1383, 03:25 صبح
شما هیچ مرجع مناسبی برای محتویات بایوسهای مختلف داری(کامل) یعنی مثلا شامل آدرس reset Bios,password Add,Bios serial NO. & ETC.
ممنون
متاسفانه نه! :sorry:
من چهار خط برنامه دارم در محیط پاسکال که با استفاده از پورت
بایوس رو ریسیت میکنه ...
با استفاده از گزینه مربوط به Write Protect کردن بایوس در داخل تنظیمات Setup میشه از ریست شدن بایوس جلوگیری کرد.
delphi77
یک شنبه 29 آذر 1383, 02:08 صبح
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم
اگر ممکن است توضیح بیشتری ارائه بفرمایید
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم
Inprise
یک شنبه 29 آذر 1383, 08:15 صبح
مسلما معادل اون چهارخط در هر زبانی کار میکنه .
با استفاده از اون چهار خط شما مقادیر استانداردی رو به پرت CMOS/RealTime
ارسال میکنید که باعث ریست شدن بایوس میشود
<span dir=ltr>Nop . while you are in Win32 userland there is No Actual Direct post access and nobody can change BIOS Contents</span>
vcldeveloper
چهارشنبه 02 دی 1383, 02:56 صبح
Nop . while you are in Win32 userland there is No Actual Direct post access and nobody can change BIOS Contents
In general you are right, but how can we justify utilities which hardware manufacturers ship with their products to update BIOS or overclock the CPU?!! all of them work in win32 enviroment, although they are hardware plateform specific :گیج:
Inprise
چهارشنبه 02 دی 1383, 03:39 صبح
<span dir=ltr>Regards to windows 32-bit Protected mode architecture there is no Direct hardware access in "Userland" means ring3 . those proggiez you said are using "P"rivilaged instructions From Kernel-space means Ring0 . in other word they have their own kernel-mode Driver . Win32 Appz are running in userland . withou this nice restriction ool MotherF+++er kiddie virus developers are Welcome to rape your Sexy pc . thats it</span>
MSK
چهارشنبه 02 دی 1383, 15:52 عصر
جناب میرهادی فکر کنم آدرس 40 مربوط به متغیرهای بایوسه نه خود بایوس!
اگه اشتباه نکنم کد عملیاتی بایوس در آدرس FFF0 قرار داره؟ :گیج:
vcldeveloper
پنج شنبه 03 دی 1383, 01:57 صبح
ُThnx for your info. But if you don't mind I have another question: Do they get any special privilege from Microsoft to run their program in Kernel mode or they use some hacking techniques to access to that part of OS? :گیج:
Inprise
پنج شنبه 03 دی 1383, 02:58 صبح
<span dir=ltr>Kernel Driver developement is a Common task for hardware developers and windows ( just like other moderm osz ) published with its SDK as well as DDK means Driver Developement kit . using DDK you can write your own Ring0 modules with ease , no need to kernel hacking , but note that every Kernel Driver Developer should ask M$ for valid Driver Certifications and digital signs , in fact driver developers should give a digital sign for their Ring0 modules if they wanna deploy them and want windows to Register their driver without problems. hope you got the point </span>
vcldeveloper
شنبه 05 دی 1383, 01:42 صبح
hope you got the point
Yup, I dug it :wink:
Thnx alot
:flower:
delphi77
سه شنبه 27 بهمن 1383, 14:57 عصر
:گیج: :گیج: :گیج: :گیج:
delphi77
سه شنبه 10 مرداد 1385, 14:34 عصر
آدرس 70و 71 با کمک debug.exe هم میشود.
مثلا همین که دوستمون گفت (که البته در xp جواب نمیده و باید در 98 باشیم تا کار کنه) چطوری میشه چنین کارهایی را از توی application انجام داد؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.