楼主: pansf

华硕非原生的SLIC进来研究

[复制链接]
一般不出手 发表于 2007-4-9 15:16 | 显示全部楼层
快御云安全
原帖由 iceninja 于 2007-4-9 14:41 发表
耗子的方法应该不行吧,他新的修改方法跟添加fc其实没有什么本质上的区别,没有第2段,第3段 slic表根本不能被读出来.

好像还不行,但演绎很清楚,一看就知道……。难得!
HugeBD
Because SLIC processing code replace OEMB table, OEMB will be bypass.
:0004.E4B6 66BE103D0000           mov esi, 00003D10 ;old FACS, SLIc insert to 3D10. new FACS is 3E88(3D10+C4+B4 or(176+2))
:0004.E4BC E88700                 call E546  ;add SLIC link to RSDT,XSDT ; new RSDT length=28+4=2C
:0004.E4BF 66BEF0030000           mov esi, 000003F0 ;DSDT
:0004.E4C5 E85F00                 call E527  ;calc checksum
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0004.E4B4(C)

既然都到这步了为什么不像厂家添加SLIC的方法添加呢?

[ 本帖最后由 一般不出手 于 2007-4-9 17:13 编辑 ]
回复

使用道具 举报

HugeBD 发表于 2007-4-9 16:22 | 显示全部楼层
AMIBIOS修改最困难的是找到ACPI处理程序,一旦了解了表的处理方法,再做修改就简单了。就是2个步骤

1。找到添加附加代码的切入点
2。找到空间添加SLIC表和额外的修改程序。

估计不久就会有各种修改的方案出现。
回复

使用道具 举报

HugeBD 发表于 2007-4-9 16:48 | 显示全部楼层
下面的是华硕A8Je v209 处理SLIC和ACPI的方法 http://dlsvr01.asus.com/pub/ASUS/nb/A8Jp/A8Jpe209AS.zip

:0002.DAFC 5F                     pop di
:0002.DAFD 41                     inc cx
:0002.DAFE 53                     push bx
:0002.DAFF 55                     push bp
:0002.DB00 53                     push bx
:0002.DB01 5F                     pop di
:0002.DB02 4E                     dec si
:0002.DB03 6F                     outsw
:0002.DB04 7465                   je DB6B
:0002.DB06 626F6F                 bound bp, [bx+6F]
:0002.DB09 6B066068A1             imul ax, [6860], FFA1
:0002.DB0E 54                     push sp
:0002.DB0F 07                     pop es
:0002.DB10 E80900                 call DB1C ; fill OEM ID and OEM table ID to RSDT, XSDT, SLIC
:0002.DB13 E86D00                 call DB83 ;fill SLIC part1 to buffer
:0002.DB16 E87800                 call DB91 ;fill SLIC part2 to buffer
:0002.DB19 61                     popa
:0002.DB1A 07                     pop es
:0002.DB1B CB                     retf

* Referenced by a CALL at Address:
|:0002.DB10
|
:0002.DB1C 6633FF                 xor edi, edi
:0002.DB1F 6633F6                 xor esi, esi
:0002.DB22 B90600                 mov cx, 0006 ;OEMID length=6
:0002.DB25 BF3004                 mov di, 0430 ;SLIC buffer start at 430
:0002.DB28 83C70A                 add di, 000A ;point to OEMID '_ASUS_' offset 0A
:0002.DB2B BE9DD7                 mov si, D79D ; ; offset @ 1B module = D79D-D855+1DBB4= 1DAFC
:0002.DB2E F3                     repz
:0002.DB2F 672EA4                 movsb  ;fill in OEMID to SLIC
:0002.DB32 B90800                 mov cx, 0008 ;OEM table ID length=8
:0002.DB35 BF3004                 mov di, 0430
:0002.DB38 83C710                 add di, 0010 ;OEM table ID at offset 10
:0002.DB3B BEA3D7                 mov si, D7A3 ;; offset @ 1B module = D7A3-D855+1DBB4= 1DAB02  'Notebook'
:0002.DB3E F3                     repz
:0002.DB3F 672EA4                 movsb
:0002.DB42 B90600                 mov cx, 0006 ;
:0002.DB45 BF0000                 mov di, 0000 ;fill OEMID in RSDT
:0002.DB48 83C70A                 add di, 000A
:0002.DB4B BE9DD7                 mov si, D79D
:0002.DB4E F3                     repz
:0002.DB4F 672EA4                 movsb
:0002.DB52 B90800                 mov cx, 0008
:0002.DB55 BF0000                 mov di, 0000 ;fill OEM table ID in RSDT
:0002.DB58 83C710                 add di, 0010
:0002.DB5B BEA3D7                 mov si, D7A3
:0002.DB5E F3                     repz
:0002.DB5F 672EA4                 movsb
:0002.DB62 B90600                 mov cx, 0006
:0002.DB65 BF0001                 mov di, 0100 ;fill OEMID in XSDT
:0002.DB68 83C70A                 add di, 000A
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0002.DB04(C)
|
:0002.DB6B BE9DD7                 mov si, D79D
:0002.DB6E F3                     repz
:0002.DB6F 672EA4                 movsb
:0002.DB72 B90800                 mov cx, 0008
:0002.DB75 BF0001                 mov di, 0100 ;fill OEM table ID in XSDT
:0002.DB78 83C710                 add di, 0010
:0002.DB7B BEA3D7                 mov si, D7A3
:0002.DB7E F3                     repz
:0002.DB7F 672EA4                 movsb
:0002.DB82 C3                     ret

