热门游戏<开心消消乐>的“加壳”诡计!!
2015-12-24 17:29
218 查看
好久没搞游戏了,前几天看了又重新看了看<开心消消乐>的1.29最新版..于是故事开始了:
其次,清单文件AndroidManifest.xml中的多个Activity都能在smali_classes2文件定位到.smali文件,真正是由于方法过多正常分离出2个dex的apk,Application和主Activity的Smali文件会在第一个dex中。
所以可能是伪装成“加壳”的诡计!!
通过修改、测试,只需三步就可以将任意大小的apk改造成含有2个dex的伪装加壳的apk:
第一步:将需要修改的apk反编译,重命名smali->smali_classes2,将我提供的smali复制到反编译根文件夹;
第二步:修改清单文件AndroidManifest.xml的application入口修改为:android:name="com.happyelements.security.shellguard.ShellApplication"
第三步:回编配置的最后一行“DexMaps: {}”修改为:
1.反编译分析
首先使用Androidkiller进行反编译,得到两个Smali代码文件夹:mali和smali_classes2。到这觉得挺奇怪的,因为一个游戏客户端,基本都是引擎编写的,如主流的Cocos2dx、Unity3D等,主要代码是C/C++/C#或者一些脚本、图片。无论apk本身有多大,Java逻辑都不会很多,极少编译出现2个dex,就像一些大型的应用客户端2个dex才是普遍的现象。其次,清单文件AndroidManifest.xml中的多个Activity都能在smali_classes2文件定位到.smali文件,真正是由于方法过多正常分离出2个dex的apk,Application和主Activity的Smali文件会在第一个dex中。
所以可能是伪装成“加壳”的诡计!!
2.验证测试
既然全部的源码都在smali_classes2中,那我们就把smali_classes2->smali,将原来貌似壳文件的smali删除,然后搜索“.super Landroid/app/Application;”,修复下application入口,回编安装,游戏并不奔溃,而是弹出了签名验证的正常提示,说明程序没问题。确实为“加壳”诡计!!3.移花接木·化为己用
Android最大的特点就是可偷。既然它把技术诚心诚意的放出来了,我们就移花接木到自己的APP上啊。。通过修改、测试,只需三步就可以将任意大小的apk改造成含有2个dex的伪装加壳的apk:
第一步:将需要修改的apk反编译,重命名smali->smali_classes2,将我提供的smali复制到反编译根文件夹;
第二步:修改清单文件AndroidManifest.xml的application入口修改为:android:name="com.happyelements.security.shellguard.ShellApplication"
第三步:回编配置的最后一行“DexMaps: {}”修改为:
DexMaps: classes2.dex: smali_classes2如下图,将一个大小为72K的apk改造成两个dex:
相关下载
链接: http://download.csdn.net/detail/zihao2012/9375835 可以对比..相关文章推荐
- win8及以上系统的.NET Framwork3.5的安装
- 矩阵奇异值分解(SVD)及其应用
- 主从复制
- ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)
- 快速排序的理解
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- LNMP.org一键安装包
- python的HTMLParser
- 销毁其他进程的弹窗
- 软件工程学期总结
- Qt学习(12)
- ASP.NET RepeatLayout 属性
- 【转】IO流程
- centos下安装架设thinkphp3.2.3(windows去访问局域网中的centos中的站点)
- Linux---vim编辑器
- windbg 脚本命令实例