Re: Пошук значення в динамічній пам'яті
Артмани чомусь не знайшов мого константного імені. А от CHEAT ENGINE нормально знаходить.. буду з ним працювати тоді.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Інше → Пошук значення в динамічній пам'яті
Для відправлення відповіді ви повинні увійти або зареєструватися
Артмани чомусь не знайшов мого константного імені. А от CHEAT ENGINE нормально знаходить.. буду з ним працювати тоді.
Так, пройдіться по CheatEngine т’ютору.
Ну окей. Я щось трохи заплутався, тому покажу пошагово, що я роблю, а ви кажіть, що не так і що робити далі.
Запускаю гру. Запускаю CE. Шукаю свій нік в пам'яті гри. Знаходжу 20 штук
Беру першу адресу та шукаю покажчики на неї використовуючи такі от параметри
Знаходжу цілу купу тих поінтерів
Далі я зберігаю ті поінтери, адреса котрих знаходиться в межах гри, ну в мене це Client.bin
Назбиралось їх багацько
Далі я перезапускаю гру. Знову завантажую її пам'ять в програму, при цьому адреси покажчиків зберігаються, бачу таку картинку.
Після цього я знову шукаю свій нік в пам'яті, та перевіряю, чи збігається значення якогось покажчика, хоч з якоюсь адресою, котра має мій нік. але не знаходжу такого. Хоча деякі адреси досить схожі на значення покажчиків, як, наприклад, ось такі
адреса значення == 02809E48, значення покажчика == 02809EA8, при цьому адреса покажчика == 02809E60.
Що мені робити далі?
Дивитись на прилеглі значення до життя. Тобто ви маєте вийти на ім’я.
Так, або вказівник на вказівник на ім’я
Так, або вказівник на вказівник на ім’я
чуєте, то вказівник має вказувати на точне положення значення ім'я? просто я ж таких не знайшов, то може це відразу треба шукати вказівники на вказівники?
скоріш за все. Дивіться як буває:
name -> [struct std::string]
[pointer to buffer] -> buffer of zero-terminate string name
[length of buffer]
[length of string]
скоріш за все. Дивіться як буває:
name -> [struct std::string] [pointer to buffer] -> buffer of zero-terminate string name [length of buffer] [length of string]
так там така фігня. Спочатку я знаходжу 100 адрес зі значенням. Яку з них обрати- хз. Обираю яку небудь. Потім шукаю поінтери на цю адресу. Знаходжу 100 поінтерів. А далі на який поінтер мені поінтери шукати? І що буде, якщо і тих буде 100 штук?
А я кажу - зайдіть зі сторони показників життя і спробуйте натрапити на ім’я. Класи це структури, шукайте-будь-які значення, про призначення яких ви здогадуєтеся.
А я кажу - зайдіть зі сторони показників життя і спробуйте натрапити на ім’я. Класи це структури, шукайте-будь-які значення, про призначення яких ви здогадуєтеся.
Давайте розберемо вами написане. Складається таке враження, що спочатку я маю знайти той самий покажчик на життя. Але ви б такого не написали. Ви хочете сказати, що я маю переглядати області навколо кожного покажчика, котрий вказує на життя, і дивитись, чи не вказує він на ім'я? І так для кожного покажчика кожного рівня?
Я вважаю, що шукати вказівник на життя зайве, оскільки такі значення зазвичай зберігаються прямо у структурах. В цій же структурі має бути і вказівник на ім’я. Так ясно? Нащо городити компілеру зайвий покажчик, коли значення можна прямо зберегти у структурі?
Я вважаю, що шукати вказівник на життя зайве
зайдіть зі сторони показників життя і спробуйте натрапити на ім’я
я вас не розумію
показників життя
тьху, не так висловився - значення життя
я по одному відиво робив
але в мене виникли певні складнощі, я наче знайшов аж 6 рівнів покажчиків, а там вони зациклювались.
Для відправлення відповіді ви повинні увійти або зареєструватися