- 注册时间
- 2007-3-4
- 最后登录
- 2007-4-27
- 在线时间
- 0 小时
- 积分
- 154
- 阅读权限
- 9
- 主题
- 1
- 精华
- 0
- UID
- 275863
- 帖子
- 386
- PB币
- 2122
- 威望
- 0
- 贡献
- 0
- UID
- 275863
- 帖子
- 386
- PB币
- 2122
- 威望
- 0
- 贡献
- 0
|
看看这个可不可以:
经过修改,发掘出来的另外修改AWARD BIOS的一个方法(事实上,这也是之前方法的改进,更加通用、可靠~):
①①①①
用CBROM2导出ACPITBL.BIN
ACPITBL.BIN:
RSDT+4位置=34 修改为 38
修改OEM_ID、OEM_TABLE_ID,在文件尾添加SLIC表。
再用CBROM2导入ACPITBL.BIN
②②②②(用红色表示的16进制就是要改的地方)
用MODBIN6打开test.bin,再用IDA打开original.bin,再用WinHEX打开original.bin。
一、
按CTRL+F,搜索字符串RSDT,将FACS替换成SLIC。
按CTRL+ALT+H,或者点选菜单“Search(搜索)”--》“Replace Hex Values(替换16进制数据)”,“Search For”输入:
F7C73F0074076683C74083E7C06683C740665666BE00000F00
“Replace With”输入:
F7C73F0074076683C74083E7C06683C74066BB047F0F006667893C2B83F901750866678B1BE8390090
然后,按“OK”,在弹出的窗口中选择“NO”。
++++++++++++++++++++++++++
seg000:CA88 mov ebx, 0F7EE4h //这里为 0F0000 OR or 7EE4h的值
++++++++++++++++++++++++++
二、
按CTRL+ALT+H,或者点选菜单“Search(搜索)”--》“Replace Hex Values(替换16进制数据)”,“Search For”输入:
665D596658C36650668B
“Replace With”输入:
665D596658C3665066B8464143539090
然后,按“OK”,在弹出的窗口中选择“NO”。
三、
按CTRL+ALT+H,或者点选菜单“Search(搜索)”--》“Replace Hex Values(替换16进制数据)”,“Search For”输入:
7218665666BE00000F00
“Replace With”输入:
7218665F66576667893D247F0F00E906006667897B30C3
然后,按“OK”,在弹出的窗口中选择“NO”。
++++++++++++++++++++++++++
seg000:CACD mov ds:0F7F04h, edi //0F7F04h 为 0F0000 OR or 7F04h的值
seg000:CAD8 mov [ebx+34h], edi ; <suspicious>//30改成34
seg000:CADD retn
seg000:CADD
++++++++++++++++++++++++++
然后再打开Hiew,载入original.bin修改:
seg000:CA4C sub_CA4C proc near ; CODE XREF: seg000:C982p
seg000:CA4C push eax
seg000:CA4E push cx
seg000:CA4F push ebp
seg000:CA51 mov cx, bp
seg000:CA53 shl ecx, 10h
seg000:CA57 xor ebp, ebp
seg000:CA5A mov cx, 9 //这里修改
seg000:CA5D mov edi, eax
seg000:CA5D
seg000:CA60 ; <suspicious>
seg000:CA60 loc_CA60: ; <suspicious> ; CODE XREF: sub_CA4C+5Aj
seg000:CA60 mov eax, cs:[bp-36D0h] ; <suspicious>
seg000:CA66 mov ebx, 40000h
seg000:CA6C mov edx, 0A0000h
.........
seg000:CA88 mov ebx, 0F7EE4h //这里为 0F0000 OR or 7EE4h的值
...................................................
seg000:CAAE push eax
seg000:CAB0 mov eax, 53434146h
seg000:CAB6 nop
seg000:CAB7 nop
seg000:CAB8 mov ebx, 40000h
seg000:CABE mov edx, 0A0000h
seg000:CAC4 call sub_CA0D
seg000:CAC4
seg000:CAC7 jb short loc_CAE1
seg000:CAC7
seg000:CAC9 pop edi
seg000:CACB push edi
seg000:CACD mov ds:0F7F04h, edi //0F7F04h 为 0F0000 OR or 7F04h的值
seg000:CAD5 jmp loc_CADE
seg000:CAD8 mov [ebx+34h], edi ; <suspicious>
seg000:CADD retn
seg000:CADD
[ 本帖最后由 nopworld 于 2007-3-24 18:31 编辑 ] |
|