0

I am currently doing research on techniques for runtime manipulation on mobile applications. On the iOS platform I can easily do method swizzling by calling objective-c runtime library functions such as class_replaceMethod(...). Is an equivalent way possible on Android?

If I use the JDB, I can alter local variables and I can evaluate expressions. By means of the latter, I assume it is possible to change entire implementation bodies of methods. How would you exactly do this, e.g. with using reflections? What are the required steps?

Thanks in advance!

Phoebus
  • 311
  • 2
  • 17
  • Take look at [this](http://stackoverflow.com/a/9260228/6950238) answer. – Andrii Omelchenko Oct 24 '16 at 19:23
  • Thank you for the link. So it is basically not possible with reflection to change the entire implementation of a method. Are there any other ways how i could achieve this? – Phoebus Oct 25 '16 at 16:19
  • "to change entire implementation bodies of methods" - why not use OOP and just override methods? – Andrii Omelchenko Oct 25 '16 at 16:38
  • I am an security intern and currently exploring techniques how to manipulate runtime behavior of other applications. That's why I want to replace the implementation without changing the actual code of the APK file. A goal is among others, to local bypass login mechanisms by this way. – Phoebus Oct 25 '16 at 21:56
  • 2
    In this case may be [this](http://shadowwhowalks.blogspot.ru/2013/01/android-hacking-hooking-system.html) will be interesting for You. – Andrii Omelchenko Oct 26 '16 at 07:45

0 Answers0