change(&a);
read_value(&b);
read_value(&a);
}
مشخص کنید کدوم فراخوانی مقدار تغییر کرده توسط
change رو میخونه و چرابه این نکته هم توجه کن که تابع
read_value مقدار رو میخونه اما اون رو برنمیگردونه و در جای دیگهای هم ذخیره نمیکنهنکتهای که باید از این قسمت یادتون بمونه
برای تحلیل جریان داده همیشه لازم نیست دو تابع مستقیما با هم ارتباط داشته باشن
بعضی وقتا یه تابع مقداری رو داخل حافظه تغییر میده و تابع دیگهای که هیچ ارتباط مستقیمی با اون نداره از طریق یه Pointer به همون محل دسترسی پیدا میکنه
در مهندسی معکوس دنبال کردن همین ارتباط های غیرمستقیم میتونه رفتار واقعی برنامه رو مشخص کنه
@reverseengine