吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6732|回复: 11
收起左侧

[Android 原创] 记录一次xx应用的伪破解(一)(去广告 增加vip功能)

  [复制链接]
nbwzlyd 发表于 2019-6-14 16:15
本帖最后由 nbwzlyd 于 2019-6-14 19:28 编辑

为啥叫伪破解

因为本人觉得没有太大的技术含量,这次破解没有涉及到so加密,加壳脱壳 IDA动态调试so等技术要点,纯粹的属于静态分析。
@TOC

实现了哪些功能

  1. VIP的投屏功能
  2. VIP的下载功能(bug已修复)
  3. 去除开屏的3秒广告
  4. 去除穿插广告
  5. 破解签名验证
  6. 去除代{过}{滤}理检测
  7. 杂七杂八

    工具

    所谓工欲善其事必先利其器,良好的工具可以为我们节省大量的时间。本文涉及到的工具有
    androidKiller 一个不知名的大牛开发的安卓反编译工具,其实本质还是apktool dex2jar ,jd-gui的集成,只不过图形化了界面,使用更加容易。
    J2S2J1.3 52破解上扒来的一个工具,可以将java代码编译为Smali代码,我们知道,反编译别人的应用,我们首先看到的都是smali代码,虽然 可以反编译看到java代码,但是我们的操作只能在smali代码上进行操作,有时候我们不知道smali代码怎么写,这个工具就派上用场了,可以写好java让其编译为smali代码,然后复制粘贴即可,当然这不是说smali代码不重要,还是很重要的,要不然你就算得到了smali代码你也不知道怎么去修改。
    关于smali代码的教程,可以参考   吾爱破解安卓逆向入门教程        这个教程一定要看,要不然入门都困难。

    一些废话

    话说做安卓开发也好些年了,天天写业务是真的烦,这次好不容易闲下来,终于能补充一些知识了。市面上有很多小而精的个人开发软件,或者小团队的软件,都能急人所需实现一些人们想要的功能,但是通常情况下这些应用要么广告满天飞,要么就是要VIP,由于技术团队限制,这些应用通常没有进行加壳或者加密处理,即使是进行了简单的混淆,对于安卓开发人员来说基本没啥用,能猜出个差不多的逻辑。
    作为安卓开发人员岂能只满足于写UI 呢,岂能满足于 满世界找xx破解的应用呢,肯定要是自己动手,丰衣足食的。
    还是那句话,安卓开发不能忙,一忙就只会写UI了

破解VIP的投屏功能

下载原版的xx影视app,可以在视频详情页看到 投屏功能,这个功能很多视频app都有,但是把这个功能做成VIP专享就不地道了。先看一下截图,然后办他。
TIM截图20190530130522.png

接下来就是重点了,所有的破解思路都是这个套路。
打开androidKiller这个软件,打开我们要破解的apk,


TIM截图20190530134250.png
接下来你可能会遇到一些奇奇怪怪的问题,比如打开失败,资源文件出错等问题,出现这个问题可以点击 Android---->
APKTOOL管理器来更新一下apktool,我用的2.3.2版本。因为有些应用会利用apktool版本的漏洞来达到防止反编译的作用,这个时候下载个最新的版本更新即可。
也可能会遇到卡死在反编译源码,这个时候记得按照这个帖子,https://www.52pojie.cn/thread-646293-1-1.html 进行修正即可。
修正完如果还是卡死,直接关闭androidKiller,再打开就行了。

打开AndroidKiller后,按CTRL+F ,进行搜索,如图
TIM截图20190530141038.png
搜索完毕,会在信息栏展示搜索结果,如图所示
TIM截图20190530141223.png
很幸运我们这次搜索的内容在Strings.xml中存在,有的文案是写死在java代码里的,我们直接搜索汉字搜索不出来的时候可以将汉字转为Unicode,在进行搜索,如图
TIM截图20190530141625.png
找到这个文案后,就是我们的突破点,我们以后的破解基本都是这个思路,一个是文案,一个是资源id。
双击点开搜索结果,会看到这个文案的命名
TIM截图20190530141915.png
同样的方式,搜索这个名字,然后再搜索结果里找到public.xml文件,这样我们就可以找到它的资源id了,同样的方式键入资源id,点击搜索,会得到如下结果
TIM截图20190530142126.png
这个就是庐山真面目了
双击打开该文件,可以看到如下smali代码,

TIM截图20190530143158.png
如果你看不懂这些代码,没关系,但是我强烈建议你要看懂,实在看不懂的话,点击AndroidKiller的咖啡杯按钮
TIM截图20190530143345.png
会自动帮你转化为java代码,如果这时候你提示源码丢失请按照这个帖子https://www.52pojie.cn/thread-646293-1-1.html 再认真做一遍。
源码打开后,AK会自动打开jd-gui程序,在该程序页面,我们搜索之前的资源id 0x7f0f009f,但是我们不能直接搜索了,我们要将其变为10进制后进行搜索0x7f0f009f的10进制为 2131689631,按ctrl+f,搜索得到

TIM截图20190530143949.png

