CleanMyMacXCrack/crack/CleanMyMacXMenu.md

9.5 KiB

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