Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 02-26-2005, 06:00
petar
 
Posts: n/a
Loading BIOS from dos debug - possible ?

I have downloaded a new bios for some motherboard (particularry, MSI, Neo4, nf4).

I would like to load that bios in debug and execute it, just to see how it works. I wouldn't like to flash it in, just to do a test run.

Is there any other way to run some bios on my pc ?

Thanks
P.
Reply With Quote
  #2  
Old 02-26-2005, 06:33
dyn!o's Avatar
dyn!o dyn!o is offline
Friend
 
Join Date: Nov 2003
Location: Own mind
Posts: 214
Rept. Given: 1
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 8
Thanks Rcvd at 0 Times in 0 Posts
dyn!o Reputation: 1
I suppose you mean a so called embedded software.

Some of their IDSes (integrated development systems) indeed contain debugging possibilities like code / registers / tracing / watching / breakpoints. I remember few years ago, at some funny laboratories, I had the opportunity to deal with BIOS debugging (till that moment I thought BIOS debuggers don't exist ). We faced two approaches. One was MS Windows IDE (!) based debugger connected to the second machine via COM port. The second debugger was embeeded into... the BIOS itself. There was some shell command to call the debugger (in any moment) and, if I remember correctly, a hotkey.

It was AMI or AWARD bios (it didn't have any specific name). I bet you will find some information in Google.

Good luck.
Reply With Quote
  #3  
Old 02-26-2005, 18:35
Kerlingen
 
Posts: n/a
This will not really work. Even if a real mode booted DOS had the requirements to execute the BIOS and if you would know the entry point of the BIOS, your problem is still that the BIOS expects to be located at F000:0000 in memory and therefore contains many hardcoded references to the F000:xxxx memory region. However, this memory address space is used already by your old BIOS and the F000:xxxx memory cannot be written. Even if it could be written, you would still run into trouble, since the hardcoded memory references in your new BIOS wouldn't match the ones in your old BIOS. Even if they would match, your would be executing parts of your old BIOS, which would be a bad idea for testing.

<Edit>
You might cosider getting a "Gigabyte" motherboard the next time. They have a Dual-BIOS feature which means you have two BIOSes and you can select from which BIOS to boot. I even "modded" my BIOS in the knowledge that I could restore the old BIOS in case my code wouldn't run. But it worked fine.

Last edited by Kerlingen; 02-27-2005 at 18:25.
Reply With Quote
  #4  
Old 02-26-2005, 19:22
petar
 
Posts: n/a
Thank you for the reply, it is helpfull ! I had no idea about the hardcoded references, I just thought that finding the entry point would be enough, but you are right !

There is a tool biosview (google, overnet) that does some simulation, however it is not compatible with latest award modular bios.

Thank both !
Reply With Quote
  #5  
Old 03-05-2005, 19:29
amigo amigo is offline
Friend
 
Join Date: Dec 2002
Posts: 30
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 1 Time in 1 Post
amigo Reputation: 0
Award debugging

Hi
Some years ago I debugged Award 4.51 PG BIOS (I wanted to find and change the 'universal password' of this BIOS )
After dumping the code I've replaced all E000: and F000: references to not write-protected free segment (p.e. 2000: and 3000: ). Award used original form of jumps - they didn't use "jmp far F000:FF95" but "push FF95, push F000, ret", and changing the segment was easy.
Then I manually replaced loaded code (in softice 2.8) to appropriate segment, set EP to 3000:FFF0 and the session started...
It was possible to trace through most of POST procs, only a few of them hanged the system.

Of course, this way of debugging is not exactly related to how BIOS runs during real boot.
Regards
amigo
Reply With Quote
  #6  
Old 03-06-2005, 02:40
sKip
 
Posts: n/a
Hi,

You want to reverse your own BIOS?

here is an fantastic article about "Award BIOS Reverse Engineering"


hxxp://www.codebreakers-journal.com/viewarticle.php?id=38&layout=abstract


I think this will help you to understand bios code, so it will help you to reverse your own BIOS


Greetings
Reply With Quote
  #7  
Old 03-07-2005, 14:05
firstrose
 
Posts: n/a
There was a book on BIOS coding,written by a Taiwan people.
You can look for it.
Reply With Quote
  #8  
Old 03-13-2005, 05:25
dMITR0
 
Posts: n/a
Probably you could use some of the x86 emulators such as:
. Emu8086 http://www.emu8086.com
. SSD (Survile Software Decoder)
The last one is very old but nice "...tool to assist in the reverse-engineering of IBM PC software..."
Reply With Quote
  #9  
Old 03-13-2005, 21:29
visu
 
Posts: n/a
Quote:
Originally Posted by petar
I would like to load that bios in debug and execute it, just to see how it works. I wouldn't like to flash it in, just to do a test run.

Is there any other way to run some bios on my pc ?
I don't think so. This kind of things normally requires ICE (In circuit emulator).

However, there are tools from BIOS manuafacturer (like AMI BIOS debugger) which allows debugging from serial or parallel port. But setup will never the less simpler than flashing and test.

also search google for PhDebug.

Visu
Reply With Quote
  #10  
Old 03-14-2005, 00:26
qingshanke
 
Posts: n/a
You can find some stuff on this site:
hxxp://www.biosdiy.net
But it is a Chinese site.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
DLLs loading sequence te$ter General Discussion 6 10-30-2013 18:52
Why the site is loading so slowly? giv General Discussion 10 05-17-2011 07:18
Ollydbg loading problem hobferret General Discussion 5 07-07-2008 20:40


All times are GMT +8. The time now is 01:05.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( 1998 - 2024 )