apk在未加密的情況下,透過反編譯,得到smail檔。將需要注入的程式碼注入即可。之後封裝、簽名即可!
使用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。改完後整體程式碼
儲存即可。自動編譯簽章。
編譯,簽章後安裝。
成功彈跳視窗。
以上是如何進行APK簡單程式碼注入的詳細內容。更多資訊請關注PHP中文網其他相關文章!