نمایش نتایج 1 تا 4 از 4

نام تاپیک: چگونگی شناختن توابع اجرا شده و جلوگیری از آنها

  1. #1

    چگونگی شناختن توابع اجرا شده و جلوگیری از آنها

    سلام
    من میخوام یک برنامه ای بنویسیم که یک نوع برنامه خاص رو مشخص کنیم براش و تمامی توابعی که داره CALL میکنه رو مشخص کنه و در صورت لزوم از اجرا شدن آن ها جلوگیری کنه....

    سوال من اینه که چجوری میتونم اینکارو کنم؟

  2. #2
    کاربر دائمی آواتار shahmohammadi
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    کلیبر
    پست
    475

    نقل قول: چگونگی شناختن توابع اجرا شده و جلوگیری از آنها

    با سلام.
    من که چیزی به ذهنم نمی رسه. اما اینو بگم که یه راه برای جلوگیری تکرار فراخوانی توابع در برنامه، نوشتن الگوریتم به صورت پویا است، اگه در این مورد تحقیق کنید بهتره.
    موفق باشید.

  3. #3
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: چگونگی شناختن توابع اجرا شده و جلوگیری از آنها

    برای هر تابعی که می‌نویسی یه فلگ قرار بده زمان فراخوانی قبل از هر کاری به فلگ مورد نظر یه مقدار مشخص بده و در زمان‌های بعدی چک کن که توابعی که فلگ مورد نظرشون با مقدار خاصی مقدار دهی شده قابل اجرا نباشن یادت نره که باید به صورت استاتیک تعریف شده باشه تا توی فراخوانی‌های جدید دوباره تعریف نشه موفق باشی./

  4. #4

    نقل قول: چگونگی شناختن توابع اجرا شده و جلوگیری از آنها

    تابع ها یعنی چی تابع های تابع های داخلی برنامه یا تابع های API مثل CreateFile و... ؟
    اگه این جوری (یعنی تابع های ویندوز ) می خوای به راحتی می تونی یه سری تابع رو هوک کنی چه با DLL injection و تغییر IAT یا با روش detour

    راه حل کرنل مود تابع های خودت رو تو کرنل هوک کن و توی تابع ID پروسس مورد نظرت رو چک کن ( چون system call ها تو کانتکس پروسسس که فراخوانی کرده اجرا می شه می تونی از PsGetCurrentProcessId استفاده کنی و IPD پروسس مورد نظر رو هم می تونی با IOCTL بفرستی

    من هر دو روش رو انجام دادم اگه سوالی بود همین جا بپرس

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •