unity3d 4.6.1 macos 破解流程:
1.网上下载的4.6.0的license文件 Unity_v4.x.ulf
2. cp Unity_v4.x.ulf "/Library/Application Support/Unity/Unity_v4.x.ulf"
A.使用lldb破解命令行
1. cd /Applications/Unity/Unity.app/Contents/MacOS/
2. lldb Unity
3. b main
4. r
5. b DSIGSignature::verify
6. finish
7. register write eax 1
B.修改libxml-security-c.dylib,永久补丁
1.原位置asm代码:
__text:000143E0 55 push ebp
__text:000143E1 89 E5 mov ebp, esp
__text:000143E3 83 EC 28 sub esp, 28h
__text:000143E6 89 5D F4 mov [ebp+var_C], ebx
__text:000143E9 89 75 F8 mov [ebp+var_8], esi
__text:000143EC 89 7D FC mov [ebp+var_4], edi
__text:000143EF E8 00 00 00 00 call $+5
__text:000143F4 5B pop ebx
__text:000143F5 8B 7D 08 mov edi, [ebp+arg_0]
__text:000143F8 80 7F 04 00 cmp byte ptr [edi+4], 0
__text:000143FC 75 52 jnz short loc_14450
__text:000143FE C7 04 24 08 00 00 00 mov dword ptr [esp], 8
__text:00014405 E8 B2 24 07 00 call ___cxa_allocate_exception
__text:0001440A 89 C7 mov edi, eax
__text:0001440C 8D 83 D4 79 06 00 lea eax, (aDsigsignatureV - 143F4h)[ebx] ; "DSIGSignature::verify() called prior to"...
__text:00014412 89 44 24 08 mov [esp+8], eax
改为:
.text:000143E0 B0 01 mov al, 1
.text:000143E2 C3 retn
即 55 89 E5 改为 B0 01 C3
2.保存文件
3.cp libxml-security-c.dylib /Applications/Unity/Unity.app/Contents/Frameworks/libxml-security-c.dylib