2

I've been trying to patch a certain functionality of a jar file, that's essentially a GUI app. I've tried numerous java agents -as it seems to be the only viable option for java- for such a task, however quite a few limitations arose. Namely:

  • Previously loaded classes don't fire up again during logging (causes plot holes).
  • Specific method calls are often omitted.
  • Real time decompilation is unheard of when it comes this approach, even though it's generally feasible.

I was wondering if there's a better approach -or an alternative that addresses those 'issues'- to go about dynamically analyse java executables, and not just instrumentation; as it seems to be geared more towards debugging during development rather than reverse engineering.

4
  • So your question is a bout temporarily modifying a Java program? Because for a permanent modification it would be easier to directly modify the class files. For temporary modification frida.re should be suitable. Hooking and modifying method arguments and return values should be easier with Frida than using an JavaAgent. Commented Jan 27, 2023 at 14:31
  • @Robert your question is a bout temporarily modifying a Java program? It's more about understanding the obfuscated code, by interacting with certain functionalities at the app itself then simultaneously seeing which specific portions are getting called, and selectively inspect them (that's why i was asking for concurrent deobfuscation to omit this separate inspection stage). should be easier with Frida than using an JavaAgent. Aw. I thought it was only confined to Android. Commented Jan 27, 2023 at 15:33
  • Since Frida 12.10 there is also support for HotSpot JVM (non-Android) frida.re/news/2020/06/29/frida-12-10-released Commented Jan 27, 2023 at 16:14
  • Thanks. Will look into frida as of now, as I've never dealt with it before. Commented Jan 28, 2023 at 11:06

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.