Kure sama 发表于 2017-4-13 11:36

申请会员ID:xpwb123

1、申 请 I D :xpwb123                        
2、个人邮箱:xpwb123@qq.com
原创文章:分享一下破解某ios网赚app    qiank* (拼音)的经验
大概是16年4月破解的。由于较久远,因为本人是安卓党,为了破解当时是跟别人借了个不用的iphone4用的,后来坏了,所以无法重现(截图)破解过程。在这里就大概说一下思路
这个app是需要安装一个助手或者钥匙在手机上。我主要就是对这个钥匙进行破解
使用中发现是在浏览器环境下做任务的,所以看了下网址,到电脑火狐上输入了这个网址(useragent伪装成ios的),firebug检查发现会有请求127.0.0.1的现象,就是访问本机地址,推测可能该钥匙app有中转的功能。
然后wifi抓手机上访问这个网址的包观察通信过程,发现其中重要的post请求都加了特殊的http头。比如什么x-time,x-scheme,x-sign,x-api-key,x-auth,x-appv等等,推测这些可能是在这个钥匙app中生成。
于是用ida对app中的程序进行静态分析,发现有相关方法进行处理,对相关变量进行追踪,知道了这些http头中内容的出处和含义,比如time代表本机时间(换算成unix时间戳(换算成格林威治时间)),appv中有ios的uuid,设备cpu编号(dieid),广告跟踪id等等。着重分析x-sign,这是个关键的签名校验http头,不对的话,服务器会返回错误。在ida伪代码中分析发现,这是对这些特殊http头和post的内容进行组合,然后经过hash算法得出的。具体组合过程,静态分析看的有点乱,于是接上那个ip4进行动态分析,
用的gikdbg,刚开始附加进程的时候附加不上,发现这个app用了ptrace来防止附加。于是在ida里修改了这个防附加的方法,使其失效。然后就很顺利的附加上了。
然后在那个加密处理代码的地址加上断点,然后随便操作一下让他调用这个方法,顺利的触发了断点。查看寄存器所在的内存,发现那些time,appv是直接字符串连接起来的。然后http get的参数,按参数名字母排序后,以a=1+b=2这样的样子排列的。处理完后,进行hash,得出签名
在电脑上用c#构造了相应的方法进行测试,发现算出的签名与手机app算出的相同。至此,可以获取app里的任务列表了
抓包发现,app里点完成任务,post出去的内容是加密的。然后就在ida里找相关方法。(可以搜索POST,会显示有关的内容,其中有一个方法就是处理这个POST包的,往上看,这个包的内容的发现了加密过程)
这个原数据呢,是一个NSDictionary,然后经过一个第三方编码类msgpack(类似于json,但这个编码成二进制,效率高一些)转码成二进制序列,然后再经过第三方加解密类RNCryptor进行加密。这些第三方类可在代码托管网站上下载到
尝试在电脑上进行仿制,但是最后加密出来的二进制数据和手机加密出来的不同。这时候郁闷了很久。但是经过在ida里对代码仔细分析,发现RNCryptor的默认签名参数是内部hash了10000次。。。但手机上可能为了减少卡顿,只hash了10次。
于是,在电脑上把加密参数修改成10,结果终于成功了。
最终,在电脑上仿制相关方法,成功实现在电脑上做任务。。。完全脱离手机。。


Hmily 发表于 2017-4-13 18:01

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:xpwb123