2.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Java.perform(() => {
  2. Java.choose("com.example.mysmsapp.MainActivity", {
  3. onMatch: function (instance) {
  4. console.log("Found instance of MainActivity")
  5. var Intent = Java.use("android.content.Intent")
  6. var Long = Java.use("java.lang.Long")
  7. var Byte = Java.use("java.lang.Byte")
  8. var byte = Java.use("[B")
  9. var Integer = Java.use("java.lang.Integer")
  10. var intent = Intent.$new("android.provider.Telephony.SMS_DELIVER")
  11. intent.putExtra("android.telephony.extra.SUBSCRIPTION_INDEX", 1)
  12. intent.putExtra(
  13. "messageId",
  14. Long.valueOf(parseInt(Math.random() * 100000000).toString())
  15. )
  16. intent.putExtra("format", "3gpp")
  17. intent.putExtra("android.telephony.extra.SLOT_INDEX", 1)
  18. var pdu0 = Java.array(
  19. "byte",
  20. [
  21. 6, -127, 0, 0, 0, 0, 0, 4, 11, -127, 81, 112, -121, 104,
  22. 113, -15, 0, 0, -114, 64, 32, -48, -30, 51, 2, 4, -12, -14,
  23. -100, 14
  24. ]
  25. )
  26. console.log("pdu0", pdu0.toString())
  27. var pdus = Java.array("java.lang.Object", [null])
  28. pdus[0] = pdu0
  29. console.log("pdus", JSON.stringify(pdus))
  30. var putSerializable = Intent.putExtra.overload(
  31. "java.lang.String",
  32. "java.io.Serializable"
  33. )
  34. putSerializable.call(intent, "pdus", Java.cast(pdus, Java.use('java.io.Serializable')))
  35. intent.putExtra("phone", 1)
  36. intent.putExtra("subscription", 1)
  37. // var context = instance.getApplicationContext()
  38. var Receiver = Java.use("com.example.mysmsapp.SmsReceiver")
  39. var onReceiveMethod = Receiver.onReceive
  40. var receiverInstance = Receiver.$new()
  41. var context = Java.use("android.app.ActivityThread")
  42. .currentApplication()
  43. .getApplicationContext()
  44. onReceiveMethod.call(receiverInstance, context, intent)
  45. },
  46. onComplete: function () {
  47. console.log("Completed")
  48. }
  49. })
  50. })