前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈微信smali注入

浅谈微信smali注入

作者头像
流川疯
发布2019-01-18 15:54:53
9270
发布2019-01-18 15:54:53
举报

作者:郭少雷

搞android搞了几年也没搞出个啥牛逼app出来,眼看时下最火的app微信如此火热,实在想搞搞它,索性就想着给它加点东西进去。

以下内容纯属本人个人爱好,仅限个人学习android用途以及对android的深入了解。

代码语言:javascript
复制
首先我们得想一想加点什么东西在微信里面,这里简单做个体验,加一个推送sdk至微信最新(6.5.7)apk包中,并由服务端控制向其推送消息。以下步骤依次讲解加入流程

1.申请推送平台

这里以个推为例并下载Getui_SDK;新建一Android Studio工程,包名同微信包名保持一致(com.tencent.mm),新建一PushActivity用于获取启动个推SDK的smali代码片段。依据个推sdk创建相应DemoIntentService和DemoPushService;

这里写图片描述
这里写图片描述

2.获取资源文件

生成工程apk后使用ApkTool反编译生成好的apk后得到以下smali代码及资源文件。反编译apk文件 命令:

代码语言:javascript
复制
    apktool d <file.apk> <dir>
代码语言:javascript
复制
 得到所有资源及代码文件。 
这里写图片描述
这里写图片描述

进入smali目录获取到PushActivity.smali中启动个推代码片段:

这里写图片描述
这里写图片描述

3.反编译

使用ApkTool反编译微信apk得到微信资源及smali代码:

这里写图片描述
这里写图片描述

4.定位onCreate方法

查看微信资源AndroidManifext.xml中启动Launcher的Activity为LauncherUI,打开LauncherUI.smali文件并找到onCreate方法:

这里写图片描述
这里写图片描述

在该方法最后加入启动个推smali代码,并将PushActivity改为Launcher所在位置后保存:

这里写图片描述
这里写图片描述

5.加入个推服务

保存个推用到的资源文件到微信目录后修改微信AndroidManifest.xml加入个推服务:

这里写图片描述
这里写图片描述

6.回编apk文件

命令:

代码语言:javascript
复制
apktool b <dir>
代码语言:javascript
复制
使用apk回编命令对微信资源目录进行回编后得到新的微信apk;安装启动后即可由个推服务端对客户端进行Push消息推送。
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年04月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档