服务粉丝

我们一直在努力
当前位置:首页 > 科技 >

初探Android逆向:通过游戏APP破解引发的安全思考

日期: 来源:北京时间收集编辑:签名

如今移动互联网已经完全融入到我们的生活中,各类APP也是层出不穷,因此对于安卓APP安全的研究也尤为重要。本文通过对一款安卓APP的破解实例,来引出对于APP安全的探讨。(本人纯小白,初次接触安卓逆向一星期,略有体验,在这里分享一下)

本次破解的安卓APP是某款射击类游戏,我们发现在游戏里面有购买补给的功能,那么我们就针对这个功能进行破解,旨在达到免费购买。

首先,对该游戏进行还原,即反编译。反编译后可以查看该APP的配置文档、算法逻辑等,方便我们对其进行分析。在这里,我们使用工具AndroidKiller来对其进行反编译。

通过上图,可以看到APP的组成部分。我们只需要关注smali文件,因为Smali是安卓系统里的 Java 虚拟机(Dalvik)所使用的一种 dex 格式文件的汇编器。我们可以通过smali文件来查看APP的伪代码,从而了解其算法逻辑等。

接下来就是找到APP支付的入口,可以通过搜索success、pay、paid等关键字符串来找到相关文件。

点进这个文件进行查看,我们可以看到一些与支付相关的字符串,猜测这里可能就是支付函数的入口,至于到底是不是,我们接着看下面。

这些smali语句可能看着晦涩难懂,没关系,我们可以通过AndroidKiller将其转化为我们熟悉的java代码。

这里是一个switch语句,可能是对支付功能做的一些判断。我们可以看到这里有个MiguPay函数,这个函数到底是干什么的呢?点击MiguSdk类,可以跳转到MiguSdk类。

我们可以看到该方法里调用了 runOnUiThread 方法,其参数中有涉及另外一个类MiguSdk.2,跟着这个方法继续跳转下去。

令人惊喜的一幕出现了,我们可以看到“购买道具”“成功”等字符串,到这里差不多就可以肯定这里就是与支付相关的方法了!好了,我们又跳转到之前switch判断的函数。

之前我们看到,当调用GMessage.success()时,就是说明购买成功。而这里的:pswitch_0语句就是发送的GMessage.success()。这就意味着,如果所有的判断语句都和pswitch_0里执行的一样,那么是不是所有的条件都能购买成功呢?我们试试,将所有的:pswitch_x全部改为pswitch_0。

用AndroidKiller对该APP进行打包签名,安装测试!

安装失败!提示签名校验不通过!看来该APP进行了签名校验,所谓的签名校验就是为了防止自己的应用被反编译后重新打包。那么有没有方法进行绕过呢?当然有!其实签名校验一般写在native层so文件里,或者是java层。通过搜索SignKey、Signature等关键字符串,一般可以找到签名校验的入口。以下文件就是判断签名的so文件里的相关函数,利用工具IDA转换为C语言的伪代码。

从上图可以看出,最后做了个if语句的判断,那么我们直接用十六进制编辑器将return语句直接改为return true。最后再次编译打包该APP,ok!破解成功!

思考:开发一个有商用价值的APP,无疑是需要大量的精力的,如果APP能被轻易破解,那带来的损失肯定是让人无法接受的。因此对于APP的安全防护显得至关重要。关于APP逆向的安全机制,一般有以下几种:

代码混淆:对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。签名校验:比较用来签名app的证书的hash与我们写死在其中的hash是否一致。加壳处理:在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。

相关阅读

  • 硬核小队出招,恶意代码服不服?服!

  • 代码也能查重?恶意程序如何检测?电脑防火墙怎样加固?来自国家网络安全学院的参赛队伍提出使用深度学习方法解决恶意脚本相似性问题快和珞珞珈珈一起跟随他
  • 城记 | 十八个人的小镇

  • 从赫斯特古堡返回洛城的途中,陪同我们的郑先生,有些炫耀地对我们说,“再让你们诸位中国作家、学者看看只有12人的小镇,怎么样?”没等我们反应,郑先生进而又吊
  • 国博文物修复师与“天书”的故事

  • 引子在国家博物馆,珍藏有一件被称为“天书”的藏品,这就是《政协第一届全体会议代表签名册》2021年春天,国博文保院的文献复制团队接到了一项特别任务,为重
  • 00后在玩一种很新的东西…有多牛?

  • 饭圈、绘圈、转笔圈、语C圈……这届年轻人拥有许多基于兴趣划定的社交圈。这些看起来新潮甚至有些奇妙的爱好“同温圈”,正在由00后重新构建。画一张动
  • 全国一等奖!为肇庆这3名学子点赞!

  • 喜讯!喜讯!在第24届中国机器人及人工智能大赛-Apollo城市道路自动驾驶虚拟仿真赛中,肇庆3学子斩获一等奖!他们就是来自广东理工学院的大四学子冯子渊、肖新

热门文章

  • OPPO k1的低价高配真实么?网友:不看不知道

  • 近日OPPO一款新机OPPO k1,摒弃了高价低配,就连自家老大哥r17都要怼一下。更是放弃了请代言人,以往的OPPO手机还没出来,各路流量小生,花样美男的代言就先来了。还有线下销售人员的
  • 一招教你手机无限制成为一台新设备

  • 大家平时用手机去注册app,肯定会遇到检测设备异常,交易关闭,等问题 这个都是手机已经不止1-2次注册过此app,不断更换手机仅是一个暂时的方法,却不是长久之计,手机总归会用完
  • 从零开始如何开网店

  • 随着互联网的高速发展,人们的生活发生了翻天覆地的变化,生活节奏越来越快,网购已经成为家家户户生活中离不开的一种购物方式了。网购的发展使得越来越多的人想要涉足电商事业,那

最新文章

  • 细数赤坎华侨古镇风流人物 爱国爱乡底色浓

  • 赤坎华侨古镇一角。中国历史文化名镇赤坎,一座百年华侨古镇,文化昌盛,人才辈出。这里有心系桑梓的爱国华侨,有奋身救国的革命志士,有心怀家国的名人画家,他们在政界、商界、文艺界
  • 高原重升烟火气

  • 周末,记者走进位于西藏拉萨市城关区的万达广场三楼,空气中弥漫着各种食物的香味儿;万达影城售票大厅滚动播放着《阿凡达2》的场次,前来观影的人正有序进入;各种服饰专卖店里,消费
  • 曲阜“黄河大集”开张!曲阜特产、儒家味道

  • “灶糖是一种又粘嘴又粘牙的麦芽糖,把它抽为长条型的糖棍称为‘关东糖’,拉制成扁圆型就叫做‘糖瓜’……”1月8日,曲阜市石门山镇“黄河大集”春节季活动拉开帷幕,活动现场,灶糖