疯狂点击用mt管理器破解教程怎么破解内购

请和谐撕逼 高逼格灌水
浏览 1407868 次
帖子 329292 个
关于完整的内购破解
这里有个关于内购破解的帖子可是并不完整, 这里我没有发蓝链接的权限所以我就直接板砖了希望在贴吧的吧主看到能够原谅, 发那个不完整的贴的贴主无意冒犯啊,教程在评论
该评论提到的应用:
CMlijie 顾辰
工具需要:mt管理器
CMlijie 顾辰
找到自己想到破解的游戏点击>查看 今天开学抓紧时间没时间编辑截图了点击>查看点击>查看
CMlijie 顾辰
注意一点!对加密了的游戏无效!!对反编译了的新手就请移步吧 这个是个技术活
CMlijie 顾辰
接下来点击后缀为dex的文件后缀为dex的文件为dex
CMlijie 顾辰
接下来点击后缀为dex的文件后缀为dex的文件后缀为dex
CMlijie 顾辰
接下来点击后缀为dex的文件
后缀为dex的文件
点击编辑代码 点击编辑代码 点击编辑代码
CMlijie 顾辰
搬砖,点击编辑代码后请点击搜索类 <和游戏搜索方法名:onResult,onchinabilling,resulton,Paycenter,Callback联通游戏搜索方法名:OnPayResult,PyaResulton,Activity,result,callback电信爱游戏搜索方法名:paySuccess成功,payCancel取消,payFailed失败移动mm搜索方法名:onBillingFinish,Billing,CallBack支付宝和银行卡方法名:handle,message支付宝搜索字符串 支付onfinishedon,Activityresult发送短信限:android.permission.SEND_SMS发送短信锁定支付式关建字符串:CHINA_TELECOM中国电信4,46011CHINA_MOBILE中国移动4,4CHINA_UNICOM中国联通4,NOT_DEFINE注意了【不包括网游】(不包括网游)
CMlijie 顾辰
搬砖,点击编辑代码后请点击搜索类 <和游戏搜索方法名:onResult,onchinabilling,resulton,Paycenter,Callback联通游戏搜索方法名:OnPayResult,PyaResulton,Activity,result,callback电信爱游戏搜索方法名:paySuccess成功,payCancel取消,payFailed失败移动mm搜索方法名:onBillingFinish,Billing,CallBack支付宝和银行卡方法名:handle,message支付宝搜索字符串 支付onfinishedon,Activityresult发送短信限:android.permission.SEND_SMS发送短信锁定支付式关建字符串:CHINA_TELECOM中国电信4,46011CHINA_MOBILE中国移动4,4CHINA_UNICOM中国联通4,NOT_DEFINE注意了【不包括网游】(不包括网游) 然后
CMlijie 顾辰
然后根据你的游戏的付费类型 选择搜索的的内容
CMlijie 顾辰
然后我在这里搜索的是 onresult 这个是移动游戏的方法名
CMlijie 顾辰
然后会得到这个东西 这个就是要修改的东西了 骚年快完成了
CMlijie 顾辰
然后点击方法列表 注意点击方法列表 方法列表!
CMlijie 顾辰
这里点击第二个 不要问为什么点击第二个 你自己看第二个的名字是不是我们之前搜索的 onresult?对了 目标就是这个
CMlijie 顾辰
点开后是这样的 不管上面是什么玩意请拉到底部
CMlijie 顾辰
到了底部就是这样了看到没有1和2 这个1和2代表成功和失败但这里我要加一个3 因为有的游戏还有个3
亲,想发表评论请下载哦~
全部: 116096
无数据包不游戏
全部: 264869
沙盒创造游戏综合讨论区
怠惰效果加持中のAlcor
一只乐观的鬼
王老壁隔的柜衣
我们的产品
客服邮箱:
微博/微信合作QQ:
网游玩家客服QQ:
24小时举报电话号码:
广告合作QQ:
游戏合作QQ:
北京掌汇天下科技有限公司 版权所有
京公网安备39号|在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息,然后在二次打包签名即可。其实把这部分功能移到了移动端做了,不过值得佩服的是这个app从整体效果来说,非常的赞,非常佩服这个工具的作者。
二、逆向分析
但是今天我们的主题是破解这个工具内部的收费功能,而用这个工具进行破解教程后续再给出文章,今天我们就来爆破这个app的收费功能。不多说了,直接上图:
我们在查看arsc文件的一部分功能的时候,就出现这个提示了,好的,直接用这个提示信息作为突破口,使用apktool工具反编译apk,然后查看他的string.xml文件:
看到这里,就很懵逼了,而且你会发现apk内部的所有资源都是这种格式定义,到这里可以猜想apk做了资源混淆,我们用Jadx打开apk之后,全局搜索这个name值,是找不到的,会发现全是R.xxx.MT_Bin这样的定义,所以这个作者是为了防护apk做的一种策略。不过不要紧更恶心的防护还在后面。看我分析再说。不过在怎么资源混淆,最终在smali代码中都必须用int值0x7FXXXX来进行操作,所以我们可以在smali代码目录下全局搜索包含0x7f08009e值的文件,这里需要借助Window中的命令findstr了:
命令很简单,在当前目录下查找所有文件中包含指定字符串内容的:findstr /s /i &需要查找的内容& *.*
我们可以看到总共就这么几个文件,这里我不会对每个文件进行查找,然后在确定是否是这个文件了,大家自己操作,可以依次顺序进行查看定位即可。最终我定位到了0oO00OO.8.smali这个文件。我们打开这个文件查看:
记住在代码的157行调用这个字符串信息了,然后我们在Jadx中进行类查找即可:
查找之后又开始懵逼了,这是他的第二次防护代码混淆,你看这些类名被高度混淆了,不过有个规律,就是都是C开头,然后是4位的数字,后面就是正确的类名。所以后面查找类都要记住这个规则即可。因为Jadx在查找类名不区分字符大小写,这里通过观察,可以确定是第一个,我们点击进入即可:
这里看到,正好是我们想要找的地方,看之前收费的功能截图:
就是资源查询功能需要收费。所以到这里,我们的入口就定位正确了,接下来就开始跟踪分析代码即可。不过这里有同学会问,上面那几个找到的文件,怎么就能定位到这个入口文件呢?还是那句话。可以依次对每个smali代码进行分析,还有一个办法就是在每个类中用到的提示信息地方进行hook,然后操作一下,看看哪个类中打印了,就表示哪个类是正确的。这个是逆向的一点经验。
接着上面的入口继续跟踪代码分析:
先不管这个判断,后面再分析,看看这个提示信息逻辑:
继续查看:
看到了,这里就是用了toast进行提示的,符合我们看到的效果了。下面就来看看这个判断了:
通过这里大致分析到,这个类管理了一个用户的付费功能的有效期。后面还需要用到这个类,先不管,我们直接用Xposed把这个方法强制返回true即可:
这里hook的时候,一定要注意类名正确,这个规则之前已经说过了,除去Jadx中显示类名的Cxxxx后面就是正确的类名了:C2789oOo0oo0o==》oOo0oo0o;就是这样的规则。记住后面hook都是这么干的。
继续往下看。我们既然hook了这个方法返回true了,那么代码就不走提示信息了,就往下面走:
这里会发现又有很多判断分析,主要是判断系统版本,然后就还是上面提到的那个类,判断用户是否为会员,可以进入查看代码:
这两个方法看到和时间有关,说明这里应该和用户是否为会员到期功能有关,先不管,直接把这两个方法进行hook,修改返回值为true即可:
不过,既然设计到了会员到期问题,继续查看这个到期时间在哪里设置的:
我们拦截这个类的方法,把时间改成永久会员:
然后我们查看个人中心信息:
修改成功了,我们继续查看改成永久会员之后的后面判断:
这里通过系统版本来判断高版本中运行时的一些权限是否开启,如果没有开启,那么功能也是用不了的,这里我用的4.4系统,所以这一层判断对我没什么影响。直接往下看:
继续点击进入代码查看:
通过跟踪代码发现,o是个接口类型,看他赋值的地方是在构造方法中,那么全局查找C05320oO00OO这个类用到的地方:
通过分析,可以确定是最后一条信息,点击进入即可:
再次确认是这里,我们正好是处理arsc文件的。然后全局搜索看看这个类方法在哪里调用的:
分析之后,在这个类中调用了:
查看这个类的方法:
最终会调用传入进来的这个类的o方法,我们回到最开始处:
进入继续查看代码:
这里就有点问题了,使用工具还是出现错误提示:
而这个o方法分析非常麻烦,非常深入,也同时hook了下面的类的run方法:
也并没有执行,所以问题就出在这个o方法了,而我们可以看到这里有一个try.catch,并且会打印异常信息,所以我们可以通过日志分析,直接过滤System.err即可:
果然不出所料,这里有崩溃栈信息就好办了,直接跟踪查看:
这里看到,有一个判断,如果是0就正确走逻辑了,那么简单,继续hook这个方法,让其返回0即可:
不过可惜的是,运行还是有问题:
依然查看System.err日志信息:
直接根据堆栈信息跟踪代码:
在往上看调用代码:
发现崩溃日志就从这里开始的,上面我们hook了o方法,让其返回0,走到内部逻辑了,但是没想到内部却又有崩溃信息,我们为了更好的查看崩溃原因,我们hook这个o方法,把参数字节数组和返回值字节数组打印出来看结果:
运行Xposed模块,查看日志:
看到了,这里的值返回为null值,所以上面报了异常信息了。继续往上看代码,看看这个字节数组怎么传入的:
看到这里发现,工具做了第三层防护,就是app内部所有的网络请求都采用Socket,防止被轻易抓包破解。可以看到这个工具作者安全防护意识非常强,后面还要介绍第四层防护。因为采用Socket请求,一般抓包工具很难抓到数据了,我们先hook这o方法,打印Socket请求的ip地址和端口号信息:
然后,我们在去使用那个收费功能,打印日志:
发现了这个ip地址,对应的域名是binmt.cc了,为了能够抓到数据包,我们用Wireshark工具进行操作,关于如何使用这个工具抓取手机数据包,不了解的同学可以看这篇文章:;我们过滤一下ip地址看看结果:
结果也是看到,他用了SSL加密数据了,而从上面日志打印看,也是没有数据的,因为返回的字节数组都是null了。而且返回的数据,我们在跟踪本地代码发现,会先进行解压操作:
然后开始进行数据校验:
看到整个过程全部用DataInputStream类进行操作,也就是纯的字节操作。对应破解看数据增加了非常大的难度。到这里也是没辙了,原因很简单,首先我们因为没有购买会员,所以服务端返回的数据肯定是不正确的。那么首先我们应该获取争取的服务端数据,然后替换上面的返回字节数据的方法返回值即可。
三、破解方案
到这里,有些同学就困惑了之前说过,任何工具类的app只要收费那么理论上都是可以破解的,因为工具的功能是在本地,服务端和本地再怎么验证都是一个开关而已。但是通过这个app发现,这个开关太多了,他把本地端这个收费功能用服务端的一些字节数据控制,又加上代码资源高度混淆。几乎很难在往下走了。所以这里想到另外一个方法,我们可以先去用一个账户买个会员,然后使用收费功能,通过hook那个返回字节数组的方法,打印信息,把返回的字节数组保存:
然后我们hook之前的那个o方法,返回这个固定的字节数组:
就这样,我们在运行就可以免费使用了,不过有的同学就觉得很奇怪了,这不是付费了吗?当然能用了,的确,我们付费买了一个会员,但是有了这个正确的字节数组之后,我们只要hook操作,所有的账户或者无登录状态都可以使用,这样就等于买了一次,每个人都可以使用了。的确是花了一份钱,但是给大家所有人都带来福利了。为什么这么说,因为我们回过头来看,我们hook了哪些地方?
第一个地方:拦截修改了用户是否已经登录
第二个地方:拦截了用户是否为会员记录
第三个地方:拦截了服务端返回的付费功能字节数组
有了这三个地方我们就可以在无登录状态,利用那一份付费的字节数组让每个人都用上了付费功能。下面来看一下,我没有登录也能是用这个收费功能效果:
看到了,左上角的登录状态是无登录状态,但是依然用到了收费的资源id查找功能。不管怎么样,目的是做到了,但是到现在还有两个问题:
第一个问题:大家看到了,这个工具的作者是多么的牛逼,把代码资源混淆成这屎样,还防止抓包用socket通信,返回全是字节数组,每个字节控制付费功能的逻辑。后续逻辑没法分析。导致需要花一份冤枉钱,心里还是很不爽的。
第二个问题:大家看到我本文全程都在用Xposed进行hook修改的,而实际一点应该是改smali代码,二次打包这样才能真正的造福大家,给大家一个真正的免费版MT工具,这就要引出作者的第四层防护了,就是防止二次打包签名,当然是用了kstools工具了,二次打包运行的确没有崩溃了,但是出现了ANR了,签名验证逻辑在so的start函数中。这个后面会单独讲他的验证逻辑,因为篇幅太长了。
四、技术知识
因为上面混淆的太多导致追踪代码太多,可能大家看的头都晕了,其实分析起来更是头晕,大家可以用样本自己分析一下就知道了。不过这里还是总结一下本文破解之后,我们掌握了什么知识点:
安全防护策略方面:通过本文的几层安全防护可以学习借鉴一下工具的策略,这个工具可以作为一个安全防护研究的非常好的案例样本,很多安全防护技术值得研究学习的。
1、代码资源的高度混淆还是值得做的,关于本文中的代码混淆,可以看出有一定规律,就是混淆后的类前缀都是C开头然后是4位整数然后就是正确的类名了,其实这个可以用我之前介绍混淆工具改一下就可以做到。将类名变量名方法名混淆成自己定义的格式即可,网上也有这个技术,可以自行搜索。代码混淆可以看到,在Jadx中的代码跟踪技术就丧失了,只能完全靠搜索功能了定位代码了。
2、资源混淆的高度混淆还是值得做的,关于本文的资源混淆,之前很多app都做了,主要是腾讯的资源混淆工具叫做AndResGuard,其实当初这个工具的初衷是为了减少应用包apk的大小的。没想到也能做到混淆防护功能。这么做之后会发现我们用以往的字符串找突破口技术就失效了,不过我们依然可以用全局搜索功能来进行查找突破口,只是花费的时间长了而已。
3、依然是签名校验,防止二次打包,本文篇幅原因,二次打包技术问题就等后面再分析,但是可以看出他也用到了比对签名信息的功能,只不过还有其他比对技术了。所以签名比对有很多技术来实现了,导致我的kstools工具失效,这时候就需要具体问题具体分析了。
4、为了防止被恶意抓包,应用中所有网络请求使用socket进行加密通信,这个对于分析来说就加大难度了,因为socket通信,涉及到的一般都是纯字节数组,这个对于分析来说非常难受的。
破解爆破策略方面:不管这个工具的安全防护做的如此坚固,但是我们最终还是找到了核心点,原因在于坚持不懈,相信一点,工具app他不像一些视频VIP功能,收费功能都在服务端控制,比如视频VIP功能,只有你付费了,服务端才会吐给你视频链接,这都是服务端做的事,而工具一般功能都是在本地写死了,只是服务端有一个开关而已。所以坚信这一点,工具类app收费功能是肯定可以破解的。只是看这个开关的破解难度了,比如本文,为了防止抓包,尽然全程用了加密socket进行通信,通信中的字节很多都用于开关控制,导致分析难度非常大。所以本文最后就花了一份会员的钱,来搞定每个人的永久免费功能。而对于此工具其实算是防护的一个漏洞,就是虽然作者把功能开关弄到服务端,用socket加密字节数组操作,但是并没有携带用户相关信息,看上面的效果可以知道,我没有登录都可以使用该功能了。工具应该把用户登录状态信息也做一次服务端验证。
阅读(...) 评论()}

我要回帖

更多关于 我叫mt内购破解版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信