一、前言
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。改完后整體代碼
保存即可。自動編譯簽名。
四、測試結果
編譯,簽名后安裝。
成功彈窗。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END