浅谈微信smali注入

简介: 作者:郭少雷搞android搞了几年也没搞出个啥牛逼app出来,眼看时下最火的app微信如此火热,实在想搞搞它,索性就想着给它加点东西进去。以下内容纯属本人个人爱好,仅限个人学习android用途以及对android的深入了解。

作者:郭少雷

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

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

首先我们得想一想加点什么东西在微信里面,这里简单做个体验,加一个推送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文件
命令:

    apktool d <file.apk> <dir>
 得到所有资源及代码文件。 

这里写图片描述

进入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文件

命令:

apktool b <dir>
使用apk回编命令对微信资源目录进行回编后得到新的微信apk;安装启动后即可由个推服务端对客户端进行Push消息推送。

这里写图片描述

相关文章
|
小程序 JavaScript
最新微信小程序反编译工具,完美解决分包问题
看了很多反编译、找回微信小程序源码很多教程,各种问题导致都没法正常使用。微信版本升级后,会遇到各种报错, 以及无法获取到wxss分包无法反编译的问题。于是寻找资料,也买过别人的破解工具,最终解决文件缺失和分包问题,而且无意中发现还能获取小游戏的源码,于是和大家分享下。
最新微信小程序反编译工具,完美解决分包问题
|
2月前
|
缓存 Java 数据库
懒得一起加载:@Lazy注解的秘密
懒得一起加载:@Lazy注解的秘密
37 0
|
3月前
|
Java Android开发 C++
2023安卓逆向 -- JNI学习(从开发到反编译)
2023安卓逆向 -- JNI学习(从开发到反编译)
19 0
|
6月前
|
小程序 JavaScript 数据安全/隐私保护
最新微信小程序反编译方法
最新微信小程序反编译方法
174 0
|
12月前
|
消息中间件 JavaScript 小程序
SpringBoot 玩一玩代码混淆,防止反编译代码泄露
SpringBoot 玩一玩代码混淆,防止反编译代码泄露
|
Java 开发工具 Android开发
android 源码下编译可供第三方应用使用的JAR包
android 源码下编译可供第三方应用使用的JAR包
342 0
|
JSON 小程序 程序员
微信小程序 Spdier - OfferShow 反编译逆向(一)
文章目录 微信小程序 Spdier - OfferShow 反编译逆向(一) 前言 一、任务说明 1.尝试反编译分析出js_code参数的生成方式,用来获取token 2.将小程序搜索出来的数据保存至本地excel 二、微信小程序抓包 - 分析 三、wxapkg反编译 - 分析 1.在夜神模拟器获取微信程序员的包 1.1 获取wxapkg的地址 1.2 删除wxapkg文件重新生成 1.3 复制w
1428 0
微信小程序 Spdier - OfferShow 反编译逆向(一)
|
Java 测试技术 程序员
软件测试|解析 apk 基本信息和方法调用
软件测试|解析 apk 基本信息和方法调用
136 0
软件测试|解析 apk 基本信息和方法调用
Springboot 玩一玩代码混淆,防止反编译代码泄露
Springboot 玩一玩代码混淆,防止反编译代码泄露
293 0
Springboot 玩一玩代码混淆,防止反编译代码泄露
|
XML 缓存 Android开发
求知 | Android资源加载的那些事 - 小试牛刀
引言 聊到到 Android 的 资源加载 ,每一个开发同学都会非常熟悉,毕竟 getText() 等, 我们实在用了太多。 那如果此时问你,你知道 它们到底是怎么被加载的,内部会有什么处理吗? 为什么同一个drawable界面更改了透明度,其他界面也会生效?
99 0
求知 | Android资源加载的那些事 - 小试牛刀