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

نام تاپیک: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

  1. #1

    Question چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

    مثلا ما یه خانه حافظه پیدا کردیم که مربوط به پول در یکی از بازی هاست.چطوری میتونیم یه برنامه ای بنویسیم که با استفاده از اون بشه یه عددی رو با تکست باکس دریافت و تو خانه حافظه تو رم قرار بدیم.یا همون ترینر بسازیم؟

  2. #2

    نقل قول: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

    برای کار با اشاره گرها توی VB6 ابزار لازم رو نداریم. ولی میتونیم این قضیه رو دور بزنیم!

    مرحله اول) بدست آوردن اشاره گر یه متغیر: این مرحله سادست! از توابع زیر استفاده می کنیم:

    Dim pointer As Long
    pointer = VarPtr(a_variable) ' Get Address Of Standard Types
    pointer = StrPtr(a_string) ' Get Address Of A String
    pointer = VarPtrArray(an_array) ' Get Address Of An Array
    pointer = ObjPtr(an_object) ' Get Address Of An Object

    حالا pointer یه اشاره گره که میتونیم باهاش توی RAM قدم بزنیم!

    مرحله دوم) بدست آوردن مقدار یه خونه حافظه: این مرحله یکم پیچیده تره ولی بازم سادست.
    اول این تابع API رو وارد میکنیم:

    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, source As Any, ByVal length as Long)

    این تابع دو تا اشاره گر و یه طول از ما میگیره، از اشاره گر اول به مقدار طول مورد نظر (برحسب Byte) توی اشاره گر دوم کپی می کنه...

    مثال: میخوام مقدار 1234 رو بریزیم به عنوان مقدار یک اشاره گر:

    Dim i As Integer

    Dim pI As Long
    pI = VarPtr(i)

    CopyMemory ByVal pI, 1234, 2

    MsgBox i

    میبینیم که مقدار i به 1234 عوض شده!!

    مثال: میخوایم مقدار یه اشاره گر رو بدست بیاریم:

    Dim i As Integer, j As Integer
    i = 4321

    Dim pI As Long, pJ As Long
    pI = VarPtr(i)
    pJ = VarPtr(j)

    CopyMemory ByVal pJ, ByVal pI, 2

    MsgBox j

    میبینیم که مقدار j عوض شده!!

    به طول انواع داده در VB6 و کاربرد ByValها توی فراخوانی CopyMemory دقت کنین.

    با اینحال پبشنهاد میکنم برای اینکار از زبان های قوی تری مثل ++C یا حداقل #C استفاده کنین.

    موفق باشید.
    آخرین ویرایش به وسیله محمد فدوی : یک شنبه 22 دی 1392 در 16:49 عصر
    اگر به بهداشت و سلامت حیوانات علاقه دارید، از vetMD.ir دیدن کنید.
    وبلاگ شخصی من: fadavi.net

    اینجا کمتر سر می‌زنم. (تلگرام من)

  3. #3

    نقل قول: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

    خیلی خیلی ازتون متشکرم.اما من فقط زبان VB رو بلدم.چون کلاً همه چی رو از اینترنت درباره VB یاد گرفتم زیاد از زبان های قدرتمند تر سر در نمیارم...
    ولی با این حال بازم ممنون.

  4. #4

    نقل قول: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

    نمیدونم چرا بازم اینکارو نمیکنه.تموم آموزشتون رو خوندم و دقیقاً کد هاش رو کپی کردم ولی بازم کار نکرد.
    مثلاً من میخوام عدد 10000000 رو تو آدرس 00B7CE54(آدرس پول تو بازی) بزارم.کد های پایین رو تو یه کمند باتون مینویسم و اجرا میکنم اما بازم کار نمیکنه.مقدار همون قبلیه است.نمیدونم شاید من منظورم رو اشتباه نوشتم.همون کاری رو که ما تو نرم افزار های Cheat Engine و Art Money انجام میدیم رو میخوام تو VB انجام بدم.یعنی با داشتن آدرس تو رم بتونم مقدارش رو عوض کنم.

    Dim pI As Long

    (pI = VarPtr(&HB7CE54

    CopyMemory ByVal pI, 10000000, 2

  5. #5

    نقل قول: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)

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

  6. #6

    نقل قول: چگونه میشه مقدار یه خانه حافظه تو رم رو عوض کرد؟(ساخت ترینر)


تاپیک های مشابه

  1. سوال: آیا میشه مقدار session ها رو در زمان اجرا چک کرد؟!
    نوشته شده توسط fahmari در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: جمعه 29 دی 1391, 22:39 عصر
  2. سوال: چگونه میشه از طریق تلفن ثابت اس ام اس ارسال کرد؟
    نوشته شده توسط ZerOne در بخش C#‎‎
    پاسخ: 18
    آخرین پست: یک شنبه 23 بهمن 1390, 08:27 صبح
  3. چطور میشه مقدار یک سلول رو از یک listview بازخوانی کرد؟
    نوشته شده توسط mastermehdi1 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: پنج شنبه 22 مهر 1389, 15:05 عصر
  4. چگونه میشه یه فرم رو به سمت راست صفحه dock کرد؟
    نوشته شده توسط white fox در بخش VB.NET
    پاسخ: 6
    آخرین پست: چهارشنبه 06 شهریور 1387, 09:47 صبح
  5. چطوری میشه فایل های اصلی ویندوز اکس پی رو عوض کرد؟
    نوشته شده توسط hex161 در بخش برنامه نویسی در 6 VB
    پاسخ: 14
    آخرین پست: شنبه 03 اردیبهشت 1384, 23:01 عصر

برچسب های این تاپیک

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

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