4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / hook.js JS
Java.perform(() => {
    const AvtechLib = Java.use("push.lite.avtech.com.AvtechLib");

    // Print the original value of SDK_API_26
    const originalValue = AvtechLib.SDK_API_26.value;
    console.log(`[+] 기존 SDK_API_26 값: ${originalValue}`);

    // Set the value to false: Emulates an environment below Android 8.0 (API level 26)
    AvtechLib.SDK_API_26.value = false;
    console.log(`[+] SDK_API_26 값을 false로 설정함`);

    // Detect attempts to modify the value
    Object.defineProperty(AvtechLib, "SDK_API_26", {
        set: function (val) {
            console.log(`[-] SDK_API_26 값을 ${val}로 변경하려는 시도 감지됨`);
        },
        get: function () {
            return false;
        }
    });

    // Hooking GetHttpsResponse(String)
    AvtechLib.GetHttpsResponse.overload("java.lang.String").implementation = function (url) {
        console.log("[*] GetHttpsResponse 호출됨 (String)"); //GetHttpsResponse (String) Called.
        console.log("URL:", url);
        const result = this.GetHttpsResponse(url);
        console.log("Response:", result);
        return result;
    };

    // Hooking GetHttpsResponse(String, int)
    AvtechLib.GetHttpsResponse.overload("java.lang.String", "int").implementation = function (url, timeout) {
        console.log("[*] GetHttpsResponse 호출됨 (String, int)"); //GetHttpsResponse (String, int) Called.
        console.log("URL:", url);
        console.log("Timeout:", timeout);
        const result = this.GetHttpsResponse(url, timeout);
        console.log("Response:", result);
        return result;
    };
});