۱. هوک کردن ساده (تغییر خروجی متد)
رایجترین سناریو، دور زدن چکهای امنیتی ساده است. مثلا متدی که بررسی میکند آیا کاربر ادمین است یا خیر.
سناریو: دور زدن بررسی ادمین
کد جاوا (اپلیکیشن هدف):
java
package com.example.app
public class Utils {
/* این متد بررسی میکند آیا کاربر دسترسی ادمین دارد یا خیر */
public boolean isAdmin() {
return false // به صورت پیشفرض دسترسی ندارد
}
}کد فریدا (Exploit):
javascript
Java.perform(function () {
/* 1. گرفتن ارجاع به کلاس */
var Utils = Java.use("com.example.app.Utils")
/* 2. بازنویسی پیادهسازی متد isAdmin */
Utils.isAdmin.implementation = function () {
console.log("[+] isAdmin hook triggered!")
/* 3. تغییر مقدار بازگشتی به true */
return true
}
})نکته مهم
زمانی که یک متد را بازنویسی میکنید، کد اصلی دیگر اجرا نمیشود مگر اینکه خودتان صریحا آن را فراخوانی کنید.