清除我的马克 叉 4.11.5 简单优化

查看 151|回复 10
作者:QiuChenly   
清除我的马克 叉 4.11.5 简单优化
首先声明
首先我是良民,国内代·里·商别在这理发店。
文章来自国外大佬QiuChenly的分享,我反正不认识这个人。
文章仅供技术研究交流,不得用于非法牟利并谢绝任何形式的传播。可能造成的一切法律责任由使用者、传播者承担,文章仅用于技术研究交流,其他一切责任作者概不负责。
没有图是否不够精彩,所以我选择先来个大的。


973E6C508E6C7B6C69F5ADC9ADD551FD.jpg (902.04 KB, 下载次数: 0)
下载附件
2022-10-30 20:56 上传

有一说一不吹不黑纯路人
[ol]
  • 准备IDA Pro 7
  • Hopper Disassmbler Demo 版本即可。
    HD用来可视化伪代码,IDA的伪代码有误导。如果IDA中的伪代码令人困惑,可以使用HD查看后在IDA中修改。
  • 这可能是一片废话不多但是细节也不多的分析,被起诉太可怕了。
  • 仅用于技术研究交流不得进行牟利或任何形式的传播!!!!
    [/ol]
    破解主程序
    找到.app/MacOS中CleanMyMac-X二进制文件载入IDA,搜索isAppActivated,找到此函数。
    __text:0000000100033339 __CMMacPawAccountActivationManager_isAppActivated_ proc near
    __text:0000000100033339                                         ; DATA XREF: __objc_const:0000000100627320↓o
    __text:0000000100033339
    __text:0000000100033339 var_8           = byte ptr -8
    __text:0000000100033339
    __text:0000000100033339                 push    rbp
    __text:000000010003333A                 mov     rbp, rsp
    __text:000000010003333D                 sub     rsp, 10h
    __text:0000000100033341                 lea     rdi, [rbp+var_8]
    __text:0000000100033345                 mov     qword ptr [rdi], 0FFFFFFFFFFFFFF9Ch
    __text:000000010003334C                 call    sub_100373380
    __text:0000000100033351                 test    al, al
    __text:0000000100033353                 jnz     short loc_100033368
    __text:0000000100033355                 mov     edi, 1
    __text:000000010003335A                 xor     esi, esi
    __text:000000010003335C                 call    sub_100013463
    __text:0000000100033361                 cmp     rax, 9
    __text:0000000100033365                 setz    al
    sub_100373380函数只要返回true就会认为激活撑过,所以可以patch掉此函数
    __text:0000000100373380 sub_100373380   proc near               ; CODE XREF: sub_10001FDCA+28↑p
    __text:0000000100373380                                         ; +[CMLinkBuilder standardURLTrackingParametersDictionary]+21F↑p ...
    __text:0000000100373380                 push    1
    __text:0000000100373382                 pop     rax
    __text:0000000100373383                 retn
    __text:0000000100373383 sub_100373380   endp
    patch后需要重新签名二进制文件
    codesign -f -s - --timestamp=none /Applications/CleanMyMac\ X.app/Contents/MacOS/CleanMyMac-X
    状态栏组件
    打开CleanMyMac-X Menu.app中的MacOS文件夹,IDA载入CleanMyMac-X Menu。
    搜索isMainAppActivated找到函数 发现是调用了CMMFoundation.framework,遂打开。
    CleanMyMac\ X.app/Contents/Library/LoginItems/CleanMyMac-X\ Menu.app/Contents/Frameworks/CMMFoundation.framework
    查找isMainAppActivated,发现函数
    __text:0000000000073620 ; char __cdecl +[CMSharedProtectedPreferencesBridge isMainAppActivated](CMSharedProtectedPreferencesBridge_meta *self, SEL)
    __text:0000000000073620 __CMSharedProtectedPreferencesBridge_isMainAppActivated_ proc near
    __text:0000000000073620                                         ; DATA XREF: __objc_data:00000000001FB790↓o
    __text:0000000000073620                 push    rbp
    __text:0000000000073621                 mov     rbp, rsp
    __text:0000000000073624                 call    sub_73940
    __text:0000000000073629                 movzx   eax, al
    __text:000000000007362C                 and     eax, 1
    __text:000000000007362F                 pop     rbp
    __text:0000000000073630                 retn
    __text:0000000000073630 __CMSharedProtectedPreferencesBridge_isMainAppActivated_ endp
    sub_73940被多处引用,返回值设置为true即可破解。
    __text:0000000000073940 sub_73940       proc near               ; CODE XREF: +[CMSharedProtectedPreferencesBridge isMainAppActivated]+4↑p
    __text:0000000000073940                                         ; _$s13CMMFoundation32SharedProtectedPreferencesBridgeC18isMainAppActivatedSbvgZ+5↑j
    __text:0000000000073940                 push    1
    __text:0000000000073942                 pop     rax
    __text:0000000000073943                 retn
    __text:0000000000073943 sub_73940       endp
    修改.framework文件时要注意重新签名App文件
    codesign -f -s - --timestamp=none --entitlements /Users/qiuchenly/Downloads/未命名文件夹/CMMFoundation.xml /Applications/CleanMyMac\ X.app/Contents/Library/LoginItems/CleanMyMac-X\ Menu.app
    其中CMMFoundation.xml内容是一些策略:
      
        com.apple.security.cs.allow-jit
          [tr]
        com.apple.security.cs.allow-unsigned-executable-memory
          [tr]
        com.apple.security.cs.allow-dyld-environment-variables
          [tr]
        com.apple.security.cs.disable-library-validation
          [tr]
        com.apple.security.get-task-allow
          [tr]
      
    签名后修改的App文件即可使用。
    Github
    https://github.com/QiuChenly/MacsFanControlCrack/commit/fffa14ad0b3c81ef8f9513d9c2ba9588604b0190

    函数, 马克

  • frankzq   

    谢谢楼主热心分享知识点
    deadlybugs   

    修改之后有两个问题,向楼主请教一下。
    1,运行清理功能时,无限要求输密码。
    2,主程序的‘系统垃圾’ ‘邮件附件’ ‘废纸篓’的磁盘授权访问权限无法打开。
    alongzhenggang   

    哦,烂屁眼的解渴码钉是吧
    Domado   

    看到就想起了四节马丁版权流氓
    海天绯红   

    哈哈,正好需要这些东西,谢谢了!!!
    cz3183316   

    看的不是很明白,但是还是觉得很厉害-.-
    benq7378   

    没看懂是干啥的,不明觉厉
    超逸绝尘   

    谢谢楼主热心分享知识点
    haikouchenjiang   

    看起来不错。过来学习一下。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部