新手爆破MacsFanControl Pro授权

查看 157|回复 10
作者:QiuChenly   
新手暴力PatchMacs Fan Control Pro授权
准备工具
[ol]
  • IDA Pro 7.0, Hopper Disassembler 5.3.4 from 52论坛资源分享区
  • 认真阅读每一行。
    [/ol]
    先上截图


    16671045315927.jpg (81.64 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    爆破步骤
    1.寻找关键点
    打开.app文件找到MacOS文件夹中的“Macs Fan Control”文件复制到Downloads备用。
    打开IDA 64和Hopper Disassembler,并同时载入这个二进制文件:


    16671047946240.jpg (89.48 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    由于我是Intel机器,所以选“X86”,点击Next-OK。
    IDA 64中也打开此文件:


    16671048492524.jpg (145.46 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    由于我是Intel芯片,选X86点击OK即可。
    等待两分钟,这些反汇编软件会分析完二进制机器码。
    2.寻找破解关键点
    一般查找特征关键就是看他是怎么判定是否Pro版本,然后爆破掉关键check函数即可。
    这个App的特征就是“关于”中的显示:


    16671051775498.jpg (81.75 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    由于这里不小心删掉了原始文件,所以用Patch过的看。
    未破解版本的关于窗口可以看到有一个“免费版本”(对应Pro 版本,xxx 电脑授权 这行字)
    由于macOS都有全球化语言,这种字显然不会是写死App中,我们找一下.app文件中“/Applications/Macs Fan Control.app/Contents/Resources/languages/Chinese_Simplified.xml”的汉化文件,看下中文对应什么key:


    16671063596748.jpg (81.78 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    既然找到了对应的Key,就可以在二进制里搜索了。我们去HD里面搜这个key:


    16671064488940.jpg (780.23 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    在右边按下X找到引用位置:


    16671065393594.jpg (89.63 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    Go过去看下:


    16671065611149.jpg (153.22 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    位于1000a355e子程序中。
    看不懂反汇编没关系,我也看不懂,毕竟新手。


    16671066208226.jpg (9.43 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    点击这个按钮,看伪代码:


    16671066500924.jpg (853.98 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    很清晰了,我们再往下翻一番:


    16671066944668.jpg (201.6 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    很轻松找到关键点。
    可以看到在上面是默认你是Free版本,然后调用了一个sub_10069210的返回值如果不等于0x0即为Pro版本,所以我们只需要修改八个字节改成这样:


    16671067753000.jpg (18.33 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    不就能是Pro版本了吗?试试看!
    返回IDA,跳转到100069210地址:


    16671068586275.jpg (1.2 MB, 下载次数: 0)
    下载附件
    2022-10-30 13:46 上传

    把100069210段开始位置的Hex改掉成为:6A 01 58 C3
    这是我改过的文件,但是地址是一样的


    16671069347690.jpg (53.38 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:47 上传

    修改后右击选择“Apply changes”即可保存到内存。
    然后要导出修改过的文件:


    16671069986603.jpg (271.12 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:47 上传



    16671070056982.jpg (98.54 KB, 下载次数: 0)
    下载附件
    2022-10-30 13:47 上传

    点击OK即可爆破完成。
    3.总结:
    if (sub_100069210(**QCoreApplication::self) != 0x0) {
                rax = QString::fromAscii_helper("AboutDialog/staticProVersion", 0x1c);
    sub_100069210函数返回1即可绕过破解 因为非0为真
    return 1的X86_64机器码为6A 01 58 C3
    最后
    修改过的文件要替换签名App才能正常打开
    codesign -f -s - --timestamp=none /Applications/Macs\ Fan\ Control.app/Contents/MacOS/Macs\ Fan\ Control
    楼主新手第一次没经验,改完怎么都打不开,网上也没有帖子说这个事。幸好之前破解过Parallels Desktop 18.0.3,记得要签名二进制文件.果然签完名就可以打开了.
    修改过的App文件仅供技术研究:
    https://github.com/QiuChenly/MacsFanControlCrack
    有关PD18.0.3的文件:
    https://github.com/QiuChenly/Parallels
    官方文件下载:
    https://crystalidea.com/macs-fan-control

    下载次数, 下载附件

  • touchmii   

    感谢分享,使用Hopper Disassembler导出文件可以自动除去签名,只要去掉签名就行,无需重新签名。
    pentest686   

    大佬,步骤好细啊,我逆向小白都看懂了
    allspark   

    mark一下,不错,谢谢分享
    zlm110   

    谢谢大佬分享
    amwquhwqas128   

    非常感谢分享
    dustyangel   

    大佬写的很详细,非常感谢
    merdy   

    mark一下,不错,谢谢分享,学习到了,最近也是再看这类文章自己动手试试
    vans4u1   

    思路清晰,图文并茂。跟着步骤来就能成功。
    qe107079   

    好好好好好好好好好好好
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部