PDA

View Full Version : سوال: گرفتن اطلاعات از BIOS



mthreat.info
چهارشنبه 18 بهمن 1391, 23:23 عصر
سلام
من میخواستم بدونم میشه به اطلاعات بایوس سیستم (BIOS Setup) دسترسی داشت ؟ (خوندن و ویرایش) اگه میشه با چه کدی؟
راستش من تو این ضمینه هیچ اطلاعاتی ندارم اگه میشه یه سر نخی یه مثالی یه ... بدین ممنون میشم

mostafa.hnz
چهارشنبه 18 بهمن 1391, 23:42 عصر
این لینک رو نگاه کن
http://stackoverflow.com/questions/1883561/c-sharp-how-to-determine-bios-date-change (http://http://stackoverflow.com/questions/1883561/c-sharp-how-to-determine-bios-date-change)

aryadad
چهارشنبه 18 بهمن 1391, 23:50 عصر
نوشتن رو که بعید می دونم! اما می توانید اطلاعات را بخوانید. به عنوان مثال:


using System;
using System.Management;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");
foreach (ManagementObject bios in query.Get())
{
Console.WriteLine("BIOS Serial Number: " + bios["SerialNumber"].ToString());
}
}
}
}

mthreat.info
چهارشنبه 18 بهمن 1391, 23:51 عصر
ممنونم ولی من بیشتر دنبال تغییر اطلاعاتش هستم

khokhan
چهارشنبه 18 بهمن 1391, 23:57 عصر
ممنونم ولی من بیشتر دنبال تغییر اطلاعاتش هستم
راهش اینه که از طریق ریجستری ویندوز تغییرش بدی

aryadad
چهارشنبه 18 بهمن 1391, 23:57 عصر
وقتی سیستم عامل بالا باشه امکان تغییر در بایوس وجود ندارد!

ma.rad
پنج شنبه 19 بهمن 1391, 00:06 صبح
اول یه موضوع که مدیران سایت تاکید کردن به تاپیک هایی که عنوان مناسب ندارن جواب ندیم، لطفا این مورد رعایت کنید
اگر منظورتون تغییر تنظیمات bios با استفاده از توابع api امکان پذیره.

mthreat.info
پنج شنبه 19 بهمن 1391, 00:16 صبح
اول یه موضوع که مدیران سایت تاکید کردن به تاپیک هایی که عنوان مناسب ندارن جواب ندیم، لطفا این مورد رعایت کنید
باور کن الان دیدم :D من موقع تاپیک BIOS نوشته بودم :D



اگر منظورتون تغییر تنظیمات bios با استفاده از توابع api امکان پذیره.
چه API این کار رو انجام میده؟


وقتی سیستم عامل بالا باشه امکان تغییر در بایوس وجود ندارد!

من یه برنامه دیده بودم این کار رو میکرد! بدبختی اسمش یادم نیست ولی یکی از کاریاش نشون دادن سرعت فن سی پی یو بود با افزایش سرعتش و...


راهش اینه که از طریق ریجستری ویندوز تغییرش بدی
کدوم قسمت این اولین باره دارم اینو میشنوم
بازم ممنون

ma.rad
پنج شنبه 19 بهمن 1391, 00:19 صبح
چه API این کار رو انجام میده؟
using Win32 API

تغییر اطلاعات مثل flash کردن bios (ارتقاء نسخه) فکر نمی کنم به این سادگی ها امکان پذیر باشه باید کار پیچیده ای باشه.

برای تغییر تنظیمات یه نمونه دیدم که برای تغییر زمان بود :

