크게 분석할 것은 없음. MainActivity 내 chall03()이 public 메소드로 정의되어 있고, onCreate 내 onClick에서 바로 호출함

※ 이제부터 파이썬과 자바스크립트 파일을 별도로 분리
public 메소드이므로 Java.use, Java.choose 두 가지 함수로 호출 가능한데, 어떠한 방식으로든 chall03의 implementation을 수정하여 무조건 true 를 반환하도록 하면 됨
Java.perform(function () {
    // 1
    var challenge_01 = Java.use('uk.rossmarks.fridalab.challenge_01');
    challenge_01.getChall01Int.implementation = function () {
        send('challenge_01::getChall01Int called');
        var result = this.getChall01Int();
        send('myMethod returned: ' + result);
        send('modified result: 1');
        return 1; // Or challenge_01.chall01.value = 1
    };
    // 2, 3
    Java.choose('uk.rossmarks.fridalab.MainActivity', {
        onMatch: function (instance) {
            send('Found instance: ' + instance);
            // 2
            send('call MainActivity::chall02');
            instance.chall02();
            // 3
            // instance.chall03.implementation = function () {
            //     send('call MainActivity::chall03');
            //     var result = instance.chall03();
            //     send('chall03 returned: ' + result);
            //     send('modified result: true');
            //     return true;
            // }
        },
        onComplete: function () { }
    });
    // 3
    var MainActivity = Java.use('uk.rossmarks.fridalab.MainActivity');
    MainActivity.chall03.implementation = function () {
        send('call MainActivity::chall03');
        var result = this.chall03();
        send('chall03 returned: ' + result);
        send('modified result: true');
        return true;
    };
});