可以看到代码被混淆了,但是对于有经验的开发人员来说,这个混淆功能和没混淆一样,我们可以大胆的猜测这个功能只是个弹框,里面有点击等相关逻辑,其他没什么重要信息。

所以,我们重点应该放在哪个地方调用了它,搜索FI()这个方法,查看哪里调用了。得到这个方法
TIM截图20190530144240.png
bingo,直觉告诉我们就是这里了,判断(!this.mUserLevel.equals("2")) && (!this.mUserLevel.equals("4"),如果用户等级不够,就弹框告诉用户这个功能需要特权用户,然后代码return掉,不在请求投屏,所以我们要做的就是改掉这段逻辑,但是直接修改java代码是肯定不行的,我们要回到smali代码中。
打开AndroidKiller,找到FN()方法
TIM截图20190530144553.png
然后阅读smali源码,并参考java源码,按道理我们只需要屏蔽掉弹框 和return语句即可。
怎么屏蔽呢,万能的#符号,这个符号和java的//一个意思,表示注释掉这段代码,所以修改方法如下:
TIM截图20190530144848.png
关于smali语法的知识这里不过多解释,可以自行百度学习,这里就默认为你有一定的smali语法知识了。
屏蔽完这段代码,我们就可以打包测试了,打包之前记得按一下ctrl+s保存一下代码修改
TIM截图20190530145355.png
编译过程中你可能会遇到这个问题 Android Killer回编译错误:No resource identifier found for attribute 'keyboardNavigationCluster'......参考一下这个链接解决 https://blog.csdn.net/weixin_34115824/article/details/87328652
编译完成后,会自动进行签名,然后点击AK面板上的安装按钮
TIM截图20190530145404.png

会进行安装,在此之前请打开你的手机链接电脑,并开启了开发者模式usb安装。
安装完毕,打开
很不幸,遇到了这个问题
TIM截图20190530145626.png
很显然,我们遇到了签名校验。所以接下来,我们开始破解签名校验,方式和上面的如出一辙

破解APP的签名校验功能

打开AK(以后下面均只AndroidKiller),搜索您的安装包异常,可以看到搜索结果为
TIM截图20190530145848.png
不要灰心,记得上面说把汉字改为Unicode格式吗,我们转化一下重新搜索,binggo,搜索到了
TIM截图20190530145951.png
双击打开,点击咖啡杯,查看java源码
TIM截图20190530150112.png
可以看到if语句里的Eh()方法,所以这个方法就是突破点,搜索找到这个方法查看源码:
TIM截图20190530150228.png
对于原生安卓开发人员来说,看到SHA1这个,大概率就是签名校验了,所以破解签名校验的关键就是干掉这个方法或者让它永远返回true,我们选择干掉这个判断语句。也就是if(Eh()).......万能的#
屏蔽代码如下:
TIM截图20190530150701.png
保存--->编译--->安装--->运行
没问题了,不再提示安装包异常,打开视频播放页,点击投屏
TIM截图20190530151004.png
完美,已经可以投屏,由于我是模拟器,就不演示了,我自己用手机投屏测试,没问题。
至此 我们完美破解了VIP的投屏功能,签名校验功能。
接下来,我们将破解VIP的下载功能,代{过}{滤}理校验功能,开屏广告以及弹窗广告,穿插广告
篇幅有点长,放在下一篇。

免费评分

参与人数 3吾爱币 +15 热心值 +3 收起 理由
azui007 + 1 + 1 用心讨论,共获提升!
wstclzy2010 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qtfreet00 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| nbwzlyd 发表于 2019-7-18 20:12
z5487693 发表于 2019-7-16 14:05
感谢楼主分享!那个j2s2j工具转换的代码多一点就好慢啊,也不知道是不是卡了还是需要很长时间

这个就不知道啦,一般情况下就是不懂的时候写一下类似的smali代码就行,没写过很长的代码
Hmily 发表于 2019-6-14 18:37
nbwzlyd 发表于 2019-6-14 18:35
我看都能显示啊

你那是缓存,清空下浏览器缓存就知道了,或者ctrl+F5刷新。
Hmily 发表于 2019-6-14 18:30
 楼主| nbwzlyd 发表于 2019-6-14 18:35
Hmily 发表于 2019-6-14 18:30
图片盗链了,上传下本地吧。

我看都能显示啊

点评

你那是缓存,清空下浏览器缓存就知道了,或者ctrl+F5刷新。  详情 回复 发表于 2019-6-14 18:37
 楼主| nbwzlyd 发表于 2019-6-14 18:39
Hmily 发表于 2019-6-14 18:37
你那是缓存,清空下浏览器缓存就知道了,或者ctrl+F5刷新。

好的,修改一下
llkbkh 发表于 2019-6-14 18:54
图片看不了
 楼主| nbwzlyd 发表于 2019-6-14 18:55

在处理,稍等
zd0415 发表于 2019-6-19 16:30
可以看到了,没问题
朱大海 发表于 2019-6-23 18:34
学习了!谢谢楼主!
z5487693 发表于 2019-7-16 14:05
感谢楼主分享!那个j2s2j工具转换的代码多一点就好慢啊,也不知道是不是卡了还是需要很长时间
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 19:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表