吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 49506|回复: 200
收起左侧

[MacOS逆向] Mac 软件破解初尝试 ----- Kaomoji Lover 颜表情

    [复制链接]
拓海真一 发表于 2015-4-3 03:21
小弟不才 穷的没钱 所以研究了下破解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下的文件
QQ20150403-23@2x.png
介个就是我们伟大的破解界面 初入的感觉 (ノ ゚Д゚)ノ ==== ┻━━┻ 什么鬼
好吧。。 好运总会眷顾傻瓜的 你要深刻记住这句话。。。

首先看了小白大大的以后 我深刻意识到我要搜索一个字符串。。。(ノ ゚Д゚)ノ ==== ┻━━┻  不搜索字符串难道你要用OD里的方法破解么
咳咳 经过反复钻研 凭借我那200M的词典 再加上他界面解锁的文字 我下意识感觉可能有Full这个单子 也可能有is这个单词 于是我搜了isFull
QQ20150403-1@2x.png
看吧 好运就是眷顾傻瓜了。。我真的是一次就找到的。。。 (ノ ゚Д゚)ノ ==== ┻━━┻ 明明是两次 在撒谎我就翻桌子了(已经翻了)
isFullUnlocked 字面意思就是 是否全部已解锁 我们双击
QQ20150403-2@2x.png

我们看到这个地方 额。。。。 反正我靠感觉琢磨了几十分钟 我就跳过了 我不说我怎么琢磨的了 (ノ ゚Д゚)ノ ==== ┻━━┻ 难道你还要扯几个小时
QQ20150403-3@2x.png

我们看到选中以后 右下角 Is Referenced By 里面有一个地址 我们继续双击 他这个可能是调用地址之类的东东 起初是这么想的
QQ20150403-4@2x.png
然后我们又来到了一个不知什么鬼的地方 ,但是发现 Is Referenced By 里出现好多地址
QQ20150403-5@2x.png
目测就是调用这个变量?的地址 我们双击进去一个

QQ20150403-6@2x.png

然后又调回了反编译窗口? 原谅我什么都不懂 我真的都不懂 (ノ ゚Д゚)ノ ==== ┻━    ━┻ 不懂来这里装毛 气得我桌子都翻烂了
咳咳 进入正题 目测是作为一个参数给 call r15的 也许r15就是这个关键CALL 所以我们要找一下r15的值 然后一直上翻
QQ20150403-7@2x.png
看到 r15的值是一个 msgSend的地址 可能是API 也就是SendMessage 之类的 看来可能不是关键CALL 总之我们继续 大牛随便吐槽 反正我是菜鸟 啥也不懂的那种
我们看到有一个jnz跳转 而上面是一个test命令 也就是说它的跳转条件就取决于r14b的值,上面有一个 Mov r14b,al 也就是msgSend的返回值 我们可以尝试把mov r14b,al改成mov r14b,0x1  就相当于win下 mov eax,0x1一样
QQ20150403-8@2x.png
选中那行 点这个按钮
QQ20150403-9@2x.png
输入 mov r14b,0x1 然后修改 QQ20150403-10@2x.png
然后我们来尝试一下保存 然后替换掉原文件测试一下结果
QQ20150403-11@2x.png
由于是App Store下载的 有权限保护 需要输入账号密码才能替换
QQ20150403-12@2x.png

发现前面的锁没有了 就是默认不显示了但是点击还是有锁 但是这个结果很好 因为我们找对地方了 他确实是判断是否解锁的地方 我们点一下颜表情 还是会跳到支付界面
QQ20150403-13@2x.png
我们继续尝试修改其他的地址 这里我就不一个一个说明哪个地方是干啥的 和截图了 我直接提供全部的把 具体我会告诉你其实只要改复制的地方就可以了 但是全部改了的话 无论是界面还是提示 都会是正版的
// 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的代码 可以忽略

改完后我们保存 替换 运行测试结果
QQ20150403-14@2x.png
即便单机选中也不会有锁了
然后试试点一下颜文字
(ノ・_・)ノ凹 ┣凹━凹━凹┫オセンタク♪  叫我粗来干嘛 我都准备碎觉觉了 你给钱了么你 18块钱都不给我还好意思叫X
咳咳 继续

QQ20150403-19@2x.png

偏好面板也提示已购买 内购就到此破解完成了 各位晚安 记得给分哟

@Hmily 你不能睡 粗来给我加分加精各种加


打包了一份给大家 可以直接替换用:
链接: http://pan.baidu.com/s/1jGtc2Jc 密码: k8dm 使劲用硬币刮

记得要支持正版哟 这么菜的文章 给点鼓励分呗 不扣你们的

免费评分

