Update crack CleanMyMac X for Mac 4.12.1 (41201.0.2211091011)
This commit is contained in:
parent
00fb216722
commit
3e31713131
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,169 @@
|
|||
## patch activated
|
||||
|
||||
### 1. find -[CMMacPawAccountActivationManager isAppActivated]
|
||||
|
||||
#### x86_64
|
||||
|
||||
```
|
||||
__text:000000010003F067
|
||||
__text:000000010003F067 ; char __cdecl -[CMMacPawAccountActivationManager isAppActivated](CMMacPawAccountActivationManager *self, SEL)
|
||||
__text:000000010003F067 __CMMacPawAccountActivationManager_isAppActivated_ proc near
|
||||
__text:000000010003F067 ; DATA XREF: __objc_const:000000010067C6B0↓o
|
||||
__text:000000010003F067
|
||||
__text:000000010003F067 var_8 = byte ptr -8
|
||||
__text:000000010003F067
|
||||
__text:000000010003F067 55 push rbp
|
||||
__text:000000010003F068 48 89 E5 mov rbp, rsp
|
||||
__text:000000010003F06B 48 83 EC 10 sub rsp, 10h
|
||||
__text:000000010003F06F 48 8D 7D F8 lea rdi, [rbp+var_8]
|
||||
__text:000000010003F073 48 C7 07 9C FF FF FF mov qword ptr [rdi], 0FFFFFFFFFFFFFF9Ch
|
||||
__text:000000010003F07A E8 71 66 38 00 call sub_1003C56F0
|
||||
__text:000000010003F07F 84 C0 test al, al
|
||||
__text:000000010003F081 75 13 jnz short loc_10003F096
|
||||
__text:000000010003F083 BF 01 00 00 00 mov edi, 1
|
||||
__text:000000010003F088 31 F6 xor esi, esi
|
||||
__text:000000010003F08A E8 04 61 FD FF call sub_100015193
|
||||
__text:000000010003F08F 48 83 F8 09 cmp rax, 9
|
||||
__text:000000010003F093 0F 94 C0 setz al
|
||||
__text:000000010003F096
|
||||
__text:000000010003F096 loc_10003F096: ; CODE XREF: -[CMMacPawAccountActivationManager isAppActivated]+1A↑j
|
||||
__text:000000010003F096 0F BE C0 movsx eax, al
|
||||
__text:000000010003F099 48 83 C4 10 add rsp, 10h
|
||||
__text:000000010003F09D 5D pop rbp
|
||||
__text:000000010003F09E C3 retn
|
||||
__text:000000010003F09E __CMMacPawAccountActivationManager_isAppActivated_ endp
|
||||
__text:000000010003F09E
|
||||
```
|
||||
|
||||
```
|
||||
__text:00000001003C56F0 sub_1003C56F0 proc near ; CODE XREF: sub_10002B273+28↑p
|
||||
__text:00000001003C56F0 ; +[CMLinkBuilder standardURLTrackingParametersDictionary]+21F↑p ...
|
||||
__text:00000001003C56F0
|
||||
__text:00000001003C56F0 55 push rbp
|
||||
__text:00000001003C56F1 48 89 E5 mov rbp, rsp
|
||||
__text:00000001003C56F4 48 81 EC A0 06 00 00 sub rsp, 6A0h
|
||||
__text:00000001003C56FB 48 8B 05 16 91 26 00 mov rax, cs:___stack_chk_guard_ptr
|
||||
__text:00000001003C5702 48 8B 00 mov rax, [rax]
|
||||
__text:00000001003C5705 48 89 45 F8 mov [rbp+var_8], rax
|
||||
__text:00000001003C5709 48 89 BD 18 FD FF FF mov [rbp+var_2E8], rdi
|
||||
__text:00000001003C5710 C6 85 17 FD FF FF 00 mov [rbp+var_2E9], 0
|
||||
__text:00000001003C5717 E8 FE E2 15 00 call _objc_autoreleasePoolPush
|
||||
__text:00000001003C571C 48 8B 0D ED 8D 26 00 mov rcx, cs:_NSApp_ptr
|
||||
__text:00000001003C5723 48 C7 85 08 FD FF FF 00 00 00 00 mov [rbp+var_2F8], 0
|
||||
__text:00000001003C572E 48 8B 95 08 FD FF FF mov rdx, [rbp+var_2F8]
|
||||
__text:00000001003C5735 48 89 95 00 FD FF FF mov [rbp+var_300], rdx
|
||||
__text:00000001003C573C 48 8D 95 00 FD FF FF lea rdx, [rbp+var_300]
|
||||
__text:00000001003C5743 48 89 95 60 FD FF FF mov [rbp+var_2A0], rdx
|
||||
__text:00000001003C574A 48 83 39 00 cmp qword ptr [rcx], 0
|
||||
__text:00000001003C574E 48 89 85 E8 FC FF FF mov [rbp+context], rax
|
||||
__text:00000001003C5755 0F 84 39 00 00 00 jz loc_1003C5794
|
||||
__text:00000001003C575B 48 8B 05 1E 07 41 00 mov rax, cs:qword_1007D5E80
|
||||
__text:00000001003C5762 48 8B 0D A7 8D 26 00 mov rcx, cs:_NSApp_ptr
|
||||
__text:00000001003C5769 48 8B 39 mov rdi, [rcx]
|
||||
__text:00000001003C576C 48 8D 35 B5 07 41 00 lea rsi, unk_1007D5F28
|
||||
__text:00000001003C5773 FF D0 call rax ; qword_1007D5E80
|
||||
__text:00000001003C5775 48 89 85 E0 FC FF FF mov [rbp+var_320], rax
|
||||
__text:00000001003C577C E9 00 00 00 00 jmp $+5
|
||||
```
|
||||
|
||||
opcode
|
||||
|
||||
```
|
||||
55 48 89 E5 48 81 EC A0 06 00 00 48 8B 05 16 91
|
||||
26 00 48 8B 00 48 89 45 F8 48 89 BD 18 FD FF FF
|
||||
C6 85 17 FD FF FF 00 E8 FE E2 15 00 48 8B 0D ED
|
||||
8D 26 00 48 C7 85 08 FD FF FF 00 00 00 00 48 8B
|
||||
95 08 FD FF FF 48 89 95 00 FD FF FF 48 8D 95 00
|
||||
FD FF FF 48 89 95 60 FD FF FF 48 83 39 00 48 89
|
||||
85 E8 FC FF FF 0F 84 39 00 00 00 48 8B 05 1E 07
|
||||
```
|
||||
|
||||
patch
|
||||
|
||||
```
|
||||
6A 01 58 C3
|
||||
```
|
||||
|
||||
#### arm64
|
||||
|
||||
```
|
||||
__text:000000010003FC30 ; bool __cdecl -[CMMacPawAccountActivationManager isAppActivated](CMMacPawAccountActivationManager *self, SEL)
|
||||
__text:000000010003FC30 __CMMacPawAccountActivationManager_isAppActivated_
|
||||
__text:000000010003FC30 ; DATA XREF: __objc_methlist:00000001004D3FD4↓o
|
||||
__text:000000010003FC30
|
||||
__text:000000010003FC30 var_8 = -8
|
||||
__text:000000010003FC30 var_s0 = 0
|
||||
__text:000000010003FC30
|
||||
__text:000000010003FC30 FF 83 00 D1 SUB SP, SP, #0x20 ; __int64
|
||||
__text:000000010003FC34 FD 7B 01 A9 STP X29, X30, [SP,#0x10+var_s0] ; __int64
|
||||
__text:000000010003FC38 FD 43 00 91 ADD X29, SP, #0x10
|
||||
__text:000000010003FC3C 68 0C 80 92 MOV X8, #0xFFFFFFFFFFFFFF9C
|
||||
__text:000000010003FC40 E8 07 00 F9 STR X8, [SP,#0x10+var_8] ; __int64
|
||||
__text:000000010003FC44 E0 23 00 91 ADD X0, SP, #0x10+var_8 ; int
|
||||
__text:000000010003FC48 2C CD 0C 94 BL sub_1003730F8
|
||||
__text:000000010003FC4C 60 00 00 36 TBZ W0, #0, loc_10003FC58
|
||||
__text:000000010003FC50 20 00 80 52 MOV W0, #1
|
||||
__text:000000010003FC54 06 00 00 14 B loc_10003FC6C
|
||||
__text:000000010003FC58 ; ---------------------------------------------------------------------------
|
||||
__text:000000010003FC58
|
||||
__text:000000010003FC58 loc_10003FC58 ; CODE XREF: -[CMMacPawAccountActivationManager isAppActivated]+1C↑j
|
||||
__text:000000010003FC58 20 00 80 52 MOV W0, #1
|
||||
__text:000000010003FC5C 01 00 80 D2 MOV X1, #0
|
||||
__text:000000010003FC60 40 64 FF 97 BL sub_100018D60
|
||||
__text:000000010003FC64 1F 24 00 F1 CMP X0, #9
|
||||
__text:000000010003FC68 E0 17 9F 1A CSET W0, EQ
|
||||
__text:000000010003FC6C
|
||||
__text:000000010003FC6C loc_10003FC6C ; CODE XREF: -[CMMacPawAccountActivationManager isAppActivated]+24↑j
|
||||
__text:000000010003FC6C FD 7B 41 A9 LDP X29, X30, [SP,#0x10+var_s0]
|
||||
__text:000000010003FC70 FF 83 00 91 ADD SP, SP, #0x20 ; ' '
|
||||
__text:000000010003FC74 C0 03 5F D6 RET
|
||||
__text:000000010003FC74 ; End of function -[CMMacPawAccountActivationManager isAppActivated]
|
||||
__text:000000010003FC74
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
__text:00000001003730F8 sub_1003730F8 ; CODE XREF: sub_10002BCEC+28↑p
|
||||
__text:00000001003730F8 ; +[CMLinkBuilder standardURLTrackingParametersDictionary]+210↑p ...
|
||||
__text:00000001003730F8
|
||||
__text:00000001003730F8 FC 6F BE A9 STP X28, X27, [SP,#-0x10+var_10]!
|
||||
__text:00000001003730FC FD 7B 01 A9 STP X29, X30, [SP,#0x10+var_s0]
|
||||
__text:0000000100373100 FD 43 00 91 ADD X29, SP, #0x10
|
||||
__text:0000000100373104 FF 83 1B D1 SUB SP, SP, #0x6E0
|
||||
__text:0000000100373108 E8 63 11 91 ADD X8, SP, #0x6F0+var_298
|
||||
__text:000000010037310C C9 14 00 D0 ADRP X9, #_NSApp_ptr@PAGE
|
||||
__text:0000000100373110 29 61 45 F9 LDR X9, [X9,#_NSApp_ptr@PAGEOFF]
|
||||
__text:0000000100373114 AA 0F 00 90 4A 69 1D 91 ADRL X10, aDmEnableDebugL ; "DM_ENABLE_DEBUG_LOGGING_ACTIVATION"
|
||||
__text:000000010037311C 0B 00 80 D2 MOV X11, #0
|
||||
__text:0000000100373120 0C 20 00 F0 8C 21 28 91 ADRL X12, qword_100776A08
|
||||
__text:0000000100373128 4D 1C 00 F0 AD 81 2F 91 ADRL X13, selRef_stringByAppendingPathComponent_
|
||||
__text:0000000100373130 AE 1C 00 B0 CE 41 14 91 ADRL X14, classRef_NSFileManager
|
||||
__text:0000000100373138 4F 1C 00 F0 EF 01 05 91 ADRL X15, selRef_defaultManager
|
||||
__text:0000000100373140 90 1C 00 90 10 42 2E 91 ADRL X16, selRef_alloc
|
||||
__text:0000000100373148 B1 1C 00 D0 31 62 09 91 ADRL X17, classRef_NSError
|
||||
__text:0000000100373150 C1 15 00 D0 21 A0 0E 91 ADRL X1, off_10062D3A8
|
||||
__text:0000000100373158 C2 14 00 D0 ADRP X2, #___stack_chk_guard_ptr@PAGE
|
||||
__text:000000010037315C 42 E8 46 F9 LDR X2, [X2,#___stack_chk_guard_ptr@PAGEOFF]
|
||||
__text:0000000100373160 42 00 40 F9 LDR X2, [X2]
|
||||
__text:0000000100373164 A2 83 1E F8 STUR X2, [X29,#var_18]
|
||||
__text:0000000100373168 E0 FF 01 F9 STR X0, [SP,#0x6F0+var_2F8]
|
||||
__text:000000010037316C 03 00 80 52 MOV W3, #0
|
||||
```
|
||||
|
||||
opcode
|
||||
|
||||
```
|
||||
FC 6F BE A9 FD 7B 01 A9 FD 43 00 91 FF 83 1B D1
|
||||
E8 63 11 91 C9 14 00 D0 29 61 45 F9 AA 0F 00 90
|
||||
4A 69 1D 91 0B 00 80 D2 0C 20 00 F0 8C 21 28 91
|
||||
4D 1C 00 F0 AD 81 2F 91 AE 1C 00 B0 CE 41 14 91
|
||||
4F 1C 00 F0 EF 01 05 91 90 1C 00 90 10 42 2E 91
|
||||
B1 1C 00 D0 31 62 09 91 C1 15 00 D0 21 A0 0E 91
|
||||
```
|
||||
|
||||
patch
|
||||
|
||||
```
|
||||
20 00 80 D2 C0 03 5F D6
|
||||
```
|
||||
|
|
@ -0,0 +1,158 @@
|
|||
|
||||
## 1. patch CMMFoundation isMainAppActivated
|
||||
|
||||
`CleanMyMac X.app/Contents/Library/LoginItems/CleanMyMac X Menu.app/Contents/Frameworks/CMMFoundation.framework/Versions/A/CMMFoundation`
|
||||
|
||||
### x86_64
|
||||
|
||||
```
|
||||
__text:0000000000071B20 ; char __cdecl +[CMSharedProtectedPreferencesBridge isMainAppActivated](id, SEL)
|
||||
__text:0000000000071B20 __CMSharedProtectedPreferencesBridge_isMainAppActivated_ proc near
|
||||
__text:0000000000071B20 ; DATA XREF: __objc_data:00000000001FBF08↓o
|
||||
__text:0000000000071B20 55 push rbp
|
||||
__text:0000000000071B21 48 89 E5 mov rbp, rsp
|
||||
__text:0000000000071B24 E8 17 03 00 00 call sub_71E40
|
||||
__text:0000000000071B29 0F B6 C0 movzx eax, al
|
||||
__text:0000000000071B2C 83 E0 01 and eax, 1
|
||||
__text:0000000000071B2F 5D pop rbp
|
||||
__text:0000000000071B30 C3 retn
|
||||
__text:0000000000071B30 __CMSharedProtectedPreferencesBridge_isMainAppActivated_ endp
|
||||
__text:0000000000071B30
|
||||
```
|
||||
|
||||
```
|
||||
__text:0000000000071E40 sub_71E40 proc near ; CODE XREF: +[CMSharedProtectedPreferencesBridge isMainAppActivated]+4↑p
|
||||
__text:0000000000071E40 ; static SharedProtectedPreferencesBridge.isMainAppActivated.getter+5↑j
|
||||
__text:0000000000071E40
|
||||
__text:0000000000071E40 var_30 = qword ptr -30h
|
||||
__text:0000000000071E40
|
||||
__text:0000000000071E40 55 push rbp
|
||||
__text:0000000000071E41 48 89 E5 mov rbp, rsp
|
||||
__text:0000000000071E44 41 57 push r15
|
||||
__text:0000000000071E46 41 56 push r14
|
||||
__text:0000000000071E48 41 55 push r13
|
||||
__text:0000000000071E4A 41 54 push r12
|
||||
__text:0000000000071E4C 53 push rbx
|
||||
__text:0000000000071E4D 50 push rax
|
||||
__text:0000000000071E4E 31 FF xor edi, edi
|
||||
__text:0000000000071E50 E8 FF 21 10 00 call _$sSS10FoundationE8EncodingVMa ; type metadata accessor for String.Encoding
|
||||
__text:0000000000071E55 48 8B 40 F8 mov rax, [rax-8]
|
||||
__text:0000000000071E59 48 8B 40 40 mov rax, [rax+40h]
|
||||
__text:0000000000071E5D 48 89 E3 mov rbx, rsp
|
||||
__text:0000000000071E60 48 83 C0 0F add rax, 0Fh
|
||||
__text:0000000000071E64 48 83 E0 F0 and rax, 0FFFFFFFFFFFFFFF0h
|
||||
__text:0000000000071E68 48 29 C3 sub rbx, rax
|
||||
__text:0000000000071E6B 48 89 DC mov rsp, rbx
|
||||
__text:0000000000071E6E 48 83 3D 5A E8 18 00 FF cmp cs:qword_2006D0, 0FFFFFFFFFFFFFFFFh
|
||||
__text:0000000000071E76 0F 85 E2 00 00 00 jnz loc_71F5E
|
||||
__text:0000000000071E7C
|
||||
```
|
||||
|
||||
opcode
|
||||
|
||||
```
|
||||
55 48 89 E5 41 57 41 56 41 55 41 54 53 50 31 FF
|
||||
E8 FF 21 10 00 48 8B 40 F8 48 8B 40 40 48 89 E3
|
||||
48 83 C0 0F 48 83 E0 F0 48 29 C3 48 89 DC 48 83
|
||||
3D 5A E8 18 00 FF 0F 85 E2 00 00 00 4C 8B 2D 8D
|
||||
F3 18 00 4C 8B 3D 8E F3 18 00 4C 8B 35 8F F3 18
|
||||
00 4C 89 EF BE 02 00 00 00 E8 E8 2E 10 00 4C 89
|
||||
```
|
||||
|
||||
patch
|
||||
|
||||
```
|
||||
6A 01 58 C3
|
||||
```
|
||||
|
||||
after
|
||||
|
||||
```
|
||||
__text:0000000000071E40 sub_71E40 proc near ; CODE XREF: +[CMSharedProtectedPreferencesBridge isMainAppActivated]+4↑p
|
||||
__text:0000000000071E40 ; static SharedProtectedPreferencesBridge.isMainAppActivated.getter+5↑j
|
||||
__text:0000000000071E40 6A 01 push 1
|
||||
__text:0000000000071E42 58 pop rax
|
||||
__text:0000000000071E43 C3 retn
|
||||
__text:0000000000071E43 sub_71E40 endp
|
||||
__text:0000000000071E43
|
||||
```
|
||||
|
||||
### arm64
|
||||
|
||||
```
|
||||
__text:0000000000071E00 ; bool __cdecl +[CMSharedProtectedPreferencesBridge isMainAppActivated](id, SEL)
|
||||
__text:0000000000071E00 __CMSharedProtectedPreferencesBridge_isMainAppActivated_
|
||||
__text:0000000000071E00 ; DATA XREF: __objc_methlist:0000000000179770↓o
|
||||
__text:0000000000071E00
|
||||
__text:0000000000071E00 var_s0 = 0
|
||||
__text:0000000000071E00
|
||||
__text:0000000000071E00 FD 7B BF A9 STP X29, X30, [SP,#-0x10+var_s0]!
|
||||
__text:0000000000071E04 FD 03 00 91 MOV X29, SP
|
||||
__text:0000000000071E08 B4 00 00 94 BL _$s13CMMFoundation32SharedProtectedPreferencesBridgeC18isMainAppActivatedSbvgZ_0 ; static SharedProtectedPreferencesBridge.isMainAppActivated.getter
|
||||
__text:0000000000071E0C 00 00 00 12 AND W0, W0, #1
|
||||
__text:0000000000071E10 FD 7B C1 A8 LDP X29, X30, [SP+var_s0],#0x10
|
||||
__text:0000000000071E14 C0 03 5F D6 RET
|
||||
__text:0000000000071E14 ; End of function +[CMSharedProtectedPreferencesBridge isMainAppActivated]
|
||||
__text:0000000000071E14
|
||||
```
|
||||
|
||||
```
|
||||
__text:00000000000720D8 ; static CMMFoundation.SharedProtectedPreferencesBridge.isMainAppActivated.getter : Swift.Bool
|
||||
__text:00000000000720D8 _$s13CMMFoundation32SharedProtectedPreferencesBridgeC18isMainAppActivatedSbvgZ_0
|
||||
__text:00000000000720D8 ; CODE XREF: +[CMSharedProtectedPreferencesBridge isMainAppActivated]+8↑p
|
||||
__text:00000000000720D8 ; static SharedProtectedPreferencesBridge.isMainAppActivated.getter↑j
|
||||
__text:00000000000720D8
|
||||
__text:00000000000720D8 var_30 = -0x30
|
||||
__text:00000000000720D8 var_20 = -0x20
|
||||
__text:00000000000720D8 var_10 = -0x10
|
||||
__text:00000000000720D8 var_s0 = 0
|
||||
__text:00000000000720D8
|
||||
__text:00000000000720D8 F8 5F BC A9 STP X24, X23, [SP,#-0x10+var_30]!
|
||||
__text:00000000000720DC F6 57 01 A9 STP X22, X21, [SP,#0x30+var_20]
|
||||
__text:00000000000720E0 F4 4F 02 A9 STP X20, X19, [SP,#0x30+var_10]
|
||||
__text:00000000000720E4 FD 7B 03 A9 STP X29, X30, [SP,#0x30+var_s0]
|
||||
__text:00000000000720E8 FD C3 00 91 ADD X29, SP, #0x30
|
||||
__text:00000000000720EC 00 00 80 D2 MOV X0, #0
|
||||
__text:00000000000720F0 54 ED 03 94 BL _$sSS10FoundationE8EncodingVMa ; type metadata accessor for String.Encoding
|
||||
__text:00000000000720F4 08 80 5F F8 LDUR X8, [X0,#-8]
|
||||
__text:00000000000720F8 08 21 40 F9 LDR X8, [X8,#0x40]
|
||||
__text:00000000000720FC E9 03 00 91 MOV X9, SP
|
||||
__text:0000000000072100 08 3D 00 91 ADD X8, X8, #0xF
|
||||
__text:0000000000072104 08 ED 7C 92 AND X8, X8, #0xFFFFFFFFFFFFFFF0
|
||||
__text:0000000000072108 35 01 08 CB SUB X21, X9, X8
|
||||
__text:000000000007210C BF 02 00 91 MOV SP, X21
|
||||
__text:0000000000072110 28 0C 00 B0 ADRP X8, #qword_1F7A28@PAGE
|
||||
__text:0000000000072114 08 15 45 F9 LDR X8, [X8,#qword_1F7A28@PAGEOFF]
|
||||
__text:0000000000072118 1F 05 00 B1 CMN X8, #1
|
||||
__text:000000000007211C A1 07 00 54 B.NE loc_72210
|
||||
__text:0000000000072120
|
||||
```
|
||||
|
||||
opcode
|
||||
|
||||
```
|
||||
F8 5F BC A9 F6 57 01 A9 F4 4F 02 A9 FD 7B 03 A9
|
||||
FD C3 00 91 00 00 80 D2 54 ED 03 94 08 80 5F F8
|
||||
08 21 40 F9 E9 03 00 91 08 3D 00 91 08 ED 7C 92
|
||||
35 01 08 CB BF 02 00 91 28 0C 00 B0 08 15 45 F9
|
||||
1F 05 00 B1 A1 07 00 54 28 0C 00 D0 08 81 15 91
|
||||
```
|
||||
|
||||
patch
|
||||
|
||||
```
|
||||
20 00 80 D2 C0 03 5F D6
|
||||
```
|
||||
|
||||
after
|
||||
|
||||
```
|
||||
__text:00000000000720D8 ; static CMMFoundation.SharedProtectedPreferencesBridge.isMainAppActivated.getter : Swift.Bool
|
||||
__text:00000000000720D8 _$s13CMMFoundation32SharedProtectedPreferencesBridgeC18isMainAppActivatedSbvgZ_0
|
||||
__text:00000000000720D8 ; CODE XREF: +[CMSharedProtectedPreferencesBridge isMainAppActivated]+8↑p
|
||||
__text:00000000000720D8 ; static SharedProtectedPreferencesBridge.isMainAppActivated.getter↑j
|
||||
__text:00000000000720D8 20 00 80 D2 MOV X0, #1
|
||||
__text:00000000000720DC C0 03 5F D6 RET
|
||||
__text:00000000000720DC ; End of function static SharedProtectedPreferencesBridge.isMainAppActivated.getter
|
||||
__text:00000000000720DC
|
||||
```
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>com.macpaw.CleanMyMac4.HealthMonitor</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>com.macpaw.CleanMyMac4.Menu</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>com.macpaw.CleanMyMac4</string>
|
||||
<key>com.apple.developer.aps-environment</key>
|
||||
<string>production</string>
|
||||
<key>com.apple.developer.associated-domains</key>
|
||||
<array>
|
||||
<string>webcredentials:my.macpaw.com</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,24 @@
|
|||
# CleanMyMac X for Mac Crack
|
||||
|
||||
Crack for CleanMyMac X for Mac 4.12.1 (41201.0.2211091011)
|
||||
|
||||
- [x] Support Intel
|
||||
- [x] Support Apple Silicon (M1 & M2)
|
||||
|
||||
# Install
|
||||
|
||||
Go to releases page download and install.
|
||||
|
||||
# FAQ
|
||||
|
||||
## Is this crack safe?
|
||||
|
||||
It's opensource, you can use any hex file comparison tool you like to see what has been modified.
|
||||
|
||||
## I want to crack it myself.
|
||||
|
||||
Check the crack folder to see how I cracked it.
|
||||
|
||||
## Where to get update?
|
||||
|
||||
[https://git.icrack.day/somebasj/CleanMyMacXCrack](https://git.icrack.day/somebasj/CleanMyMacXCrack)
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
CUR_PATH=$(
|
||||
cd $(dirname "$0");
|
||||
pwd
|
||||
)
|
||||
ROOT_PATH=$(
|
||||
cd "${CUR_PATH}/../";
|
||||
pwd
|
||||
)
|
||||
|
||||
function export_entitlements() {
|
||||
codesign -d --entitlements - --xml "$1" 2>/dev/null | plutil -convert xml1 -o - - > "$2"
|
||||
/usr/libexec/PlistBuddy -c "Delete :com.apple.security.application-groups" "$2" 2>/dev/null
|
||||
/usr/libexec/PlistBuddy -c "Delete :com.apple.developer.team-identifier" "$2" 2>/dev/null
|
||||
/usr/libexec/PlistBuddy -c "Delete :keychain-access-groups" "$2" 2>/dev/null
|
||||
sed -i "" "s/S8EX82NJP6\.//g" "$2"
|
||||
}
|
||||
|
||||
mkdir -p "${ROOT_PATH}/entitlements"
|
||||
|
||||
export_entitlements "/Volumes/CleanMyMac X/CleanMyMac X.app" "${ROOT_PATH}/entitlements/CleanMyMac X.entitlements"
|
||||
export_entitlements "/Volumes/CleanMyMac X/CleanMyMac X.app/Contents/Library/LoginItems/CleanMyMac X HealthMonitor.app" "${ROOT_PATH}/entitlements/CleanMyMac X HealthMonitor.app.entitlements"
|
||||
export_entitlements "/Volumes/CleanMyMac X/CleanMyMac X.app/Contents/Library/LoginItems/CleanMyMac X Menu.app" "${ROOT_PATH}/entitlements/CleanMyMac X Menu.app.entitlements"
|
|
@ -0,0 +1,147 @@
|
|||
#!/bin/bash
|
||||
|
||||
CUR_PATH=$(
|
||||
cd $(dirname "$0");
|
||||
pwd
|
||||
)
|
||||
ROOT_PATH=$(
|
||||
cd "${CUR_PATH}/../";
|
||||
pwd
|
||||
)
|
||||
TEMP_PATH="${ROOT_PATH}/tmp"
|
||||
PUBLISH_PATH="${ROOT_PATH}/publish"
|
||||
|
||||
APP_VERSION="41201.0.2211091011"
|
||||
#APP_VERSION="4.12.1"
|
||||
|
||||
DMG_SHA256SUM="3867b877b3bda4e9c41ceca69b81abc3f992cb5cded7c07312f638b33ee70842"
|
||||
|
||||
DMG_DOWNLOAD_URL="https://dl.devmate.com/com.macpaw.CleanMyMac4/CleanMyMacX.dmg"
|
||||
|
||||
DMG_FILE="${TEMP_PATH}/download/CleanMyMacX_${APP_VERSION}.dmg"
|
||||
|
||||
PUBLISH_FILE="${PUBLISH_PATH}/CleanMyMacX_${APP_VERSION}_Crack.dmg"
|
||||
|
||||
CODESIGN_CERT=-
|
||||
|
||||
if [ -n "$(security find-identity -v -p codesigning | grep 73B34EBEE504D5CEE35B113A22CEBFD381A21033)" ]; then
|
||||
CODESIGN_CERT=73B34EBEE504D5CEE35B113A22CEBFD381A21033
|
||||
fi
|
||||
|
||||
TMP_DIR="${TEMP_PATH}/dmg_files"
|
||||
|
||||
function sign_cmd() {
|
||||
NAME=$(basename $1)
|
||||
if [ -f "${ROOT_PATH}/entitlements/${NAME}.entitlements" ]; then
|
||||
codesign -f -s "${CODESIGN_CERT}" --timestamp=none --all-architectures --deep \
|
||||
--entitlements "${ROOT_PATH}/entitlements/${NAME}.entitlements" \
|
||||
"$1"
|
||||
else
|
||||
codesign -f -s "${CODESIGN_CERT}" --timestamp=none --all-architectures --deep "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
function ensure_download_dmg() {
|
||||
if [ ! -f "${DMG_FILE}" ]; then
|
||||
echo "[*] Download ${DMG_DOWNLOAD_URL}"
|
||||
mkdir -p $(dirname "${DMG_FILE}")
|
||||
curl -L --progress-bar -o "${DMG_FILE}" "${DMG_DOWNLOAD_URL}"
|
||||
fi
|
||||
if [ -f "${DMG_FILE}" ]; then
|
||||
echo "[*] Check hash for \"${DMG_FILE}\""
|
||||
FILE_HASH=$(shasum -a 256 -b "${DMG_FILE}" | awk '{print $1}')
|
||||
if [ ${FILE_HASH} != ${DMG_SHA256SUM} ]; then
|
||||
echo "[-] ${FILE_HASH} != ${DMG_SHA256SUM}"
|
||||
echo "[*] Delete \"${DMG_FILE}\""
|
||||
rm -f "${DMG_FILE}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function copy_files() {
|
||||
echo "[*] Copy files"
|
||||
if [ -d "${TMP_DIR}" ]; then
|
||||
rm -rf "${TMP_DIR}" > /dev/null
|
||||
fi
|
||||
mkdir -p "${TMP_DIR}" > /dev/null
|
||||
|
||||
hdiutil attach -noverify -noautofsck -noautoopen "${DMG_FILE}"
|
||||
cp -R -X "/Volumes/CleanMyMac X/CleanMyMac X.app" "${TMP_DIR}/" > /dev/null
|
||||
hdiutil detach "/Volumes/CleanMyMac X"
|
||||
|
||||
rm -f "${TMP_DIR}/CleanMyMac X.app/Contents/embedded.provisionprofile" > /dev/null
|
||||
chflags -R 0 "${TMP_DIR}" > /dev/null
|
||||
xattr -cr "${TMP_DIR}" > /dev/null
|
||||
}
|
||||
|
||||
function apply_crack() {
|
||||
echo "[*] Apply patch"
|
||||
|
||||
SRC="${ROOT_PATH}/crack/CleanMyMac X"
|
||||
DST="${TMP_DIR}/CleanMyMac X.app/Contents/MacOS/CleanMyMac X"
|
||||
|
||||
cp -f "${SRC}" "${DST}" > /dev/null
|
||||
chflags -R 0 "${DST}"
|
||||
chmod 755 "${DST}"
|
||||
|
||||
SRC="${ROOT_PATH}/crack/CMMFoundation"
|
||||
DST="${TMP_DIR}/CleanMyMac X.app/Contents/Library/LoginItems/CleanMyMac X Menu.app/Contents/Frameworks/CMMFoundation.framework/Versions/A/CMMFoundation"
|
||||
|
||||
cp -f "${SRC}" "${DST}" > /dev/null
|
||||
chflags -R 0 "${DST}"
|
||||
chmod 755 "${DST}"
|
||||
}
|
||||
|
||||
function sign_other() {
|
||||
oldIFS=$IFS
|
||||
IFS=$'\n'
|
||||
for name in $(ls "${TMP_DIR}/CleanMyMac X.app/Contents/Library/LoginItems/")
|
||||
do
|
||||
if [ -f "${TMP_DIR}/CleanMyMac X.app/Contents/Library/LoginItems/${name}/Contents/embedded.provisionprofile" ]; then
|
||||
rm -f "${TMP_DIR}/CleanMyMac X.app/Contents/Library/LoginItems/${name}/Contents/embedded.provisionprofile" > /dev/null
|
||||
fi
|
||||
sign_cmd "${TMP_DIR}/CleanMyMac X.app/Contents/Library/LoginItems/${name}"
|
||||
done
|
||||
IFS=oldIFS
|
||||
}
|
||||
|
||||
function sign_app() {
|
||||
echo "[*] Sign App"
|
||||
sign_other
|
||||
if [ -f "${TMP_DIR}/CleanMyMac X.app/Contents/embedded.provisionprofile" ]; then
|
||||
rm -f "${TMP_DIR}/CleanMyMac X.app/Contents/embedded.provisionprofile" > /dev/null
|
||||
fi
|
||||
sign_cmd "${TMP_DIR}/CleanMyMac X.app"
|
||||
}
|
||||
|
||||
function create_dmg() {
|
||||
echo "[*] Create dmg ${PUBLISH_FILE}"
|
||||
mkdir -p "${PUBLISH_PATH}"
|
||||
|
||||
if [ -f "${PUBLISH_FILE}" ]; then
|
||||
rm -f "${PUBLISH_FILE}" > /dev/null
|
||||
fi
|
||||
|
||||
create-dmg \
|
||||
--volname "CleanMyMac X" \
|
||||
--background "${ROOT_PATH}/assets/CMMX.png" \
|
||||
--window-pos 0 0 \
|
||||
--window-size 679 412 \
|
||||
--text-size 14 \
|
||||
--icon-size 128 \
|
||||
--icon "CleanMyMac X.app" 158 130 \
|
||||
--app-drop-link 526 130\
|
||||
--codesign "${CODESIGN_CERT}" \
|
||||
"${PUBLISH_FILE}" \
|
||||
"${TMP_DIR}/"
|
||||
}
|
||||
|
||||
function publish_crack_dmg() {
|
||||
#ensure_download_dmg
|
||||
#copy_files
|
||||
#apply_crack
|
||||
sign_app
|
||||
create_dmg
|
||||
}
|
||||
|
||||
publish_crack_dmg
|
Loading…
Reference in New Issue