军团首页 | 四川电信(主站) | 吉林网通(镜像) | 注册瓜友 | 登录网站| 瓜友留言
网吧学院 | 软件仓库 | 招聘求职 | 网吧供求 | 行业动态 | 政策法规 | 网吧经营 | 网吧心情 | 硬件资讯 | 瓜友留言
文章导航:网吧技术 | 无盘系统 | 母盘制作 | 网络相关 | 网页制作 | 硬件维修 | 服务器技术 | 游戏服务器 | 添加我的文章
  您现在的位置: 黄瓜军团网吧联盟 >> 文章中心 >> 网吧技术 >> 还原相关 >> 文章正文 人气:
学习[三茗中国芯]程序
评论】  HTTP://WWW.HGJT.NET  更新:2005-9-7 14:47:14  作者:ypcok  来源:本站原创       ★★★★★

1.关机.插上一块三茗中国芯卡.开机启动电脑,选择不安装,在dos或win98的dos框下键入debug然后回车.
-d cc00:0或d d000:0,从cc00段开始找三茗中国芯的程序,有显示55AA40.........SAMING PCI信息的就是.以本机为例,在cc00段,然后
-r cx       ;设定文件大小
-cx:8000    ;32k
-n sm.bin   ;起文件名sm.bin
-w cc00:0   ;从cc00段开始写.
-q          ;退出debug,返回dos.至此,已经得到了三茗中国芯的rom程序.


2.修改PCI标志.输入DEBUG SM.BIN回车.
-D 120
-XXXX:120:50 43 49 52 00 00 60 60,其中:0000是卡的厂商标志,我们把它改为8139网卡的厂商标志10EC; 6060是卡的设备标志,把它改为8139网卡的设备标志8139
-E 124
-00 输入 EC后按空格键, -00 输入 10后按空格键;-60 输入 39后按空格键,-60输入 81后按空格键,然后按回车.
-W  ;写入文件.
-Q  ;退出debug,返回dos.至此,三茗中国芯的rom程序,可以在8139网卡上工作了.用编程器写入27256.插在网卡上,关机.取出三茗中国芯卡,插上网卡.开机,提示ROM ERRON,
说明ROM工作了,但是校验和错误.


3.用刘涛涛的TR跟踪一下三茗中国芯的rom程序,把它的压缩包解开。看看它是怎么回事.

seg000:C264 _CheckSUM       proc far                ; CODE XREF: seg000:C215p
seg000:C264                 xor     ecx, ecx
seg000:C267                 mov     cx, 0C4C3h
seg000:C26A                 xor     si, si
seg000:C26C                 xor     ax, ax
seg000:C26E                 xor     bx, bx
seg000:C270
seg000:C270 loc_C270:                               ; CODE XREF: _CheckSUM+3Cj
seg000:C270                 mov     bl, cs:[si]
seg000:C273                 mov     bl, cs:[si]
seg000:C276                 mov     bl, cs:[si]
seg000:C279                 mov     bl, cs:[si]
seg000:C27C                 mov     bl, cs:[si]
seg000:C27F                 cmp     bl, cs:[si]
seg000:C282                 jz      short loc_C29D
seg000:C284                 mov     ax, 3
seg000:C287                 int     10h             ; - VIDEO - SET VIDEO MODE
seg000:C287                                         ; AL = mode
seg000:C289                 push    1
seg000:C28B                 push    101h
seg000:C28E                 push    2
seg000:C290                 push    11h
seg000:C292                 push    offset aRomChecksumErr ; "ROM CHECKSUM ERR!"
seg000:C295                 call    sub_8E15
seg000:C298                 add     sp, 0Ah
seg000:C29B                 pop     ax
seg000:C29C                 retf
seg000:C29D ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
seg000:C29D
seg000:C29D loc_C29D:                               ; CODE XREF: _CheckSUM+1Ej
seg000:C29D                 add     ax, bx
seg000:C29F                 inc     si
seg000:C2A0                 loop    loc_C270
seg000:C2A2                 cmp     ax, cs:word_C4C3 ; 计算和
seg000:C2A7                 jz      short locret_C2C2
seg000:C2A9                 mov     ax, 3
seg000:C2AC                 int     10h             ; - VIDEO - SET VIDEO MODE
seg000:C2AC                                         ; AL = mode
seg000:C2AE                 push    1
seg000:C2B0                 push    101h
seg000:C2B3                 push    2
seg000:C2B5                 push    0Dh
seg000:C2B7                 push    offset aRomReadErr ; "ROM READ ERR!"
seg000:C2BA                 call    sub_8E15
seg000:C2BD                 add     sp, 0Ah
seg000:C2C0                 jmp     short $+2
seg000:C2C2
seg000:C2C2 locret_C2C2:                            ; CODE XREF: _CheckSUM+43j
seg000:C2C2                 retn
seg000:C2C2 _CheckSUM       endp

提示在这里,给它打个补丁,存盘.用编程器写入27256,关机,取出网卡,将新写的27256插在网卡上.插上网卡.开机程序出来了,和三茗中国芯卡的一样.选只保护C盘检测一下,DOS/WIN98启动了,
添加个文件夹,重新启动电脑.啊哈!!显示"警告! PCI卡被拔掉,重启按HOME键卸载",卡没拔呀,程序还有问题.
  再看刚才解开的程序,哦,这里是这样判的,
                            mov     cs:byte_C1E9, al
seg000:BEDC                 call    CheckPCI        ; 检测pci存在否?
seg000:BEDF                 jnb     short loc_BEE7  ; 不存在 c1f8=0
seg000:BEE1                 mov     es:byte_C1F8, 1 ; 存在.设c1f8位 1
seg000:BEE7


看一下CheckPCI :

 CheckPCI        proc near               ; CODE XREF: seg000:BEDCp
seg000:C1FD                 push    ax
seg000:C1FE                 push    cx
seg000:C1FF                 push    dx
seg000:C200                 push    si
seg000:C201                 mov     ax, 0B102h
seg000:C204                 mov     cx, 6060h       ; 设备
seg000:C207                 mov     dx, 0           ; 厂商
seg000:C20A                 xor     si, si
seg000:C20C                 int     1Ah             ; 检测存在否
seg000:C20E                 pop     si
seg000:C20F                 pop     dx
seg000:C210                 pop     cx
seg000:C211                 pop     ax
seg000:C212                 retn
seg000:C212 CheckPCI        endp
seg000:C212


接着打补丁.用编程器写入27256,关机,取出网卡,将新写的27256插在网卡上.插上网卡.开机程序出来了,和三茗中国芯卡的一样.选只保护C盘检测一下,DOS/WIN98启动了,
添加个文件夹,重新启动电脑,不显示"PCI卡被拔掉...按HOME键移除"了,一切正常,保护功能正常.找台XP试试,启动XP后先安装驱动,再重新启动,再设定保护.添加个文件夹,重新启动电脑,OK,保护功能正常.


4.如果想在其他型号网卡上使用,只需修改,对应的厂商、设备代码即可。


录入:黄瓜军团★ypcok  责编:铁血丹心  字体:   加至黄瓜收藏夹  发表评论  关闭窗口
军团最新文章
本文相关文章
没有相关文章
  • 上一篇文章:

  • 下一篇文章:
  • 瓜友评论:(评论内容只代表瓜友个人观点,与本站立场无关!) 发表评论   
    热点导读
    推荐阅读
    关于黄瓜军团 - 联系方式 - 管理制度 - 免责声明 - 软件发布 - 网站帮助 - 网站地图
    黄瓜军团网吧联盟 版权所有 ©2004-2007