首頁 >運維 >安全 >如何進行APK簡單程式碼注入

如何進行APK簡單程式碼注入

王林
王林轉載
2023-05-14 11:43:062186瀏覽

一、前言

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。

如何進行APK簡單程式碼注入

三、反編譯

1、開啟androimanifest.xml文件,找到activity下的android:name後跟類別。

如何進行APK簡單程式碼注入

2、使用np管理器進行反編譯,取得smail檔。

如何進行APK簡單程式碼注入

檔案內容如上。我們需要找到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後,格式如下:

如何進行APK簡單程式碼注入

插入的是一個完整方法。需要line加上1。同時彈窗是一個元件,需要在前面註冊一下

如何進行APK簡單程式碼注入

將3改成4。改完後整體程式碼

如何進行APK簡單程式碼注入儲存即可。自動編譯簽章。

四、測試結果

編譯,簽章後安裝。

如何進行APK簡單程式碼注入

成功彈跳視窗。

以上是如何進行APK簡單程式碼注入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除