تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: خواندن رجيسترهاي Eax , Ecx , ...

  1. #1
    در آغاز فعالیت mohammad_n63's Avatar
    تاريخ عضويت
    Apr 2006
    محل سكونت
    مشهد
    پست ها
    12

    14 خواندن رجيسترهاي Eax , Ecx , ...

    با سلام
    ميخواستم ببينم چطوري ميتونم رجيسترهاي مربوط (ecx , Eax) به يك فايل اجرايي را توسط وي بي بخونيم ؟

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    امکان نداره!
    فقط با خود اسمبلی و ++VC میتوانید مستقیماً رجیستر ها را دستکاری کنید.
    البته میشود در ++VC یک DLL با چند API درست کرد که عمل فوق را انجام دهد و در VB از آن استفاده کرد ولی باز هم فوقش میتوانید رجیسترهای مربوط به ریسمانی که برنامه خودتان در آن اجرا میشود را بخوانید و بلاشک ویندوز اجازه دسترسی به رجیسترهای ریسمانها و برنامه های دیگر را نخواهد داد.

    مطالبی از ان دست برای VB را میتوانید در کتاب "Visual Basic پیشرفته" چاپ کانون نشر علوم و دیگر انتشارات طرف قرار داد پیدا کنید.
    ولی بهتر است الگوریتمتان را اصلاح کنید تا نیازی به این کار نباشد.

  3. #3
    در آغاز فعالیت mohammad_n63's Avatar
    تاريخ عضويت
    Apr 2006
    محل سكونت
    مشهد
    پست ها
    12

    پيش فرض

    سلام
    امکان نداره!
    فقط با خود اسمبلی و ++VC میتوانید مستقیماً رجیستر ها را دستکاری کنید.
    البته میشود در ++VC یک DLL با چند API درست کرد که عمل فوق را انجام دهد و در VB از آن استفاده کرد ولی باز هم فوقش میتوانید رجیسترهای مربوط به ریسمانی که برنامه خودتان در آن اجرا میشود را بخوانید و بلاشک ویندوز اجازه دسترسی به رجیسترهای ریسمانها و برنامه های دیگر را نخواهد داد.

    مطالبی از ان دست برای VB را میتوانید در کتاب "Visual Basic پیشرفته" چاپ کانون نشر علوم و دیگر انتشارات طرف قرار داد پیدا کنید.
    ولی بهتر است الگوریتمتان را اصلاح کنید تا نیازی به این کار نباشد.
    سلام دوست عزيز
    با تشكر از راهنماييتون
    ولي من ميخواهم رجيسترهاي مربوط به برنامه هاي در حال اجراي ديگه رو بخونم ، يعني ديگر امكانش توي وي بي نيست ؟

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ولي من ميخواهم رجيسترهاي مربوط به برنامه هاي در حال اجراي ديگه رو بخونم ، يعني ديگر امكانش توي وي بي نيست ؟
    مگه قبلاً امکانش بوده؟؟؟؟؟؟
    در ویندوز این کار تقریباً غیر ممکن است! ویندوز از حافظه محافظت میکند و شما دسترسی کامل به حافظه ندارید.
    دسترسی به حافظه برای آن مهم است که وقتی کد برنامه شما اجرا میشود رجیسترهای مذکور حاوی اطلاعات برنامه شما هستند و رجیسترهای ریسمانهای دیگر توسط ویندوز در حافظه بلوکه و ذخیره میشوند تا نوبت اجرا مجدداً به انها برسد.
    راه منطقی آن است که برنامه مورد نظر را خودتان با کد دستی و نه توسط ویندوز run کنید که محصول نهایی چیزی شبیه برنامه قدیمی و کوچک Debug.exe میشود که قبلاً تحت داس کار میکرد، درست کردن همچین چیزی هم به گمانم با VB نشود با ++VC هم خیلی سخت خواهد بود.

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

    خود VS2005 هم امکانی مشابه این که شما میخواهید را دارد! و میتواند به یک برنامه در حال اجرا وصل شود ...

    ولی برای انجام این عمل به طور شخصی در برنامه خودتان خیلی مشکل خواهید داشت.

    اصل هدف و کارتان چیست؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •