微信扫一扫 分享朋友圈

已有 5358 人浏览分享

开启左侧

修正ATI_FrameBuffers_Edition提取AMD显卡的帧缓冲区,AMD9500Controller等

[复制链接]
5358 15
修正ATI_FrameBuffers_Edition提取的帧缓冲区

我也是闲时弄一下,大家觉得有用就去折腾,觉得没用就忽略吧!

第一步:前期准备工作:
*  参考过:AMD自定义显卡接口-教程整理,深入探索AMD显卡Framebuffer结构
*  由于ATI_FrameBuffers_Edition.php很久没有更新,执行中有很多错误,且提取的帧缓冲也有些不对,需修正。
*  从论坛中得知显卡的类型数据如下表:



*  从网上找到AMD9500Controller.kext提供Orinoco真实的原始数据如下:
Orinoco (6个接口)  DPDPHDMIHDMIDDVIDP
00040000 04030000 00010101 00000000 12040601 00000000
00040000 04030000 00010201 00000000 22050403 00000000
00080000 04020000 00010300 00000000 11020102 00000000
00080000 04020000 00010400 00000000 21030504 00000000
04000000 04000000 00010500 00000000 00000306 00000000
00040000 00010000 00014601 00000000 20010000 00000000


第二步:用ATI_FrameBuffers_Edition提取AMD9500Controller.kext帧缓冲区
* 打开终端,输入php,空一格,后面拖入ATI_FrameBuffers_Edition.php,回车执行。
注:MacOS 12后不提供php命令了,需要安装。上网搜安装方法。
AMD_FrameBuffers of 11.1 php脚本修复版


提取的帧缓冲有些不对,见下图。只需要注意红线部分。由于我的显卡是RX570,由AMD9500Controller.kext提供数据,所以往下拉到--------AMD9500Controller.kext--------




* 用记事本,把所有AMD9500Controller.kext缓冲数据,类似红线地方都拷贝记录下来。


第三步:对提取的帧缓冲区进行修正  
* 从/System/Library/Extensions中把AMD9500Controller.kext拷贝到桌面,方便使用。
* 用二进制编辑工具比如Hex Fied打开AMD9500Controller.kext内的二进制文件( Contents-- MacOS-- AMD9500Controller)
F搜索com.apple.kext.AMD9500Controller,会搜到好几个,

上文中我已经用文本保存了AMD9500Controller所有帧缓冲区,知道第一个是Orinoco (6) @ 0x735fb
6个接口,偏移地址为0735fb,但这个偏移地址有点误差,我们可以验证一下误差多少。
点击Hex Fied菜单Edit---Jump to Offset,输入偏移地址0x735fb,回车。

见图偏移地址0x735fb所指向是红箭头指的光标处。在前期准备工作中,我们知道Orinoco真实的原始数据有6个接口第一个接口是DP,代码是00040000,上图中AMD9500Controller从Orinoco开始第一个00040000,蓝线中,于是我们从箭头光标处往上数,共每两个数为一个地址,直到数完蓝线,共误差了54个数即27个地址。

*  打开Hackintool工具,用里面的计算器计算如下图:16进制空白框输入735fb,得到10进制472571
472571-27=472544,再将472544换算为16进制为:

这样我们得到AMD9500Controller中Orinoco真实的偏移地址为:0x735E0



* 点击Hex Fied菜单Edit---Jump to Offset,输入Orinoco真实的偏移地址:0x735E0,如图下图,往下数六个接口(黄色部分),然后拷贝到记事本。


*  修正前后对比如下
修正前:
Orinoco (6) @ 0x735fb
000000000004000004030000000101010000000012040601
000000000004000004030000000102010000000022050403
000000000008000004020000000103000000000011020102
000000000008000004020000000104000000000021030504
000000000400000004000000000105000000000000000306
000000000004000000010000000146010000000020010000
修正后:
Orinoco (6) @ 0x735E0
00040000 04030000 00010101 00000000 12040601 00000000
00040000 04030000 00010201 00000000 22050403 00000000
00080000 04020000 00010300 00000000 11020102 00000000
00080000 04020000 00010400 00000000 21030504 00000000
04000000 04000000 00010500 00000000 00000306 00000000

00040000 00010000 00014601 00000000 20010000 00000000



* 同理 比如Guariba (6个接口) 错误的偏移地址为0x73e7b。经过计算后得出真是的偏移地址0x73E60
修正前:
Guariba (6) @ 0x73e7b
000403000000010201000000002205040300000000000400
000403000000010301000000001102010200000000000800
000402000000010400000000002103050400000000040000
000402000000010500000000000000030600000000000400
000001000000010601000000002001020500000000000400
000403000000010101000000001204060100000000000400


修正后:
Guariba (6) @ 0x73E60  DP,DP,DP,HDMI,DDVI,DP
00040000 04030000 00010101 00000000 12040601 00000000
00040000 04030000 00010201 00000000 22050403 00000000
00040000 04030000 00010301 00000000 11020102 00000000
00080000 04020000 00010400 00000000 21030504 00000000
04000000 04020000 00010500 00000000 00000306 00000000

00040000 00010000 00010601 00000000 20010205 00000000

评论 15

64653008  新手上路  发表于 2023-1-31 12:49 | 显示全部楼层
貌似现在这个技术不怎么用了。

举报 使用道具

回复 支持 反对
89751609  新手上路  发表于 2023-1-31 12:49 | 显示全部楼层
期待楼主大作!

举报 使用道具

回复 支持 反对
jhgs001  新手上路  发表于 2023-1-31 12:49 | 显示全部楼层
支持楼主,

举报 使用道具

回复 支持 反对
gsldepan  新手上路  发表于 2023-1-31 12:50 | 显示全部楼层
嗯!有很多代码都不怎么更新了。用WEG更省事。但难免个别显卡有个别端口黑屏,这时候提取相近接口的帧缓冲还是有点用。

举报 使用道具

回复 支持 反对
xubo  新手上路  发表于 2023-1-31 12:51 | 显示全部楼层
期待楼主大作!

举报 使用道具

回复 支持 反对
ParryLBJ  新手上路  发表于 2023-1-31 12:51 | 显示全部楼层
原来HD6750的显卡就是用这重方法来修正接口的。

举报 使用道具

回复 支持 反对
boom340  新手上路  发表于 2023-1-31 12:52 | 显示全部楼层
找出来并修复好偏移量和接口数值之后呢?怎样进一步起作用?需要怎么把这个偏移量修正过来让接口生效?

举报 使用道具

回复 支持 反对
wsmzyza  新手上路  发表于 2023-1-31 12:53 | 显示全部楼层
我现在就是出现在端口定制上,13.2系统没办法找,PHP.

举报 使用道具

回复 支持 反对
兵虫  高级会员  发表于 2023-1-31 14:27 | 显示全部楼层
抢个楼板不容易

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

21

粉丝

18

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信公众平台

  • 扫描访问手机版

Archiver|手机版|小黑屋|水窝ibm

GMT+8, 2024-11-24 09:22 , Processed in 0.135668 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2022 Comsenz Inc.