- 积分
- 10673
- 最后登录
- 2024-4-16
- 精华
- 0
- 阅读权限
- 220
- 主题
- 596
- UID
- 4568967
- 帖子
- 14232
- PB币
- 2272
- 威望
- 830
- 贡献
- 0
- 技术
- 94
- 活跃
- 3073
- UID
- 4568967
- 帖子
- 14232
- PB币
- 2272
- 贡献
- 0
- 技术
- 94
- 活跃
- 3073
|
35F
发表于 2016-10-23 08:06:02
IP属地浙江
|只看该作者
其实 楼主的 APIC 补丁 已经在10.12下完全不需要打了。
楼主提供的补丁是 搜寻 C1E8100FB6F0 改 BE1700000090 --> (shrl + movzbl --> movl + nop)
但其实这个值在10.11.4已经不存在了,并且Apple已经修复了 APIC 引起的问题。
那么其实也就是说这个 APIC 补丁 在10.12下已经不在需要了。(其实是从10.11.4开始)
因为 APIC 已经是调用 EAX 暂存器,而不是 ESI 暂存器啰。
但如果还是有问题的话,就可能需要新的补丁了吧。
我找到的如下:
搜寻 C1E8100FB6C0 改 B81700000090 。(适用 10.11.4+ & 10.12.x)
程式码如下:(- 为原始程式码,+ 为修改后的)
- 0000000000000ee0 55 pushq %rbp
- @@ -275,8 +275,8 @@
- 000000000000127a 41 89 8c 24 e0 00 00 00 movl %ecx, 0xe0(%r12)
- 0000000000001282 c7 00 01 00 00 00 movl $0x1, (%rax)
- 0000000000001288 8b 40 10 movl 0x10(%rax), %eax
- -000000000000128b c1 e8 10 shrl $0x10, %eax
- -000000000000128e 0f b6 c0 movzbl %al, %eax
- +000000000000128b b8 17 00 00 00 movl $0x17, %eax
- +0000000000001290 90 nop
- 0000000000001291 41 89 84 24 d8 00 00 00 movl %eax, 0xd8(%r12)
- 0000000000001299 b9 ff 00 00 00 movl $0xff, %ecx
- 000000000000129e 39 c8 cmpl %ecx, %eax
复制代码
原始动作:
shrl 应该是切换data的动作。(0x770020 -> 0x77)
movzbl 是在 al 暂存器中加载 0x77 吧。
修改后:
movl 将 0x17 移动到 EAX 暂存器。
nop 补足字节长度。
|
-
1
查看全部评分
-
|