您的位置:首页 > 移动开发

Android逆向之旅---虚拟位置定位APP破解

2018-02-01 00:00 2663 查看
PS:本文由「北城飘雪」同学撰写,感谢投稿,也欢迎其他同学热情投稿!
前段时间公司打卡需要使用某钉,而笔者又是个十分懒的人,不喜欢被公司的这种规矩约束,打卡需要先定位自己到公司的位置然后选择打卡,于是笔者想到了虚拟定位软件,但是使用中遇到了问题,虚拟定位软件总是很容易被检测到,从而导致打卡失败如:


而使用反检测功能的打卡软件通常都是收费的,比如某牛,动辄就收费100元。楼主尝试破解天下游,发现天下游是数字加固,脱了数字壳之后发现所有的方法都被混淆成了标点符号,楼主尝试按照四哥的方法写了hook代码,但是尝试一个星期均以失败告终,仍然没有hook成功,于是楼主决定了先放一放,换一款软件试一下,就有了今天的软件破解教程。
软件名称:虚拟位置定位精灵
第一步:我们先打开软件查壳


特征很明显,这是个Legu壳,脱壳的方法很简单,网上的教程也很多,这里就不赘述了,脱下壳之后我们拿到了dex文件。

我们先看一下破解思路,我们的目的是破解软件的VIP特权,软件的VIP功能涉及到唯一一种支付方式,支付宝,然后我们还发现个奇怪现象,软件的登录界面,竟然没有注册按钮


我们看到,当我们取消支付的时候,会弹出一个:支付失败  的信息


根据我们本能的想法,我们去搜索这个支付失败字符串,然而我们发现


根本没有搜索到这个字符串,可能到这里就犯了难,这可怎么办。没关系,学过破解游戏支付的可能知道,支付宝的API返回参数里有这么一组数字


其中9000代表的就是支付成功,所以我们按图索骥,在这个软件里搜索“9000”,果然不负所望,我们反编译看一下



发现程序是判断支付宝的返回码是不是9000,如果是9000就跳到一个新的页面,这个页面后来我们知道,就是注册页面,这个时候我们就可以输入我们的手机号进行注册了。破解方法很简单去掉判断即可

第二步:就是修复脱下来的程序,让程序可以运行
我们打开AndroidManiFest.xml文件,观察一下发现有这么一行代码


我们知道这是Legu壳改变了application的入口,把入口改成了com.tencent.StubShell.TxAppEntry,下面的 :<meta-data android:name="TxAppEntry" android:value="io.xudwoftencentmm.VApp"/>
则是对原入口进行了备份
既然我们知道了入口,那么对入口进行还原即可,首先我们将value值io.xudwoftencentmm.VApp提前复制出来,替换掉com.tencent.StubShell.TxAppEntry然后删除:<meta-data android:name="TxAppEntry" android:value="io.xudwoftencentmm.VApp"/> 这行代码保存即可如图:


 
然后将脱出来的classes.dex文件替换掉源文件中的文件,并对程序进行签名处理,运行一切正常。点购买后点左上角的叉叉,提示购买成功,然后弹出注册界面,输入账号密码后注册,最终效果如图:



严重说明[b]本文应用样本这里不会在公众平台中公开,涉及到安全问题,只在小密圈中开放,本文作者也在小密圈中,小密圈是一群人爱好学习的地方![/b]点击立即进入小密圈

手机查看文章不方便,可以网页看ht
aec8
tp://www.wjdiankong.cn

《Android应用安全防护和逆向分析》
点击查看图书详情

长按下面??二维码,关注编码美丽


编码美丽小密圈小密圈中汇集众神分享技术,所有源码、工具、破解样本、插件都汇集在小密圈中
---点击立即进入小密圈---
天若有情天亦老,我为逆向续一秒!,猛戳下方"阅读原文",购买安全逆向图书!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: