解除Yummy FTP的使用限制(第一次成功的逆向经历)


#1

逆向分析(直接markdown粘过来的)

博客链接

因为30天使用过期了,所以这个玩意不让我们使用了,虽然网上有序列号,但是这样的方式并不能让我愉♂悦,所以我们正好试试前两天学的Mac逆向。
首先我们用Hopper来搞一手,但是这个过程中发现逆向出来的函数名中似乎没有我们需要的呀:

这一步有点卡手,然后看看其他的,发现都是sub_xxxx什么的,而且还巨多,看完眼睛都瞎掉,想了想之后决定用字符串查找,因为这个是序列号验证的模式,我们就通过序列号英文来查找:

然后查找这个引用的关系,到这里似乎出现了突破口,继续向上寻找引用,然后发现了有四个调用:

我们首先看看第一个,太长了,跳出来看看第二个,发现离调用的头部很近:

屏幕快照 2018-04-21 下午11.32.10.png

从判断的逻辑关系可以得出,一开始对于日期或者其他的什么进行了一次校验,校验失败之后走左边的路线,也就是你的App认证为是过期的,我们发现开头的右边那条线就直接返回了,所以我们在这里修改判断条件让函数直接返回或者走右边的路线,原来的代码是:

mov	al, byte [esi-0x72b21+0x2f1114]                     ; 0x2f1114
and	al, 0x0
jne loc_72d49

那么我们修改判断为一定不为0的即可:

or al, 0x01
jne	loc_72d49

修改好之后非常开心的打开了应用,然而现实给了我沉重的一巴掌,还是不OK,此时我的心中似乎奔过了千万头草泥马,想到还有几个引用,于是乎又转头回去看了:

除了逻辑变了一下,其他的也没改什么,所以照样改就好了,第四个是一个子调用,应该不需要改,修改完之后重新导出,然后替换原有的可执行文件,重新打开App:

nice,那个烦人的玩意没了,开始愉悦的使用吧~分享到此结束。

补一个github的链接吧:Yummy_FTP_crack