У меня есть программа android, которая была запутана. И в этой программе классы имеют атрибуты с одинаковыми именами. Декомпилированный код, подобный этому
public class d implements c
{
public int a;
public Cache$Entry a;
public Cache a;
public volatile a a;
public e a;
public ByteArrayOutputStream a;
public volatile AtomicBoolean a;
или код smali, подобный этому
# interfaces
.implements Le/a/x/c;
# instance fields
.field public a:I
.field public a:Lanetwork/channel/cache/Cache$Entry;
.field public a:Lanetwork/channel/cache/Cache;
.field public volatile a:Ld/a/w/a;
.field public a:Le/a/x/e;
.field public a:Ljava/io/ByteArrayOutputStream;
.field public volatile a:Ljava/util/concurrent/atomic/AtomicBoolean;
Я создаю ловушку для одного метода asd (), и мне нужен доступ к атрибуту «a» этого класса , Но мне нужен атрибут "a" с типом "eaxe"
Java.perform(function () {
var var_ddd = Java.use("e.a.x.d");
var_ddd.asd.implementation = function() {
this.asd();
console.log("e.a.x.d.asd()",Java.cast(this.a.value,Java.use("e.a.x.e")));
};
});
Когда я пытаюсь написать this.a.value - я получаю неправильный атрибут. Когда я пишу Java .cast (this.a.value, Java .use ("eaxe")), я получаю сообщение
TypeError: cannot read property 'hasOwnProperty' of undefined
Пожалуйста, скажите мне, как получить правильный атрибут с правильным тип