拓海真一 发表于 2015-4-3 03:21

Mac 软件破解初尝试 ----- Kaomoji Lover 颜表情

{:301_1004:} 小弟不才 穷的没钱 所以研究了下破解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    ; @"isFullUnlocked"0000000100004e05         mov      rdi, rbx                                    ; argument "instance" for method _objc_msgSend0000000100004e08         call       r12                                       ; _objc_msgSend0000000100004e0b         mov      rsi, qword                ; @selector(setHidden:), argument "selector" for method _objc_msgSend
0000000100004e12         movsx      edx, al我们发现第三处是 movsx edx,al 怎么改呢 我们修改call r12 因为这个call本身就是提供了返回值 所以没有具体意义了 但是CALL只占了3个字节 所以就要借用再上面的一个代码的字节 剩下00的时候记得补nop代码                                       xor      eax, eax0000000100004e07         inc      eax0000000100004e09         nop      0000000100004e0a         nop      0000000100004e0b         mov      rsi, qword                ; @selector(setHidden:), argument "selector" for method _objc_msgSend
0000000100004e12         movsx      edx, al//40000000100004efc         xor      eax, eax0000000100004efe         inc      eax0000000100004f00         nop      0000000100004f01         nop      
0000000100004f02         mov      rsi, qword           //5000000010000798d         mov      r15b, 0x1
//6这个就是双击复制的地方 只改这个地方就可以直接复制未解锁的了 0000000100007e79         xor      eax, eax0000000100007e7b         inc      eax0000000100007e7d         nop      0000000100007e7e         nop      
0000000100007e7f         mov      byte , al

//....... 其他的我就不举例了 都是上面的改法 之所以用 xor eax,eax 和 inc eax 是因为占得字节少。。 {:1_909:}无所谓了 不要在意细节记得补NOP 不然00应该会崩溃的 最后几个是不需要改的 因为没有判断al的代码 可以忽略

改完后我们保存 替换 运行测试结果

即便单机选中也不会有锁了
然后试试点一下颜文字
(ノ・_・)ノ凹 ┣凹━凹━凹┫オセンタク♪叫我粗来干嘛 我都准备碎觉觉了 你给钱了么你 18块钱都不给我还好意思叫X
咳咳 继续



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

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


打包了一份给大家 可以直接替换用:
**** Hidden Message *****

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

Hmily 发表于 2015-4-3 13:59

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

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

拓海真一 发表于 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 05:16

沙发 哈哈哈!!

东苑 发表于 2015-4-3 07:46

不错,感谢分享。

Hmily 发表于 2015-4-3 09:10

Hopper原来查看调用在那个地方,之前找了半天,mac上的教程确实不多,加精鼓励。

淡然出尘 发表于 2015-4-3 09:16

大赞一个

Hmily 发表于 2015-4-3 09:17

又看了一遍,感觉应该在r15里改返回值比较好吧,应该一个地方就搞定全部了,你试试再找找。

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

{:1_921:}帖子写的好萌,

为你一人 发表于 2015-4-3 10:26

支持!!!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Mac 软件破解初尝试 ----- Kaomoji Lover 颜表情