手机游戏广告条破解原理和APK加固保护方法
1.广告条篡改原理
广告收入是单机版游戏最主要的收入来源,也是网络游戏的主要收入来源之一。不法分子可以通过反编译游戏客户端,直接用自身的广告条替换掉原有的广告条后,二次打包发布盗版版本,以盗版版本的广告条获利。
篡改的步骤如下:
步骤一:反编译APK
步骤二:篡改移除原有广告条或者插入自身的广告条
步骤三:二次打包发布
详细介绍如下文所示:
1.1反编译APK
使用apktool工具,反编译游戏apk逆向得到smali代码。
执行apktool.batd [apk_name] [output_folder_name]
可以得到如下的文件结构:
可以很清晰的看到,有AD等目录。AD目录里面包含了广告相关的smali代码。
1.2篡改移除原有广告条或者插入自身的广告条
修改【\smali\com\outfit7\talkingtom\ad】目录下的a.smali
可以很清晰的看到,talkingtom里面的banner广告有很多组,其中标记为“adMob”的广告条,用的就是Google的AdMob广告,其实真实调用的【con/outfit7/talkingtom/ad/s】这个类。查看这个类的代码,可以看到:
里面调用的是【com/google/ads/AdRequest】这个类。黑客只要将google的adRequest类修改为自身的广告条类以后,就可以完成相关的广告替换。
1.2二次打包发布
篡改完代码以后,使用apktool工具,编译smali代码得到新的apk。
执行apktool.batb [input_folder_name] [apk_name]
使用keystore证书,用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名:
至此全部完成。
篡改广告前后对比是:
2.APK加固保护方案
广告条被篡改,将给游戏开发者带来巨大的收入损失。
使用梆梆安全加固(http://www.bangcle.com/app/member_upload/)可以避免这种损失。
安全加固的步骤:
步骤1:将APK提交到梆梆安全的网站
步骤2:下载加固后的未签名APP
步骤3:使用【梆梆签名】bangclesigner(http://www.bangcle.com/static/tools/bangclesigner.rar)进行签名。
在梆梆安全加固网站提交APP:
加固完成下载后,使用apktool进行反编译时:
进入目录后看到:
代码都被保护起来了,只保留了梆梆安全加固壳的入口函数(该入口函数是梆梆安全的入口函数,和原来的没有任何关系)。而广告、业务等smali代码已经无法看到。确保了APK无法被篡改。
手机游戏广告条破解原理和APK加固保护方法相关推荐
- [梆梆安全]游戏广告条被篡改原理和APK加固保护方法
1.广告条篡改原理 广告收入是单机版游戏最主要的收入来源,也是网络游戏的主要收入来源之一.不法分子可以通过反编译游戏客户端,直接用自身的广告条替换掉原有的广告条后,二次打包发布盗版版本,以盗版版本的广 ...
- java老版手机游戏合集破解
一.前言 最近刚读完一本书:<Netty.Zookeeper.Redis 并发实战>,个人觉得 Netty 部分是写得很不错的,读完之后又对 Netty 进行了一波很好的复习(之前用 sp ...
- Android之高仿京东APP首页“京东快报”自动向上滚动的广告条
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51013562 本文出自:[顾林海的博客] ##前言 上次在京东APP上 ...
- 手机游戏逐成移动互联网应用领域“弄潮儿”
若问当下移动互联网什么最火?不少人给出的答案是3G应用.而再进一步问当下什么3G应用最火?十有八九的人给出的答案是手机游戏.无疑,手机游戏已经成为了移动互联网领域的弄潮儿. 照亮3G发展的一线曙光 随 ...
- 【干货#011】小程序页面滚动实现广告条隐藏
缘起 小程序需要在手机狭小的屏幕中放入尽量多的内容,而老板想在在页面放个广告条,由于挤占了不然就不大的页面控件,对程序的功能操作又有较大的影响.如何兼顾两者的需求? 下面介绍一种默认显示页面首部广告条 ...
- 仿京东首页的京东快报,自动向上滚动的广告条
向上滚动的广告条 实现原理 起初看到这个效果时,第一个想法就是向上移动动画+定时器,但当我准备写时发现,滚动时上下文字都是逐渐出来的(有点像滑动的),如果用动画的话不行,如果用滑动的话,那就是List ...
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
前言 相信这样一个问题,大家都不会陌生, "有什么的方法可以使Android的程序APK不用安装,而能够直接启动". 发现最后的结局都是不能实现这个美好的愿望,而腾讯Android ...
- 学习手机游戏原画设计需要多长时间?难学吗?
首先是大家都感兴趣的话题,新手学习游戏原画设计需要多长时间?难学吗?现在的游戏市场上包括大家所接触接触到的几种画风中有:国古设计风格.韩式设计风格.Q版设计风格等这几种风格是大家接触比较多一些的. 如 ...
- deepin linux运行apk,在Deepin 20.1 Linux系统下用Wine游戏助手来运行原神
本文介绍在Deepin 20.1 Linux系统下用Wine游戏助手运行原神游戏的方法.经测试,是可以用Wine来运行原神的,但是方法不对,即使能安装完成也很难运行起来,或者运行后很容易就崩溃.以下方 ...
最新文章
- 控制寄存器(CR0,CR1,CR2,CR3,CR4)
- jsp图片墙_JS实现的非常漂亮的3D立体照片墙显示效果
- linux中original_如何在 Linux 中整理磁盘碎片
- 二叉树的层次遍历_【腾讯面试热身题】二叉树层次遍历(动画展示)
- FutureTask源码
- 【置顶】方立勋JavaWeb学习地址
- 解决phpcms模版设置中不能显示栏目首页模板,栏目列表页模板,内容页模板等下拉菜单选项的问题!...
- linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
- C++字符串处理小结
- 数据库系统原理及mysql应用教程_数据库系统原理及MySQL应用教程
- adobe mac怎么卸载 ?彻底卸载Adobe Mac软件的正确做法
- 互联网大佬生存法则 如何防守周鸿祎
- Linux环境下获取硬盘序列号
- IOS – OpenGL ES 图像鱼眼扩散效果 GPUImageBulgeDistortionFilter
- 用java判断三角形类型_判断三角形类型
- 记录下echarts Map3D地图渐变
- Node.js详细下载与安装
- Linux下分割、合并PDF(pdftk)
- c语言 substr,如何在C语言实现substr()
- micropython stm32f429 tft_基于STM32F429的TFT0.96屏幕驱动
热门文章
- html5文件io,html5plus io模块resolveLocalFileSystemURL 异步操作的问题
- 使用Koala编译LESS文件
- LINUX系统更改系统时区
- 小数据池/is和==/再谈编码作业
- springboot集成shiro RememberMe 报错 RememberMe services will not be performed for account
- 2022年12月电子学会Python等级考试试卷(三级)答案解析
- 美伊战争_战争不是答案
- Python+Celery实现基于Fastnetmon异常流量清洗
- 阿里集团IPO估值千亿
- 小黄车退押金?池对象模式(Object Pool Pattern)来吐槽