I will only highlights the differences here, I'm not going to repeat what I've explained above. Logically, it shouldn't happen, but this is a peculiarity that needs more investigation. Some instructions possibly executed in 32 bit mode, such as the memory detection routine. I know this, since I've replaced the legacy code that happens to be still included in that bios's original. The disassembly of the patched code as follows:
|Date Added:||23 March 2013|
|File Size:||53.48 Mb|
|Operating Systems:||Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X|
|Price:||Free* [*Free Regsitration Required]|
In my case, if I use different name than original.
A quick read over this binary confirm my suspicion. In my experience, the end of this 64 Kbytes contains lots of padding FFh bytes and 00h bytes around 4 Kbytes, i. Your bios requirement may vary. This is just for fun: This issue can be fixed by opening and modifying our modded bios in modbin, rditor after that saving our changes into the corresponding bios file.
This is the safest method that I can suggest. We got the following results: The modification that we are going nios do in this part is similar to what described above, in Hacking Steps in Detail. This string ends up with a terminating zero 00hso I'm pretty sure of what I'm doing.
Due to this reason we could possibly mod any Award BIOS by using bioe method I explained here, it's your job to confirm this: Building and Injecting Code into original. That's it, we've done with this third step. It's very easy, just paste our binary into that area using a hex editor.
It depends a lot in your skill and experience in using assembly language and disassembler, however I'm going to share some tricks that I gained during my journey through patching my bios.
Below is the screenshot of award bios editor that I'm using:. Bils Latest Modification and Possible Downside of Previous Methods My recent experiment with various "code insertion point" in the original.
But we have to ensure that the amount of bytes we are replacing is the same with the assembled version, if not, then all the branching instruction will be screwed up: Firstevery branching instruction is a near branching instruction which uses relative address.
We will need these software tools:.
Award BIOS Editor Free Download
I found that the "EPA procedure" is the most suitable for the time being. Well, now we have done what we want to original.
After reading the last method described above, we might be tempted to replace the "custom EPA procedure" with call to our own "injected" procedure somewhere in the first 64 KByte E h segment and left the "legacy EPA Procedure" to handle the "EPA display procedure". We are going to search for 3 bytes instruction in the first 64 KByte area to be replaced by a near call instruction into our injected code The injected code will be placed at EFF0h address.
I will only highlights the differences here, I'm not going to repeat what I've explained above. Here's a snapshot from Hexworkshop that I'm using: I just do some clicking on the related menus to do this. Some ascii string are simply "discarded" by "unconditionally jumping" through it. It's located between 1F0C h and h in my bios's first 64 KByte code E h segmentit may be a bit different in your bios.
Here's the listing of my code: After applying those steps, we are done and ready to flash the modified bios. I found it at address 1E56 h in my mainboard's latest bios. This step is very easy if you have the right tool. Then we proceed to search for the code to replace. The listing of my code as follows: