// 043001RC00 class Log { static TAG = '[SMS]' static Debug = true static format(...msg) { let m = [] for (let i = 0; i < msg.length; i++) { if (typeof msg[i] === 'object') { m.push(JSON.stringify(msg[i])) } else { m.push(msg[i]) } } m = m.join(' ') return m } static i(...msg) { if (!this.Debug) return console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`) } static w(...msg) { console.log(`\x1b[33m${this.TAG} ${this.format(...msg)}\x1b[0m`) } static e(...msg) { console.log(`\x1b[31m${this.TAG} ${this.format(...msg)}\x1b[0m`) } static s(...msg) { console.log(`\x1b[32m${this.TAG} ${this.format(...msg)}\x1b[0m`) } } function trace(tag) { Log.e((tag || '') + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Throwable').$new())) } setImmediate(() => { Java.perform(function () { const agay = Java.use('agay') agay.q.overload('boolean').implementation = function (z) { trace('agay.q(boolean)') this.q(z) } const bwlc = Java.use('bwlc') bwlc.r.overload('java.lang.Object', 'java.util.List').implementation = function (obj, list) { trace('bwlc.r(Object, List)') console.log('obj:', obj) console.log('list:', list) for (let i = 0; i < list.size(); i++) { console.log(list.get(i)) } const bwsxVar = Java.cast(this.T.value.b(), Java.use('bwsx')) console.log(bwsxVar) bwsxVar.a(3) const bnfu = Java.use('bnfu') this.m(bnfu.b(2)) return this.r(obj, list) } }) }, 0)