参与人数 79威望 +1 吾爱币 +1 热心值 +78 收起 理由
Xavier_yang + 1 + 1 谢谢@Thanks!
ivywill913 + 1 hooper的licence用不了啦~
雪莱鸟 + 1 我很赞同!
nianyigg + 1 我很赞同!
不懂破解 + 1 给下分
huxx + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
lovezyl + 1 谢谢@Thanks!
㊣颜子㊣ + 1 我很赞同!
飞龙使者 + 1 ~~~
zhczf + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
toms + 1 高手啊, 能解除设备的icloud帐号吗? 现在机.
claud0623 + 1 用Mac破解软件的人越来越多啊!
wuwenhao1991 + 1 我很赞同!
老子天下 + 1 热心回复!
我操 + 1 我很赞同!
火钳嘎子 + 1 膜拜大神
小鬼乱搞 + 1 谢谢@Thanks!
溯海 + 1 我很赞同!
『情』为你开 + 1 谢谢@Thanks!
shiskey + 1 热心回复!
aikuimail + 1 已答复!
JAMESM5 + 1 我很赞同!
ttku2015 + 1 不明觉厉
lovey8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
bet365china + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
shuihuoerhao + 1 鼓励转贴优秀软件安全工具和文档!
小火 + 1 我很赞同!
ww01992 + 1 挺有意思
止于终止@ + 1 谢谢@Thanks!
yxcaowei + 1 谢谢@Thanks!
wwe杨云VGe + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
緈諨 + 1 我很赞同!
微博2016 + 1 热心回复!
我要学 + 1 谢谢@Thanks!
小黑and小白 + 1 来膜拜一下大神。。
Bds1r + 1 飞跃性突破!
独一无② + 1 热心回复!
wx1058 + 1 鼓励转贴优秀软件安全工具和文档!
ll9632 + 1 谢谢@Thanks!
Amor残梦 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
26075623 + 1 鼓励转贴优秀软件安全工具和文档!
smile1110 + 1 我诚实的说,我没看完!!!
Hiok + 1 谢谢@Thanks!
tmsdy + 1 我很赞同!
li1314li + 1 热心回复!
毕业在蓝翔 + 1 谢谢@Thanks!
ma1349202745 + 1 我很赞同!
UYDE'eo + 1 谢谢@Thanks!
冰凌若水 + 1 谢谢@Thanks!
眷恋 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
SintonWong + 1 谢谢@Thanks!
szx503 + 1 楼主棒棒哒
Ghands + 1 楼主威武
凌云9 + 1 我很赞同!
wanmei + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
z130608 + 1 我很赞同!
wujia + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
xiaoxiaoxi + 1 谢谢@Thanks!
无痕软件 + 1 破解之前,你得先有个MAC。哈哈哈。
kingwood + 1 谢谢@Thanks!
vigers + 1 我很赞同!
songxng10000 + 1 谢谢@Thanks!
灵影 + 1 给了一个很好的思路。可惜不用MAC
xiaoyi510 + 1 已答复!
童真 + 1 谢谢@Thanks!
絕鈑公子 + 1 我很赞同!
黑龍 + 1 老师,我来给你加分了
q1285257165 + 1 我很赞同!
RCKLV + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
小楠 + 1 热心回复!
xjun + 1 我很赞同!
吾爱小萝莉 + 1 热心回复!
wym8768 + 1 热心回复!
yAYa + 1 膜拜师傅
盈盈一水间cc + 1 谢谢@Thanks!
淡然出尘 + 1 我很赞同!
东苑 + 1 我很赞同!
洛克、菲菲 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
小淫仙 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2015-4-3 13:59
拓海真一 发表于 2015-4-3 12:32
H大可以试试 r15貌似不行 因为他用的是msgSend方式在objc里属于一种语法 但是没办法像od里那样F7跟入另一 ...

那不太熟悉了,总得有赋值的地方,不行换个其他方法找找吧。

点评

mac的调试工具都有什么呀  发表于 2015-4-3 21:00
 楼主| 拓海真一 发表于 2015-4-3 12:32
Hmily 发表于 2015-4-3 12:22
r15里的al决定了是否跳转,f7进call看看?

H大可以试试 r15貌似不行 因为他用的是msgSend方式在objc里属于一种语法 但是没办法像od里那样F7跟入另一个CALL

点评

那不太熟悉了,总得有赋值的地方,不行换个其他方法找找吧。  详情 回复 发表于 2015-4-3 13:59
洛克、菲菲 发表于 2015-4-3 05:16
沙发 哈哈哈!!

免费评分

参与人数 1热心值 +1 收起 理由
拓海真一 + 1 居然是被你第一个抢沙发的

查看全部评分

东苑 发表于 2015-4-3 07:46
不错,感谢分享。
Hmily 发表于 2015-4-3 09:10
Hopper原来查看调用在那个地方,之前找了半天,mac上的教程确实不多,加精鼓励。

免费评分

参与人数 1热心值 +1 收起 理由
拓海真一 + 1 等你一宿了 Ψ(●°̥̥̥&#80.

查看全部评分

淡然出尘 发表于 2015-4-3 09:16
大赞一个

免费评分

参与人数 1热心值 +1 收起 理由
拓海真一 + 1 回帖的都来个赞 (*>v<)ゞ*

查看全部评分

Hmily 发表于 2015-4-3 09:17
又看了一遍,感觉应该在r15里改返回值比较好吧,应该一个地方就搞定全部了,你试试再找找。

点评

突然发现。。。 怎么才能进到函数入口 完全不会用这个工具。。。  发表于 2015-4-3 09:29
因为不确定那个函数是不是验证 往上翻会发现 call r15的地方不少 但都不是验证  发表于 2015-4-3 09:22
hjzzwj 发表于 2015-4-3 09:29 来自手机
大神赞一个
 楼主| 拓海真一 发表于 2015-4-3 09:30
Hmily 发表于 2015-4-3 09:17
又看了一遍,感觉应该在r15里改返回值比较好吧,应该一个地方就搞定全部了,你试试再找找。

objc_msgsend 确实是API 貌似没法修改
盈盈一水间cc 发表于 2015-4-3 09:36
帖子写的好萌,
为你一人 发表于 2015-4-3 10:26 来自手机
支持!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 04:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表