آیا می توان نام توابع استفاده شده در یک فایل اجرایی ساخته شده با c را استخراج کرد؟
آیا می توان نام توابع استفاده شده در یک فایل اجرایی ساخته شده با c را استخراج کرد؟
آخرین ویرایش به وسیله Desaghi : جمعه 12 تیر 1394 در 10:04 صبح
سلام
برای ویندوز برنامه ای به نام dependency walker که رایگان هم هست می تونه import table و بعضی اطلاعات دیگه فایل pe را نشون بده
اگه میخوای برنامه ای بنویسی که این کارو بکنه آره باید Import Table رو بخونی . این لینکو ببین
اگه دنبال برنامه ای که دوستمون یه نمونه معرفی کرد منم PE Explorer رو پیشنهاد میکنم ولی توجه کنید این برنامه به صورت استاتیک کار میکنن و ممکنه برنامه مورد نظرت به صورت داینامیک API Call انجام بده در این صورت باید از Sandbox استفاده کنی مثلا cuckoo sandbox یا نمونه ملی میهنی jevereg.
Everything that has a beginning has an end. ... The End?
اینکه نام توابع قابل ردیابی هست از لحاظ امنیت مشکل ایجاد نمیکنه؟ آیا نام توابع قابل پنهان سازی هست؟
توجه داشته باشین که فقط توابعی قابل مشاهده هستن (چه داینامیک چه استاتیک) که از DLL ها Import شدن و نه توابع داخلی برنامه شما!
در مورد خطر هم تقریبا نه چون توابع بدون داشتن اطلاعات دقیق مثل Return Typeو Argument ها تقریبا استفاده ای ندارن! و این اطلاعات هم در صورت کلی فقط برای توابع API خود Windows موجوده که میشه مشخصات مذکور رو از MSDN یا windows debug symbols در آورد.
ولی مثلا اگه شما یه کتابخونه بنویسی و از توابع اون استفاده کنی فقط اسم توابع هست که استفاده ای نداره (به شرطی Debug infoاون فایل اجرایی موجود نباشه) مگر اینکه نام گذاری انقدر با معنا باشه که بشه رفتار کلی اون برنامه رو حدس زد!
در مورد امنیت هم تالار امنیت پذیرا و پاسخ گویی شما هست٬ ارتباطی با این بخش نداره!
Everything that has a beginning has an end. ... The End?