-
-
手机游戏广告条破解原理和APK加固保护方法
-
发表于: 2014-4-25 17:20 1193
-
1.广告条篡改原理
广告收入是单机版游戏最主要的收入来源,也是网络游戏的主要收入来源之一。不法分子可以通过反编译游戏客户端,直接用自身的广告条替换掉原有的广告条后,二次打包发布盗版版本,以盗版版本的广告条获利。
篡改的步骤如下:
步骤一:反编译APK
步骤二:篡改移除原有广告条或者插入自身的广告条
步骤三:二次打包发布
详细介绍如下文所示:
1.1反编译APK
使用apktool工具,反编译游戏apk逆向得到smali代码。
执行apktool.batd [apk_name] [output_folder_name]
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以得到如下的文件结构:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以很清晰的看到,有AD等目录。AD目录里面包含了广告相关的smali代码。
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
1.2篡改移除原有广告条或者插入自身的广告条
修改【\smali\com\outfit7\talkingtom\ad】目录下的a.smali
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以很清晰的看到,talkingtom里面的banner广告有很多组,其中标记为“adMob”的广告条,用的就是Google的AdMob广告,其实真实调用的【con/outfit7/talkingtom/ad/s】这个类。查看这个类的代码,可以看到:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
里面调用的是【com/google/ads/AdRequest】这个类。黑客只要将google的adRequest类修改为自身的广告条类以后,就可以完成相关的广告替换。
1.2二次打包发布
篡改完代码以后,使用apktool工具,编译smali代码得到新的apk。
执行apktool.batb [input_folder_name] [apk_name]
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
使用keystore证书,用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
至此全部完成。
篡改广告前后对比是:[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
2.APK加固保护方案
广告条被篡改,将给游戏开发者带来巨大的收入损失。
使用梆梆安全加固(http://www.bangcle.com/app/member_upload/)可以避免这种损失。
安全加固的步骤:
步骤1:将APK提交到梆梆安全的网站
步骤2:下载加固后的未签名APP
步骤3:使用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名。
在梆梆安全加固网站提交APP:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
加固完成下载后,使用apktool进行反编译时:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
进入目录后看到:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
代码都被保护起来了,只保留了梆梆安全加固壳的入口函数(该入口函数是梆梆安全的入口函数,和原来的没有任何关系)。而广告、业务等smali代码已经无法看到。确保了APK无法被篡改。
广告收入是单机版游戏最主要的收入来源,也是网络游戏的主要收入来源之一。不法分子可以通过反编译游戏客户端,直接用自身的广告条替换掉原有的广告条后,二次打包发布盗版版本,以盗版版本的广告条获利。
篡改的步骤如下:
步骤一:反编译APK
步骤二:篡改移除原有广告条或者插入自身的广告条
步骤三:二次打包发布
详细介绍如下文所示:
1.1反编译APK
使用apktool工具,反编译游戏apk逆向得到smali代码。
执行apktool.batd [apk_name] [output_folder_name]
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以得到如下的文件结构:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以很清晰的看到,有AD等目录。AD目录里面包含了广告相关的smali代码。
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
1.2篡改移除原有广告条或者插入自身的广告条
修改【\smali\com\outfit7\talkingtom\ad】目录下的a.smali
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
可以很清晰的看到,talkingtom里面的banner广告有很多组,其中标记为“adMob”的广告条,用的就是Google的AdMob广告,其实真实调用的【con/outfit7/talkingtom/ad/s】这个类。查看这个类的代码,可以看到:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
里面调用的是【com/google/ads/AdRequest】这个类。黑客只要将google的adRequest类修改为自身的广告条类以后,就可以完成相关的广告替换。
1.2二次打包发布
篡改完代码以后,使用apktool工具,编译smali代码得到新的apk。
执行apktool.batb [input_folder_name] [apk_name]
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
使用keystore证书,用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
至此全部完成。
篡改广告前后对比是:[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
2.APK加固保护方案
广告条被篡改,将给游戏开发者带来巨大的收入损失。
使用梆梆安全加固(http://www.bangcle.com/app/member_upload/)可以避免这种损失。
安全加固的步骤:
步骤1:将APK提交到梆梆安全的网站
步骤2:下载加固后的未签名APP
步骤3:使用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名。
在梆梆安全加固网站提交APP:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
加固完成下载后,使用apktool进行反编译时:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
进入目录后看到:
[梆梆安全]游戏广告条被篡改原理和APK加固保护方法
代码都被保护起来了,只保留了梆梆安全加固壳的入口函数(该入口函数是梆梆安全的入口函数,和原来的没有任何关系)。而广告、业务等smali代码已经无法看到。确保了APK无法被篡改。
赞赏
看原图
赞赏
雪币:
留言: