【文章标题】:Samp免流软件以及地铁跑酷的自校验分析
【文章作者】: Ericky
【作者博客】: http://blog.csdn.net/hk9259
【下载地址】: 自行百度
【保护方式】: 自校验
【作者声明】: 本人水平有限,若有不足错误之处请指正
0x1前言
群里讨论的两款软件的自校验,一開始有人说是签名校验,并且说找不到地方,以下就说一下我的拙见。若有错误之处,望各位大侠不吝指正
0x2样本一
Samp免流软件–版本号1.96
在Mainactivity中的Oncreate方法中可发现一些多的代码:
删除上述两句。往下分析。发现所谓的“签名校验”实质例如以下:
所谓的“签名校验”事实上就是取了整个apk的大小,大小若改变了则推断为盗版APK,因此之须要奖之前的包大小return回去就可以达到目的。
最后再删掉XML中的例如以下多余代码:
<meta-data android:name="BANGCLE_SDK_VERSION" android:value="1005" />
<meta-data android:name="BANGCLE_APP_KEY" android:value="web_194926" />
<receiver android:name="neo.proxy.DistributeReceiver" android:exported="false">
<intent-filter> <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="com.secneo.plugin.action.HOURLY" />
<action android:name="com.secneo.plugin.action.DAILY" />
<action android:name="com.secneo.plugin.action.APP_STARTED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="com.secneo.proxy.action.CUSTOM" />
</intent-filter>
</receiver>
<service android:name="neo.proxy.FastService" android:exported="false" />
<activity android:theme="@android:style/Theme.Dialog" android:name="neo.proxy.ToolActivity" android:excludeFromRecents="true" android:launchMode="singleInstance" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="com.secneo.proxy.action.CUSTOM" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
BB加固的校验就完美去除,剩下的就是破解的事情了。
0x3 样本二
地铁跑酷游戏–版本号2.34
重打包后会出现例如以下提示:
搜索后发现并不能搜到keyword,试着搜索一下”download”,便定位到了关键类例如以下:
接下来的就是将全部fake引用值改为false就可以完美绕过去了。一共同拥有四处,当中一处例如以下:
0x4 总结
去自校验定位非常重要。而不不过看别人的文章后学会搜Signature。
由于自校验并不止签名一种方式。还有一方面来说,绕过自校验也不一定须要知道检測签名的函数。
By Ericky
2015.7.25