README.md
Rendering markdown...
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;
};
});