ฉันใช้ Frida ผ่านสคริปต์ python บนอุปกรณ์ Android เพื่อเปลี่ยนฟังก์ชันการทำงานของแอปพลิเคชัน ฉันกำลังพยายามเชื่อมต่อฟังก์ชันที่อยู่ภายในฟังก์ชันอื่น แต่ฉันไม่สามารถหาวิธีในการทำเช่นนั้นได้ ฉันให้ส่วนหนึ่งของรหัสที่เกี่ยวข้องซึ่งฉันพยายามจะเชื่อมโยงที่นี่:
public class ClockInActivity extends Activity {
...
public void onCreate(Bundle savedInstanceState) {
...
}
public void btnClockIn(View view) {
...
new AsyncTask<Void, Void, Integer>() {
public java.lang.Integer doInBackground(java.lang.Void... r14) {
...
}
public void onPostExecute(Integer result) {
...
}
}
}
}
(อยู่ไหน...เป็นโค้ดที่ไม่เกี่ยวข้อง)
ฉันต้องการเข้าถึงวิธี onPostExecute ซึ่งอยู่ภายใน btnClockIn
รหัสหลามของฉันตอนนี้เป็นเช่นนี้:
import frida, sys
jscript = """
Java.perform(function() {
console.log("Injection");
var change = Java.use('MyApplicationName.ClockInActivity');
change.btnClockIn.implementation = function()
{
console.log("check");
}
});
"""
process = frida.get_usb_device(1).attach("MyApplicationName")
script1 = process.create_script(jscript)
script1.load()
sys.stdin.read()
เช็คทำงานได้ดี ขอบคุณสำหรับความช่วยเหลือ!