پیدا کردن آدرس و خواندن یک متغیر در حافظه ی یک پروسس در سی شارپ
من می خواهم به یه سری اطلاعات داخل مموری یک نرم افزار دسترسی پیدا کنم و اطلاعات اون برنامه را بخونم و در داخل برنامه خودم بیاورم. منظورم خوندن دیتا بیس نیست. در عمل می خواهم یه پلاگین یا API برای یک برنامه بنویسم که مقدار زیادی از کارهایی که کاربر باید انجام دهد را خود کار کند. برنامه ی اصلی یه برنامه تجاری که خودش یک API داره اما این API ناقصه و اطلاعات کاملی از مقادیر پردازش شده نمی ده و من می خوام با سی شارپ به مموری پروسس این نرم افزار وصل بشم و اون اطلاعاتی که API خود برنامه به من نمیده را خودم از رم بخونم و بگیرم. مشکلم اینه که دقیق نمی دونم چنین پروسه ای چه طور انجام میشه و چه کتاب خونه هایی نیازه؟ ایا به سمت سیستم Automation برم؟
1 پاسخ
این کاری که میخواهید انجام بدید خیلی پیچیده است و نیاز به دانش برنامه نویسی سیستمی مربوط به سیستم عاملی داره که باهاش کار میکنی. اما تابع مورد نظر تو میتونی از لیست export table فرمت فایل مربوطه که حدس میزنم PE باشه پیدا کنی و در نهایت با هوک کردن اون تابع میتونی خروجی و بگیری. برای اینکار هم باید یک dll بنویسی و اونو در فضای پروسس مربوطه تزریق کنی..