• C

Search string in a BIOS area


I need to search for a particular string in BIOS area. I tried Win32_BIOS as well as MSSMBios_RawSMBiosTables tables with no luck as the string is written at some totally different location.

If I use debug command, I am able to search for a string and I get the exact address. How to achieve this? How to simulate debug command in C??
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


When executing a "normal" program (for example, a program writen in C), operating system assigns some pieces of the computer RAM to this program, and doesn't allow to access other areas.

This happens in all modern operating systems. However, if you execute your C program over MSDOS, you should access to first 640KB of your computer memory, and surely you should find the bios area.

Hope it helps.
milindsmAuthor Commented:
Can you provide some sample snippet?
milindsmAuthor Commented:
I am trying to read string data in the BIOS area. I tried using WMI but it gives specific information like version, manufacturer etc. I tried getting raw BIOS data but again it gives SMBIOS info :(

ok, tell me, how can I search whether a particular string present anywhere in the BIOS area???? I am not able to use GetSystemFirmwareTable.
Powerful Yet Easy-to-Use Network Monitoring

Identify excessive bandwidth utilization or unexpected application traffic with SolarWinds Bandwidth Analyzer Pack.

Using MSDOS Operating System (so, startup with this old operating system), you can use your program to search on every byte of the memory. Jut assign a long number directlyto a pointer variable and look for first character of your string, when you found it, try next byte and see if it has the second character of your string, and so on.
milindsmAuthor Commented:
I have found the solution on my own. I used EnumSystemFirmwareTable & GetSystemFirmwareTable APIs to achieve it. Thank you anyway guys.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Great to know you have found the solution.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.