地图浏览器-vip分析
2023-2-9 18:0:20 Author: 看雪学苑(查看原文) 阅读量:10 收藏


本文为看雪论坛优秀文章

看雪论坛作者ID:pangzhen

好多类似的vip



去除vip


有两种架构的so,v7a对应32位,v8a是64,现在几乎都没有32位的手机,直接改v8a就够了,v7a的修改方法也是一样。

ida64 加载v8a的libovitalMap.so,直接搜vip。


再搜isvip,进入函数,可以看到变量v9的最小值是0,只要把变量v2改为0就可以,v2对应的是寄存器w19。

v9和v2的比较是在这里:

赋值在这里:

在线汇编转机器码

然后修改

就变成vip了。


其他几个vip函数也是类似这样。


修改签名校验

修改后要重新打包签名,不是原来的签名证书则md5自然不同,so做了签名校验,md5不一样的话地图显示不出来,所以还要改签名校验。

用keytool看下原来的签名,md5是8D开头。

搜字符串“getPackageInfo”,可以看到在CheckApkSigMd5这个函数里校验,签名相关的函数都在一起,而且md5也在这里,直接把md5换成自己签名证书的就可以了。

是在这里校验,所以替换为自己打包的签名证书md5。


去除错误弹框

现在已经把vip的限制都去掉,之前的提示购买vip弹框没有了,功能正常使用,但遇到一个问题是主界面右上角的相机可以正常使用,拍完照片或录像后会弹出“未知错误”的对话框,所以要找到弹框的原因然后才能去掉。

那就搜“未知错误”,在安装包的res里搜不出这个字符串,用bytecode viewer在smali代码里也没找到,那就只有在so里了。

既然是在so里,显然是通过jni接口取字符串,随便点开几个smali文件看下,都是调用com.ovital.ovitalLib.h.i这个函数取字符串,用Android studio调试一下,在这个函数打个断点,看下哪里用了“未知错误”这个字符串然后弹出这个错误框。

调试后可以找到代码在这里,分析弹框原因是NewPhotoSaSign返回0,y50.j3是弹出对话框。这个NewPhotoSaSign貌似跟登录信息有关,毕竟是假vip没有登录的,所以不纠结这个,直接把弹框注释掉,不影响本地使用。


添加crack信息

版本

在ida搜字符串“当前软件版本”,就可以找到对应的key值是UTF8_CUR_SOFTWARE_VER,然后在bytecode viewer里搜key值就能找到对应的代码。


注释掉原来的,重新改下。

关于


在so里搜这个页面的一些字符串,发现是字符串是整个HTML页面,那就直接在字符串里面改就行。改动比较多,用010editor方便,可以直接写字符串。

下载地址

链接:https://pan.baidu.com/s/1s7qCwj5qBTfAIMhhVsP_Yg 

密码:38iy

仅供研究。

看雪ID:pangzhen

https://bbs.kanxue.com/user-home-330052.htm

*本文由看雪论坛 pangzhen 原创,转载请注明来自看雪社区

# 往期推荐

1.CVE-2022-21882提权漏洞学习笔记

2.wibu证书 - 初探

3.win10 1909逆向之APIC中断和实验

4.EMET下EAF机制分析以及模拟实现

5.sql注入学习分享

6.V8 Array.prototype.concat函数出现过的issues和他们的POC们

球分享

球点赞

球在看

点击“阅读原文”,了解更多!


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