Apk静态分析
来源:互联网 发布:网络摄监控系统图 编辑:程序博客网 时间:2024/05/22 12:17
Apk静态分析
最近在看smali语句,所以就试着利用些皮毛知识,简单的做个实验~~
实例
测试apk
- 地下城魔女v1.0.8
- 地下城魔女v1.0.8
破解工具
- Androidkiller1.03
- Apkhelper
- Winwar
- 海马玩模拟器
测试目的
利用smali语法,修改反编译后的apk,达到原始版本中绕过强制安装7723游戏盒子的功能。
测试过程
- 原始apk运行截图
原始apk安装后,必须强制安装7723游戏盒子之后才能开始游戏,很流氓。。截屏如下:
下面进行破解:
- 绕过7727游戏盒子的安装
Androidkiller反编译apk
注意:由于要使用Androidkiller工具,apk文件名不宜过长,所以简写为dxc.apk
根据入口activity进行查看:
通过jar可以查看java语言:快速搜索定位到oncreate()方法中,发现里面调用了isAppInstalled()方法,该方法中有一个包名“com.upgadata.up7723”,可以大胆猜测这就是强制要安装的7723游戏盒子的apk包名,然后再到Androidkiller中去搜索关键字com.upgadata.up7723(这句话是废话,只是阐述一下思路)发现并没有找到有用的方法和7723游戏盒子的apk,所以就去assets文件夹中找找。
Assets文件夹在Android开发中一般都是存放一些隐秘性的资源文件。
打开assets文件发现里面了7723box_pjz.apk的安装软件。
再利用apkhelper查看一下这个7723box_pjz.apk。(apk提取方法:将dxc.apk修改后缀名为dxc.zip,然后找到assets/temp_dt目录下,解压出7723box_pjz.apk)
以上的所有操作就是为了验证com.upgadata.up7723就是7723游戏盒子apk的包名。
下面就简单了,如下定位到isAPPInstalled方法中:
根据上图给的提示,在Androidkiller中修改对应的smali语句:
- 去除7727游戏页面
这个页面不是通过imageview直接加载drawble文件中的图片,而是将图片隐藏在so或者其他文件夹中,很难发现,并通过bin文件流的形式进行加载。修改步骤如下:
在入口activity中找到了这个bazhang.png的字段,但是找不到这张图,于是顺藤摸瓜找到这个字段所在的方法,寻找调用这个方法的地方:
找到bz.bin文件,最后定位到smali文件的具体位置,进行修改。
修改的方法有几种:
1、 可以直接将getImageFromAssets方法直接去掉
2、 直接将initLaunchView方法直接去掉
3、 去掉getImageView方法的调用
很显然,前面两种方法修改变动太大,牵连影响过大,第三种最适宜
运行结果:
- Apk静态分析
- apk静态分析
- Android APK 静态分析与动态分析
- 详解Androguard静态分析APK方法
- MobSF简单静态分析apk文件
- 【Android安全】APK静态分析-源码反编译逆向分析
- Android逆向之旅---静态分析技术来破解Apk
- Android逆向之旅---静态分析技术来破解Apk
- Android逆向之旅---静态分析技术来破解Apk
- Android逆向之旅---静态分析技术来破解Apk
- 【Android安全】APK静态分析-DEX反编译为Smali逆向分析
- 【Android SDK程序逆向分析与破解系列】之五:Android APK的静态分析
- 使用Androguard配合Gephi生成apk的函数调用图进行静态分析
- Android逆向之旅—静态分析技术来破解Apk
- 静态分析
- 只为分析APK。。。
- launcher.apk 分析
- Android APK 签名分析
- Codeforces Bulbs
- HttpURLConnection从网上下载图片
- 线程池简介
- java 以追加的方式写文件
- 贝叶斯分类器
- Apk静态分析
- 关于切图生成页面时,IE9以下浏览器,table包含的图片会有下补白的问题解决
- Uc页面加载完毕后页面字体变大
- Centos7四部快速安装配置可使用的vsftpd
- QT实现快捷键的三种方式
- Ubuntu16.04安装Docker1.12+开发实例+hello world+web应用容器
- RGB与HSB之间的转换公式
- CentOS6.6下的Nginx安装
- Android回调