如何進行APK簡單代碼注入

一、前言

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簡單代碼注入

成功彈窗。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享