skylot / jadx

Dex to Java decompiler
Apache License 2.0
41.96k stars 4.9k forks source link

feat: create hooking code for all internal methods in the class #2328

Closed RuffaloLavoisier closed 1 month ago

RuffaloLavoisier commented 1 month ago

Description

When writing hooking codes for a class, write hooking codes for all internal methods for the class.

hook_m

jpstotz commented 1 month ago

If you want to hook all methods of a class I would recommend to use frida-trace instead of frida. There you can select classes and methods by pattern (wildcard).

RuffaloLavoisier commented 1 month ago

@jpstotz Hi there 😄 IMHO - It would be great if this feature could be added to JADX. For beginners, it would make writing hooking code quick and easy. Also, the current code snippet for the class simply returns the name in a JavaScript-like format, rather than actually hooking the class, which makes it less meaningful for writing hooking code.

skylot commented 1 month ago

If you want to hook all methods of a class I would recommend to use frida-trace

I agree with @jpstotz here, also class can have lots of methods, so hooking all of them will spam a lot of messages in logs. But as long as current method snippets already includes class hook, class snippet become useless. So, I think, it is fine to make it more useful. And in case you need several methods, removing is easier rather than copy snippet for each method :smile: