Android安全交流群:478084054
之一次尝试做一些简单的逆向分析,内容比较简单,高手们莫见笑。
“贪吃蛇大作战”这个游戏最近玩的人挺多,我也在玩。5分钟限时版,更好成绩也就3000多。
我分析的版本是v2.0.1:
经过修改,玩了一把5分钟限时赛:长度69224,击杀1456。
将原包重新签名,安装到手机上,一直提示 *** 无法连接,原包没有问题。这里很明显是将签名信息上传到了服务器端,在服务器端进行了签名校验,校验失败则断开与此客户端的连接。
写一个小程序进行注入(利用ptrace),对一些关键函数进行hook,比如libc.so的fopen函数。
在hook_entry中,对libc.so的fopen作inline hook,监测一下程序都打开了哪些文件。
我本意是想看看,它是否会在运行时直接去读取apk包,自己解析其中的与签名信息相关的文件。结果是没有,但发现它一直在读cmdline文件,猜测可能是在作反调试(未去证实,因为后面的分析和修改并未借助动态调试)。
这里说一下,假设它是自己打开apk文件,从中读取与签名相关的文件,提取签名信息。那么我们可以在某个位置放一个原包,然后hook关键函数,将其读取的文件路径修改为原包位置,即可绕过这种签名校验。
举一反三,这种方式也可以绕过大部分反调试措施。比如常见的检测traceid是否非0的反调方式,我们可以hook fopen/open,然后在它要读取该文件之前先读取该文件,并将其traceid重新修改为0,并将其写到sd卡某个目录下,再将打开文件的位置重定向到该文件,那它就检测不到ptrace了。
还有一些anti-hook机制,大概思路是校验本地文件的数据和加载到内存中的数据是否一致。通过类似方式也可以轻松绕过,一句话,因为我们可以先注入,先完成hook,先做各种Anti-anti。
因为它没有在运行时直接fopen/open apk文件,所以考虑应该还是通过调用系统api读取的签名信息。
将原包解压,发现只有两个so,其中libweibosdkcore.so看起来是微博sdk。将另一个libJustATest.so拖到IDA中看一下,没加壳,并且只看到xxx_getATestString这么一个有用的导出函数,从名字上看,很可能就是获取上传到服务器端的校验字符串。
跳转到该 *** ,f5,进行一些简单的参数名和参数类型以及函数调用的修正。发现它里面进行了一大通的各种字符串的拼接,最后将该字符串返回(根据之前的猜测,该字符串可能就是发送给服务端的校验字符串)。
发现里面调用了java层com.wepie.snake.helper.update.QiniuEtagUtil类的getSignString函数。用AndroidKiller反编译一下APK包(该APK没有作任何防反编译的措施,dex也没加壳),找到getSignString函数。
没错,就是在这里调用系统API获取的签名(其实,我们可以一开始就全局搜索某些关键API,来定位获取签名的位置)。
借助xposed hook getSignString *** ,将正确的签名字符串通过日志打印出来。
正确的签名字符串是(作了MD5计算后的结果):678a930b9829b54a44f92a840916f7d1
剩下的工作就简单了,修改 *** ali,将getSignString的返回结果固定为上面的这个正确的签名字符串。
重新编译、打包、签名、安装,发现用新签名的APK包已经可以正常使用了。
其实破解签名校验之后,基本上是想改什么改什么了,因为原包没有做任何的加壳和混淆的工作。比如,看看下面这个类,应该知道怎么下手了吧(修改的时候注意一下,它里面好像有一些简单的数据合理性校验之类的东西,我没细看)。
最后,大家学习就好,别做什么破坏,也别释放出什么破解版之类的东西。初次尝试一点简单的逆向分析,大牛们绕过吧。
附:我认为现在so端最有用的加固措施是llvm混淆,因为普通加解密壳从机制上来说比较容易脱掉。dex端已经出现了解释器壳(伪vmp),纯粹的类抽取的话,通过自定义rom(定制dalvik或art,遍历class_def加载并初始化,然后dump…)也可以脱掉大部分的。
《贪吃蛇大作战破解版》(不用实名认证)
是一款是一款非常经典的以贪吃蛇为主题的休闲竞技游戏,真人对战,海量游戏玩家都在玩哦,《贪吃蛇大作战破解版》(不用实名认证)进入游戏可以直接开始玩不用实名认证,玩家碰到墙也不会挂掉,喜欢的玩家就赶快来下载贪吃蛇大作战2022破解版最新版玩吧。
我的世界(Minecraft):
《Minecraft》是由Mojang AB和4J Studios开发的高自由度的沙盒游戏,于2009年5月13日发行。2014年11月6日,该游戏被微软收购。2016年网易取得了该游戏在中国的 *** 权。
该作以每一个玩家在三维空间中自由地创造和破坏不同种类的方块为主题。玩家在游戏中可以在单人或多人模式中通过摧毁或创造方块以创造精妙绝伦的建筑物和艺术,或者收集物品探索地图以完成游戏的主线。
2011年Minecraft获GT年度评选年度更佳创新奖。
2017年3月,中国大陆 *** 商“网易”正式确定Minecraft中文名为《我的世界》
中文名
我的世界
原版名称
Minecraft[1]
其他名称
麦块、MC、当个创世神(台)
贪吃蛇大作战:
百度百科
精彩视频介绍
79.5万 1'2"
贪吃蛇大作战
《贪吃蛇大作战》[1]一款休闲竞技游戏,不仅比拼手速,更考验玩家的策略。在贪吃蛇大作战的世界中,每个人在初始都化身为一条小蛇,通过不断努力变得越来越长,最终成为最贪吃的无双巨蛇。
软件名称
贪吃蛇大作战
开发商
Wuhan Weipei Network
软件平台
iosAndroid
可以看b站的直播不收费app有哪些 1、* **斗鱼直播。**斗鱼直播是一款24小时观看b站直播的软件,支持PC端、移动端,主要用于观看斗鱼直播节目和实时直播活动,支持观众参与现场活动,提供流畅、稳定...
规范招生:为县中振兴构建良好生态 县中对县域文化教育事业乃至经济社会发展的影响不言而喻。中国有2800多个县,县中容纳了全国普通高中在校生的一半人数。县域教育是中国教育的底色,这些学生的教育状况关乎中...
如何在苹果手机上下载破解版游戏? 可以在苹果手机上的应用商店里面下载这种破解版的游戏,嗯,玩起来非常刺激,惊险,但是一定要成年人才可以玩到的,必须实名认证苹果怎么下载破解版游戏 手机:iPhone12...
欧美黑客题材的电影有哪些推荐? 这绝对是最值得一看的10部黑客电影岂安科技 2016-08-12 11:33一个场景:黑客掏出笔记本,插上网线接入某种很厉害的系统,双手不停敲击键盘(永远不屑于用鼠标)...
英雄传说6 空之轨迹SC 能玩,得用模拟方式+拔光驱线的方式玩。英雄传说6-特别攻略Eiyuu Densetsu 6 Sora no Kiseki 特别功略 序章 - 父、旅立つ: 故事开篇,女主角艾...
录屏软件怎么过防录屏系统? 这个一般时你录制的内容,人家设置了禁止了录屏软件录制。有个想法你试试,安装虚拟机,然后在虚拟机中使用播放器播放,因为有些加密视频是会结束掉当前系统的一些桌面软件,应用软件只...