-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap #3
Comments
Using Obfuscation of shaded libraries should work in theory. In practice, attempting to obfuscate the entire shaded obfuscator artifact causes The |
A VerifyError can be produced even if
The issue occurrs due to missing stack map frames which explains why it is not reproducable for e.g. Why |
MethodType
for emulations ofinvokevirtual
,invokeinterface
, andinvokespecial
on the native sidethis
is added as part of the transformation toinvokedynamic
but must be dropped again on thenative side if we are dealing with any of the three instruction types
MethodType.dropParameterTypes(1, 0)
should be usable to achieve thisinvokespecial
when obfuscatingInputType.CLASS
andInputType.JAR
FieldAccessorIdentifier.getName
to compute return value only once; otherwise native code and bytecode will have a method name mismatch due to the randomnessFieldAccessorIdentifier
overall. The current implementation is confusingputfield
/putstatic
field instruction obfuscation offinal
fields within<init>
/static final
fields within<clinit>
<clinit>
is generated when obfuscatingInDyObfuscator.class
Files.copy(arguments.getInput(), arguments.getOutput(), StandardCopyOptions.REPLACE_EXISTING)
can be used as-is without additional checks (what if input and output are the same files?)The text was updated successfully, but these errors were encountered: