针对 dash3 license 破解 dash4

针对 dash3 license 破解 dash4

本文仅供技术交流,请支持正版。我现在也还是在用dash3。

dash前一阵子发布了 dash4,新的版本,我看了一眼更新,嗯,没啥特别大的新功能。。。然而这个作者丧心病狂地要求付费更新。怪不得当年2升3的时候也被喷了。果断不更新,我就看个文档而已,买一个license还不够,还要付费升级,坑。

我下载了试用版的 dash4,其实免费也能使用完整功能,只是偶尔搜索文档需要等待10s,然后右上角有一个purchase,偏好设置里面的购买也提示需要付费升级

注意这里有一个很重要的信息,那就是他不是提示购买,而是提示付费升级,也就是他能识别到我本地有一个dash3的license。那能不能简单修改一下二进制文件,让他以为我用的license就是合法的dash4的license呢?

开始简单的逆向

先找到dash的二进制文件,mac的app二进制文件一般在 *.app/Contents/MacOS/ 下面,二进制文件的名字一般和包名相同。

使用 hopper 打开这个二进制文件,进行分析。可以看到,这个二进制文件没有尽兴任何反逆向处理,hopper 成功将所有导出的函数都列出来了。考虑到dash使用license进行注册,我猜测他的函数里面会有以下关键字:

license
purchase
paid
verify
check

使用license进行查找,果然找到了几个有用的函数:

void -[DHInApp setLicensePurchaseDescription](void * self, void * _cmd) 
void * -[DHInApp licenseFile](void * self, void * _cmd)
void * -[DHInApp licenseFolder](void * self, void * _cmd)
void -[DHInApp processLicenseFile:](void * self, void * _cmd, void * arg2)
void -[DHAnalytics trackAppLaunch:isPaid:](void * self, void * _cmd, void * arg2, char arg3)

很明显,其中 licenseFilelicenseFolder 就是用来找license的。简单分析了一下这两个函数,发现了license的路径:

~/Library/Application\ Support/Dash/License/license.dash-license

OK,我们看看这个文件是什么样子的:

➜  License cat license.dash-license
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Product</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值