Я принимаю участие в задании по обратному инжинирингу в Java, так как я хотел узнать больше о запутывании за пределами .NET land.
У меня есть некоторый деобфусцированный исходный код, и моя цель состоит в том, чтобы отделить наворот от реального кода в большом приложении и ответить на ряд вопросов о приложении.
Я не знаком с Java, и мне интересно, возможно ли для этого метода генерировать исключение времени выполнения во время выполнения. Я не могу представить, что весь метод состоит в том, чтобы просто присвоить что-либо значение null, но я не смог найти что-либо об этом в Интернете, чтобы подтвердить то или иное.
public static void SomeMethod() {
try {
someObject_1 = null;
someObject_2 = null;
someObjectArray1 = null;
intArray1 = null;
shortArray1 = null;
//...etc
} catch (RuntimeException runtimeexception) {
// Attempt at hiding stack traces when I break things I assume
// These are littered everywhere, with a unique identifier
// and arguments in the parentheses if method has args
//
throw SomeClass_SubClass_SubClass.someExceptionFactory(runtimeexception, "f.C()");
}
}
Где someExceptionFactory
переносит выброшенное исключение в класс, расширяющий RuntimeException
.