Earlier quoted context omitted.
Wireshark,xposed + some creativity and you have your own E2E encrypted solution with OOB keys. For any messenger. It is not done, because there is no demand.
Would it be possible to explain the reasoning of the workflow/toolchain you're suggesting?
you replace Whatsapp.sendMessage(string,Jonny) with WhatsApps.sendMessage(EncryptString(string,Jonny),Jonny)
And EncryptString taps into your keystore to find jonny's key.