* Referenced by a CALL at Address:
|:0002.DB13
|
;fill in SLIC table part1 to buffer
:0002.DB83 B99C00                 mov cx, 009C ;SLIC part1 length
:0002.DB86 BF5404                 mov di, 0454 ;start addr: SLIC start at 430 + SLIC head length 24
:0002.DB89 BE55D8                 mov si, D855 ;; offset 1DBB4 @ 1B module
:0002.DB8C F3                     repz
:0002.DB8D 672EA4                 movsb
:0002.DB90 C3                     ret


;part1 of SLIC length= 9C
0001dbb0h: __ __ __ __ 00 00 00 00 9C 00 00 00 06 02 00 00 ;      ....?......
0001dbc0h: 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 ; .$..RSA1........
0001dbd0h: 6F 92 9D DC B3 79 EE 27 26 08 F8 DC 5B D8 5F 4B ; o挐艹y?&.?[豞K
0001dbe0h: 21 34 AB 60 EC 90 C7 C2 D5 60 D5 F5 D9 82 F9 2E ; !4玚鞇锹誤挣賯?
0001dbf0h: BE E8 43 38 D5 C2 5B 9E 25 B8 93 CD 15 B8 1B C3 ; 捐C8章[?笓???
0001dc00h: 30 7D AD 55 69 79 BD 1A 7E 44 C8 BC 59 5A 17 BE ; 0}璘iy?~D燃YZ.?
0001dc10h: 81 AD EF EE 96 21 37 CC 8A 42 62 C6 14 05 09 21 ; 伃镱?7虋Bb?..!
0001dc20h: 69 7A E1 8C 4A CE D6 C8 18 78 78 86 2B 30 63 A6 ; iz釋J沃?xx?0c?
0001dc30h: E5 64 B7 D2 14 5E 2B 44 BE 33 12 6B 6B A3 BD 9E ; 錮芬.^+D?.kk=?
0001dc40h: 85 BB BE 6C E1 B1 33 C2 DA 91 80 F3 44 B4 CA 9F ; 吇緇岜3纶憖驞词?
;part2 of SLIC, length=B6
0001dc50h: 01 00 00 00 B6 00 00 00 00 00 02 00 5F 41 53 55 ; ....?......_ASU
0001dc60h: 53 5F 4E 6F 74 65 62 6F 6F 6B 57 49 4E 44 4F 57 ; S_NotebookWINDOW
0001dc70h: 53 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; S ..............
0001dc80h: 00 00 00 00 00 00 24 B0 89 CF B1 F3 1D B8 7A 80 ; ......$皦媳?竮
回复

使用道具 举报

一般不出手 发表于 2007-4-9 17:12 | 显示全部楼层
对!这样就可从根本上解决问题!
回复

使用道具 举报

haomabu 发表于 2007-4-9 17:19 | 显示全部楼层
虽然我不会,帮不上忙,但我全力支持你们,有搞成功的我送诺顿网络安全特警2007一年期正版密钥一枚(保用一年),再次感谢你们的努力!!!
回复

使用道具 举报

YuJJzhong 发表于 2007-4-9 19:06 | 显示全部楼层
原帖由 abcrci 于 2007-4-9 14:29 发表
http://www.biosrepair.com/bios/amivistaslic.htm
耗子的方法更新了





不行的,已测试失败!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

头像被屏蔽
beyondyoyo 发表于 2007-4-9 21:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

fqlq 发表于 2007-4-9 21:56 | 显示全部楼层
原帖由 YuJJzhong 于 2007-4-9 19:06 发表





不行的,已测试失败!!!!!!!!!!!!!!!!!!!!!!!!!!



真令人遗憾!也向耗子及钻研非原生ami并公布办法的英雄们致敬!!!!
回复

使用道具 举报

iceninja 发表于 2007-4-9 23:19 | 显示全部楼层
原帖由 beyondyoyo 于 2007-4-9 21:28 发表
P4P800SE成功了么?/unsure.gif

当然成功了...
回复

使用道具 举报

头像被屏蔽
tidagong 发表于 2007-4-9 23:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

nopworld 发表于 2007-4-10 01:21 | 显示全部楼层
自己没有AMI的板,凑个热闹/sleep.gif ~~

拿P4P800SE-ASUS-1012.rom来说吧,有点想法(以下内容是自己刚研究不久后的心得,可能有错,希望能够指正):
仅需要搜索FACS就可以到达ACPITBL表的处理程序了
1、可以将RSDT与XSDT合并,如RSDT+80里面放RSDT表+XSDT表,可惜要修改的地方多了点。

2、
1B模块解压后的1B.ROM中,3B550H之后有很多的0000,有没有试过将第二段的代码(其实是个CALL)甚至SLIC表放到该处?

如果不成功的话,可能0000是不可用~~/sweatingbullets.gif
补充一点东西,希望能有点用:
获得在3B550后面的0000区SLIC的位置:
假设SLIC放在3B603H
3B5A0  call 3b5a6
3b5a3    jmp 3b5ab
3b5a6    pop eax                  //主要是为了返回EAX=EIP,即CS:[EIP]=(jmp 3b5ab)代码的虚拟地址<不是3b5a6>
            push eax
             retn                    //该虚拟地址用来+60H计算出SLIC表的虚拟地址
                                                                   -=》
3b5ab           add eax,60       // 3B603H-3B5A3H=60H(计算出一个偏移而已)
                    push esi           //保存ESI,因为ESI的高位有数据
                    mov cx,176         //SLIC表的长度
                    mov esi,eax
                    mov di,xxxx
                    rep movs byte ptr es:[edi], byte ptr cs:[esi]//二进制为 F3 67 2E A4
                    pop esi
xxxxxxxxxxxxxxxxxxxxxxxxxx其他代码~~~


/sweatingbullets.gif在虚拟机Virtual PC试过虚拟机的AMI BIOS,改了0000区死在了启动处,看来其0000区不可用。

[ 本帖最后由 nopworld 于 2007-4-10 04:52 编辑 ]
回复

使用道具 举报

头像被屏蔽
beyondyoyo 发表于 2007-4-10 07:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

nopworld 发表于 2007-4-10 19:26 | 显示全部楼层
气沉丹田,用力顶你~~~/w00t.gif /w00t.gif
回复

使用道具 举报

ciac 发表于 2007-4-10 19:34 | 显示全部楼层
原帖由 beyondyoyo 于 2007-4-10 07:50 发表
我的P4P800SE已经激活成功了^_^,在BIOS里有SLIC^_^


恭喜恭喜
回复

使用道具 举报

一般不出手 发表于 2007-4-11 03:08 | 显示全部楼层
原帖由 nopworld 于 2007-4-10 01:21 发表
自己没有AMI的板,凑个热闹/sleep.gif ~~

拿P4P800SE-ASUS-1012.rom来说吧,有点想法(以下内容是自己刚研究不久后的心得,可能有错,希望能够指正):
(仅需要搜索FACS就可以到达ACPITBL表的处理程序了) ...


你这个想法很有意思,请继续往下。
回复

使用道具 举报

longshiwo 发表于 2007-4-20 01:06 | 显示全部楼层
终于找到了,学习了,支持楼主
回复

使用道具 举报

ccgxp 发表于 2007-4-20 07:17 | 显示全部楼层
支持楼主~我也是用P5WD2-P的!希望你能成功!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2025 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2025-3-15 02:38

快速回复 返回顶部 返回列表