نقل قول: کد که با زبان سی نوشته شده مشکلی نداره، حالا تو سی شارپ دیگه من نمیدونم
بهتره بگی هدفت چیه؟
میخوای چیکار کنی ؟
راستش هدفم نوشتن پلاگین برای یک نرم افزار دیگه هست به این صورت که اون نرم افزار توابع API داره و در اختیار برنامه نویس گذاشته تا بشه توسعه داد و قابلیت هایی رو بهش اضافه کرد ولی این توابع API ناقص هستش و تمام مواردی که من میخوام رو خروجی نمیده حالا من باید اطلاعات مورد نظرم رو از حافظه RAM ی که در اختیار اون برنامه هست خودم برداشت کنم و در صورت لزوم تغییر بدم
با کلی سر و کله زدن تونستم یه کارایی به این صورت بکنم:
با برنامه OllyDBG اون برنامه رو باز کردم و عبارت متنی که مورد نظرم بود رو باهاش سرچ کردم و آدرس حافظه رو برداشت کردم بعد از طریق ویژوال بیسیک و کد نویسی و توابع read_process_memory و write_process_memory مقدارش رو تغییر دادم بعد مقدارش تو نرم نرم افزار هم تغییر پیدا کرد . . .
البته هنوز مشکل زیاد دارم ولی فعلا مشکل اصلیم سرچ کردن عبارت مورد نظر در حافظه و گرفتن آدرسش هستش تا بتونم مقادیرش رو تغییر بدم یا بخونم
البته در کد بالا
کد:
Public maximumApplicationAddress As IntPtr
رو به عبارت
کد:
Public maximumApplicationAddress As UIntPtr
این مشکل که کار نمیکرد حل شد و داخل فایل متنی یه خروجی هایی میداد ولی تفسیر خروجی ها رو بلد نفهمیدم چی بود و اساسا چه موضوعی در زمینه نرم افزار رو باید مطالعه کنم تا بتونم تفسیرش کنم