freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

APK简单代码注入
2021-02-22 23:42:06

一、前言

apk在未加密的情况下,通过反编译,得到smail文件。将需要注入的代码注入即可。之后封装、签名即可!

二、制作apk

使用android studio生成一个简单的apk。使用默认代码即可。

package com.example.myapplication1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

生成apk 后,运行apk。

三、反编译

1、打开androimanifest.xml文件,找到activity下的android:name后跟类。

2、使用np管理器进行反编译,获取smail文件。

文件内容如上。我们需要找到onCreate函数,该函数是创建页面所调用的一个函数。那么我们在return-void前,将我们所要注入的代码贴上即可。注入代码为一个弹窗提示。提示词为test。它的smail代码为

const-string v0, "test"
const/4 v1, 0x0
invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V

填写到smail后,格式如下:

插入的是一个完整方法。需要line加上1。同时弹窗是一个组件,需要在前面注册一下

将3改成4。改完后整体代码

保存即可。自动编译签名。

四、测试结果

编译,签名后安装。

成功弹窗。

# app安全 # App合规
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录