【逆向破解】-某色软件破解次数限制和金币视频
2022-10-25 22:46:30 Author: 白帽子程序员(查看原文) 阅读量:44 收藏

前言

前段时间在网上冲浪奖励自己的时候发现了一款颜色软件,对于一个老色批来说这无疑是一件非常令人开心的事情,但好事不成双,这款软件和一般的颜色软件一样,没有充值会员每天有观看次数的限制,还有需要额外金币购买才可以看的视频,这无疑对于一个程序员来说令人难受,同样为了贯彻白嫖的理念,我们就将它破解。

这里年轻司机温馨提示:奖励虽好,可不能贪杯呦~

本篇不会上传任何附件资源,仅提供破解思路提供大家参考。

工具介绍

为了照顾新手,首先分享一下我使用的工具:

  1. APK反编译工具 —— APKIDE(改之理),可在论坛的爱盘中下载

  2. Vscode —— 代码编辑器

  3. Smali2Java —— Vscode插件,用来将Smali代码转换为Java代码分析

  4. MT管理器 —— 众所周知不介绍了,但此处仅用来查壳,虽然工具不错但感觉不如电脑方便

  5. uTools Unicode转化工具 —— 真的转Unicode非常方便

破解第一步查壳

如图所示,经过MT管理器查看加固状态,显示为未加固,所以说就不用进行脱壳处理(现在的颜色软件都这么猖狂吗?都不加个壳敷衍一下??),好了言归正传,既然没有加壳我们就进行下一步,分析破解需求。

破解需求

在使用了半个小时的时间后我整理出了需要破解的地方。

  • 破解无限观看次数(VIP功能)

  • 破解金币视频(充钱才能看的功能)

接下来我们要分析下手位置,才能准确找到需要修改的文件

分析并反编译

打开APP查看一个需要金币的视频,会弹出窗口提示:该视频需要消耗x个金币

所以我们下手就要从这里开始,打开ApkIDE进行反编译

非常顺利,成功反编译,拿到了重要的smali文件夹

在右侧搜索框内搜索关键词:该视频需要

非常遗憾,没有搜索的,我们尝试转换为Unicode编码后再搜索一遍

\u8BE5\u89C6\u9891\u9700\u8981

不出所料,果然搜索到了

搜索到后,在vscode中打开这个文件,转换为Java代码分析一下

成功在底下找到了这段弹出提示框的代码,找到这里后我们就要溯源寻找使用这个函数的类,同样我们将其中的 buyVideo 在 ApkIDE 中搜索

成功搜索出了有8个类调用了这个类中的buyVideo函数,我们在vscode中依次打开这些文件,依次转换为Java代码分析(防止通过包名找安装包,原谅我打厚码),这里我打开一个文件进行演示,其余7个文件修改方法类似。

看到Java代码,瞬间比阴间 Smali 要顺眼许多,我们分析一下这段代码,可以看到其中的 if 判断中出现了setStopPlay(true)和showSimpleDialog()这两个函数,通过小学英语知识就可以看出这是暂时视频和弹出提示的代码,所以这段将是我们替换的内容,下方 else if 的判断中有一处是跳转到了 buyVideo 函数,我们首次下手时就分析出了buyVideo()是弹出提示的代码,所以我们再往下看,下面else中的代码并没有任何调用弹窗之类的函数,所以可以断定这就是返回正常播放的代码,所以我们返回 Smali 代码,搜索关键词 “onSuccess” 找到这个函数。

根据基础的 Smali 知识,我们将 :cond_1至 :goto_0中间的代码复制,替换到 :cond_0 至 goto :goto_0 和  :cond_1至 goto :goto_0 的中位置,这样保存,接下来以同样的原理将搜索出来的几个文件,修改替换,最后我们在ApkIDE中编译再安装。

该内容转载自吾爱破解,更多内容请点击“阅读原文”


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3Mjc0MDQ2Nw==&mid=2247489468&idx=1&sn=b9054e686ac6e8cb8e374a1ece4430a8&chksm=ceebf4a0f99c7db60de821c3edabc1448e3f71a7c815d525006f0d4c7e38a85f705f962d591d#rd
如有侵权请联系:admin#unsafe.sh