小弟不才 穷的没钱 所以研究了下破解mac下软件的方法 特此奉上破解过程(真的是一个小时前刚接触)
在此还要感谢下 @xiaobai 的Mac软件破解初探帖子 对我这刚接入的一个思路
还要感谢下 @风吹屁屁凉 提供的Hopper.Disassembler软件 @Hmily 提供的高速稳定下载盘(爱盘)
另外要感谢上帝 我的机子没有废掉。。。
‘--------------- 好了 不XX扯淡了 进入正题
第一步 下载Hopper软件和Kaomoji Lover软件 ’免费的软件 只是部分的表情是收费的 18元 如果大家不缺钱 支持正版哟 聊天必备哇 卖个萌 (ノ ゚Д゚)ノ ┻━━┻ 卖你妹的萌
Hopper :http://down.52pojie.cn/Tools/Disassemblers/
Kaomoji Lover: https://itunes.apple.com/cn/app/aio-yan-wen-zi/id914708191?mt=12 (App Store)
提醒一句 别手欠更新
第二步 Finder进入文件目录
/Applications/Kaomoji Lover.app/Contents/MacOS
玩Mac OsX的应该知道怎么进入把 我就不截图了
第三步 打开我们的Hopper软件 拖入MacOS下的文件
介个就是我们伟大的破解界面 初入的感觉 (ノ ゚Д゚)ノ ==== ┻━━┻ 什么鬼
好吧。。 好运总会眷顾傻瓜的 你要深刻记住这句话。。。
首先看了小白大大的以后 我深刻意识到我要搜索一个字符串。。。(ノ ゚Д゚)ノ ==== ┻━━┻ 不搜索字符串难道你要用OD里的方法破解么
咳咳 经过反复钻研 凭借我那200M的词典 再加上他界面解锁的文字 我下意识感觉可能有Full这个单子 也可能有is这个单词 于是我搜了isFull
看吧 好运就是眷顾傻瓜了。。我真的是一次就找到的。。。 (ノ ゚Д゚)ノ ==== ┻━━┻ 明明是两次 在撒谎我就翻桌子了(已经翻了)
isFullUnlocked 字面意思就是 是否全部已解锁 我们双击
我们看到这个地方 额。。。。 反正我靠感觉琢磨了几十分钟 我就跳过了 我不说我怎么琢磨的了 (ノ ゚Д゚)ノ ==== ┻━━┻ 难道你还要扯几个小时
我们看到选中以后 右下角 Is Referenced By 里面有一个地址 我们继续双击 他这个可能是调用地址之类的东东 起初是这么想的
然后我们又来到了一个不知什么鬼的地方 ,但是发现 Is Referenced By 里出现好多地址
目测就是调用这个变量?的地址 我们双击进去一个
然后又调回了反编译窗口? 原谅我什么都不懂 我真的都不懂 (ノ ゚Д゚)ノ ==== ┻━ ━┻ 不懂来这里装毛 气得我桌子都翻烂了
咳咳 进入正题 目测是作为一个参数给 call r15的 也许r15就是这个关键CALL 所以我们要找一下r15的值 然后一直上翻
看到 r15的值是一个 msgSend的地址 可能是API 也就是SendMessage 之类的 看来可能不是关键CALL 总之我们继续 大牛随便吐槽 反正我是菜鸟 啥也不懂的那种
我们看到有一个jnz跳转 而上面是一个test命令 也就是说它的跳转条件就取决于r14b的值,上面有一个 Mov r14b,al 也就是msgSend的返回值 我们可以尝试把mov r14b,al改成mov r14b,0x1 就相当于win下 mov eax,0x1一样
选中那行 点这个按钮
输入 mov r14b,0x1 然后修改
然后我们来尝试一下保存 然后替换掉原文件测试一下结果
由于是App Store下载的 有权限保护 需要输入账号密码才能替换
发现前面的锁没有了 就是默认不显示了但是点击还是有锁 但是这个结果很好 因为我们找对地方了 他确实是判断是否解锁的地方 我们点一下颜表情 还是会跳到支付界面
我们继续尝试修改其他的地址 这里我就不一个一个说明哪个地方是干啥的 和截图了 我直接提供全部的把 具体我会告诉你其实只要改复制的地方就可以了 但是全部改了的话 无论是界面还是提示 都会是正版的
// 2
00000001000043a4 mov r14b, 0x1 // 3 0000000100004dfe lea rdx, qword [ds:cfstring_isFullUnlocked] ; @"isFullUnlocked" 0000000100004e05 mov rdi, rbx ; argument "instance" for method _objc_msgSend 0000000100004e08 call r12 ; _objc_msgSend 0000000100004e0b mov rsi, qword [ds:0x1001112e0] ; @selector(setHidden:), argument "selector" for method _objc_msgSend
0000000100004e12 movsx edx, al 我们发现第三处是 movsx edx,al 怎么改呢 我们修改call r12 因为这个call本身就是提供了返回值 所以没有具体意义了 但是CALL只占了3个字节 所以就要借用再上面的一个代码的字节 剩下00的时候记得补nop代码 xor eax, eax 0000000100004e07 inc eax 0000000100004e09 nop 0000000100004e0a nop 0000000100004e0b mov rsi, qword [ds:0x1001112e0] ; @selector(setHidden:), argument "selector" for method _objc_msgSend
0000000100004e12 movsx edx, al //4 0000000100004efc xor eax, eax 0000000100004efe inc eax 0000000100004f00 nop 0000000100004f01 nop
0000000100004f02 mov rsi, qword [ds:0x1001112e0] //5 000000010000798d mov r15b, 0x1
//6 这个就是双击复制的地方 只改这个地方就可以直接复制未解锁的了 0000000100007e79 xor eax, eax 0000000100007e7b inc eax 0000000100007e7d nop 0000000100007e7e nop
0000000100007e7f mov byte [ss:rbp+0xffffffffffffffc3], al
//....... 其他的我就不举例了 都是上面的改法 之所以用 xor eax,eax 和 inc eax 是因为占得字节少。。 无所谓了 不要在意细节 记得补NOP 不然00应该会崩溃的 最后几个是不需要改的 因为没有判断al的代码 可以忽略
改完后我们保存 替换 运行测试结果
即便单机选中也不会有锁了
然后试试点一下颜文字
(ノ・_・)ノ凹 ┣凹━凹━凹┫オセンタク♪ 叫我粗来干嘛 我都准备碎觉觉了 你给钱了么你 18块钱都不给我还好意思叫X
咳咳 继续
偏好面板也提示已购买 内购就到此破解完成了 各位晚安 记得给分哟
@Hmily 你不能睡 粗来给我加分加精各种加
打包了一份给大家 可以直接替换用:
链接: http://pan.baidu.com/s/1jGtc2Jc 密码: k8dm 使劲用硬币刮
记得要支持正版哟 这么菜的文章 给点鼓励分呗 不扣你们的
|