class Class1 { /// <summary> This structure represents a date and time. </summary> public struct SYSTEMTIME { public ushort wYear,wMonth,wDayOfWeek,wDay, wHour,wMinute,wSecond,wMilliseconds; } /// <summary> /// This function retrieves the current system date /// and time expressed in Coordinated Universal Time (UTC). /// </summary> /// <param name="lpSystemTime">[out] Pointer to a SYSTEMTIME structure to /// receive the current system date and time.</param> [DllImport("kernel32.dll")] public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime); /// <summary> /// This function sets the current system date /// and time expressed in Coordinated Universal Time (UTC). /// </summary> /// <param name="lpSystemTime">[in] Pointer to a SYSTEMTIME structure that /// contains the current system date and time.</param> [DllImport("kernel32.dll")] public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime); static void Main() { Console.WriteLine(DateTime.Now.ToString()); SYSTEMTIME st = new SYSTEMTIME(); GetSystemTime(ref st); Console.WriteLine("Adding 1 hour..."); st.wHour = (ushort)(st.wHour + 1 % 24); if (SetSystemTime(ref st) == 0) Console.WriteLine("FAILURE: SetSystemTime failed"); Console.WriteLine(DateTime.Now.ToString()); Console.WriteLine("Setting time back..."); st.wHour = (ushort)(st.wHour - 1 % 24); SetSystemTime(ref st); Console.WriteLine(DateTime.Now.ToString()); Console.WriteLine("Press Enter to exit"); Console.Read(); }



اینم حتما نگاه کنید:
http://pinvoke.net/default.aspx/kernel32/SetSystemTime.html

mthreat.info
پنج شنبه 19 بهمن 1391, 00:40 صبح
برای تغییر تنظیمات یه نمونه دیدم که برای تغییر زمان بود :
برای تغییر بقیه ی جاها مثلا غیر فعال کردن USB ( مثلا ) میشه ازAPI kernel32 هم استفاده کرد؟ یا هر قسمتش یه API مخصوص خودشو داره؟

برای ذخیره کردن اطلاعات و دیدن نتیجه حتما باید سیستمم رو ریستارت کنیم؟ یا نه ؟

برای برگردوندن به حالت پیشفرض میشه از طریق کد نویسی هم اقدام کرد؟
برای تغییر دادن تنظیمات وابسته چی؟ مستقیم میشه؟ یا باید اول بگیریم گزینه ی وابشته (اصلی) رو فعال سازی کنیم (بدون ریستارت)
آیا برای تغییر باید همون متنی که تو bios نشون میده ، برگشت داده بشه؟

(همون طور که گفتم من تو این بحث هیچی نمیدونم میخوام وقتی شروع به کد نویسی کنم که قبلش تحقیق کرده باشم که آخر کار خسته نشم و برنامه رو نیمه کاره ول نکنم )

mthreat.info
شنبه 21 بهمن 1391, 17:34 عصر
سوالات بی جواب موند :ناراحت:

ho3ein.3ven
شنبه 21 بهمن 1391, 17:46 عصر
سلام
مگه بایوس یه حافظه فقط خواندنی نیست ؟چطور می خواین تغییرش بدین ؟

mthreat.info
شنبه 21 بهمن 1391, 20:51 عصر
سلام
مگه بایوس یه حافظه فقط خواندنی نیست ؟چطور می خواین تغییرش بدین ؟
منظورم از تغییر این نبود که بگیرم یه آیتم بهش اضافه کنم منظورم TRUE یا False کردن یا تنظیم پسورد یا ... بود

mthreat.info
جمعه 27 بهمن 1391, 21:32 عصر
:متفکر: من این چند روز خیلی گشتم ولی در این مورد چیزی پیدا نکردم آیا نمیشه !!! یا کار خیلی سخت و ... ؟ :گیج:

ma.rad
جمعه 27 بهمن 1391, 21:53 عصر
برای تغییر بقیه ی جاها مثلا غیر فعال کردن USB ( مثلا ) میشه ازAPI kernel32 هم استفاده کرد؟ یا هر قسمتش یه API مخصوص خودشو داره؟

برای ذخیره کردن اطلاعات و دیدن نتیجه حتما باید سیستمم رو ریستارت کنیم؟ یا نه ؟

برای برگردوندن به حالت پیشفرض میشه از طریق کد نویسی هم اقدام کرد؟
برای تغییر دادن تنظیمات وابسته چی؟ مستقیم میشه؟ یا باید اول بگیریم گزینه ی وابشته (اصلی) رو فعال سازی کنیم (بدون ریستارت)
آیا برای تغییر باید همون متنی که تو bios نشون میده ، برگشت داده بشه؟

(همون طور که گفتم من تو این بحث هیچی نمیدونم میخوام وقتی شروع به کد نویسی کنم که قبلش تحقیق کرده باشم که آخر کار خسته نشم و برنامه رو نیمه کاره ول نکنم )

ببینید وقتی میشه یه پارامتر تغییر داد مسلما می شه تمام تنظیمات بایوس رو تغییر داد و عمده تنظیمات توسط api هایی که گفته شد می تونید تغییر بدید فکر می کنم برای بعضی قسمت ها باید از توابع دیگه api استفاده کرد!بعضی تغییرات نیاز به ریسیت کردن ندارن وبعضی تغییرات بعد از ریسیت قابل اجراست و بیشتر تنظیمات نیاز به ریسیت دارن

ma.rad
جمعه 27 بهمن 1391, 22:13 عصر
تو این سایت نمونه زیاد هست مثلا:
http://www.codeproject.com/Articles/18268/How-To-Almost-Everything-In-WMI-via-C-Part-3-Hardw
یه برنامه دارم که مال مدت ها پیشه ، می گردم پیدا می کنم اینجا می زارم ،فکر کنم مشکل تون رو حل کنه